Blacklane developer journeys: Philipp – Backend Developer

This month, we’d like to introduce you to Philipp. Philipp is a backend developer and leads one of the software engineering teams at Blacklane. He joined Blacklane in May 2014.

Where are you from, and what is your minimum viable autobiography?

I was born, raised, and spoiled in Berlin. Just-finished-school-Philipp was mostly interested in chemistry and computer science, so I applied for both of them all around Germany. In the end, I accepted an offer at dm (a German drugstore chain) in Karlsruhe, where I was able to pursue a degree in CS while working — how decent. The next four years in university, I learned a few things about myself:

  • I can see myself solving problems with computers for the next few years (hopefully without getting bored).
  • I don’t enjoy working in big corporations (which dm is).
  • I absolutely hate exams and writing academic papers (which studying is partially about).
  • I can’t live in a city where people’s carotids explode when you open a beer on public transportation (which Karlsruhe is).

Taking into consideration the bullet points above, mixed with an interesting family situation at that time, and voilà: after fighting with the last pages of my — at that point in time — “behated” thesis, I ultimately decided to give up my studies and move back to Berlin. Shortly after that, I started working at Blacklane.

When did you realize you wanted to write code for a living?

There definitely was no particular point in time when I looked myself in the mirror and said, “You are going to become a programmer one day!” — it just happened. My initial interest was born when I was 13 years old and played a weird browser game. At some point, I just wanted to understand how all of this works: the internet, how to program a website, how to make a button do things when you click on it, and how on earth can computers just “restart”? I mean how can they power themselves on again after being completely turned off and cut off from any electricity?

I got a PHP programming book for Christmas shortly after that, which opened up a completely new world to me! I can make the computer do all these things for me just by typing in code? Sweeeeet.

I started to notice that I really enjoy the mix of logical problem solving and creativity that coding brings to the table. After finishing school, I found it very straightforward to move further in that direction. Developers were in need, and I enjoyed programming.

Why does programming require creativity? Do you think the creative aspects of programming are underappreciated?

Solving problems is creative. If I asked you, what is the radius of a circle, there are probably four different ways to get to the solution. You have to put your thoughts into code, something that computers understand, because there are many different ways to tell a computer how to solve a problem. There are different languages, technologies, and frameworks, but even in the same programming language, if you asked ten different developers to make a calculator for you, you’d probably get ten different solutions. And depending on where you want to go with this calculator, what its scope is, all of these solutions might have their upsides and downsides. Some may be easily extendable, some not. All of these thoughts go into the problem solving process, and this is why I think coding is creative.

What brought you to Blacklane?

This tweet! At the end of my studies, I already knew that I wanted to make the switch from .NET-programming to Ruby, as I enjoyed programming in the latter language so much more. Ruby is also more popular in startups and younger companies, which complimented my wish to not work in bigger corporations anymore.

I figured that “just quit my CS degree, have never worked in Ruby before, please give me a job” most likely wouldn’t fly in interviews, so I decided to create a website in Ruby on Rails so I would at least have something in Ruby to put on my CV. I also had no idea what the expected skill level was to start working as a full-time junior Ruby developer and therefore decided to simply publish the source code, thus being as transparent as possible about my skills instead of trying to smart-ass my way through interviews.

In the end, a former developer at Blacklane responded to my tweet and invited me to an interview at our previous office in Kreuzberg. I guess the interview went well, because I got hired as a junior developer!

As a developer, how do you feel about living and working in Berlin?

Having lived in Berlin for the majority of my life, I might be biased. Except for four years in Karlsruhe, I think I’m missing the experience to be able to compare Berlin to other cities.

Personally, I love living and working in Berlin. Besides having my friends and family close to me, the anonymity and opportunities are what I value most, I think. In terms of job opportunities for developers, Berlin feels endless to me. I’m not as involved in all the meetups and conferences happening throughout the year, though, as I tend to prefer spending my free time on non-computer things lately, but there seems to be a meetup for every kink.

What kinds of non-computer things?

Definitely sports. I need to balance sitting in the office all day with something else. At work, I’m thinking all the time about the problems I need to solve and the work I have to do, but when I’m doing something athletic, it’s one of the few times when I can free myself from not thinking. And meditating, recently. So those definitely help. I go bouldering, cycling. I play volleyball. I run. Sometimes I swim, but not often. I think I am the kind of person who has a natural curiosity about anything and everything.

I also enjoy spending time with friends not doing computer problems. It’s not that I don’t have the energy for coding after work anymore, but I feel that other things have a higher priority. Maybe, the older you get, the more that other things become more important to you than work. The more you value other things in life: family, friends, sports, your physical and psychological well-being. All of these things need to be balanced.

Why do you enjoy staring at a screen for hours and hours every day, manipulating symbols that tell a machine what to do?

Well, it’s definitely easier arguing with a computer than with other people, so there’s that. On a more serious note: the way you phrased the question suddenly makes my job sound very dull, but I genuinely think it isn’t! Just in the domain of Blacklane, there are so many problems to solve with computers and by staring at a screen for hours, it’s great! Being at Blacklane for 4.5 years now, I’ve worked on a variety of topics that are (sometimes more, sometimes less) challenging and fulfilling.

Exhibit 1: Imagine you operate in a city that observes daylight savings time (which means every year the clock is turned back one hour at night). Now imagine you are responsible for the booking platform of your business, and a customer books a ride on that particular night at 2:30 am. How can we know whether the customer wants to be picked up before the clock is turned back from 3 am to 2 am or after? (You’ll eventually realize that daylight savings time is idiotic and participate in the vote of the European Union to get rid of it altogether).

Exhibit 2: We track the routes of our rides via GPS for many thousands of rides each year, which accumulates quite a lot of data that needs to be stored efficiently. You would like to reduce the number of data points per stored route while preserving as much information about the original route as possible. Which data points do you remove? Isn’t that an interesting problem to solve! (Hint.)

These were just two issues I could think of on the spot, I’m sure there are many more. So having a natural interest and curiosity to understand how the world around you works helps quite a bit, I think.

So is it the problem solving itself that you enjoy? Working with specific technologies? Or do you like applying your computer science knowledge to real world business needs?

What personally drives me is the general notion of trying to understand how the world around me works. But solving problems that were previously unknown to me is the very essence of understanding the world. I can read a book that explains it to me, or I can figure it out on my own. Both ways have advantages and disadvantages, but I prefer figuring things out on my own from time to time.

Additionally, I also have this amazement, “Wow, someone built transistors out of silicon and put these things on a very tiny chip nanometers away from each other, and they are solving all these problems for us. I have amazement for this technology, for the level we are on in the 21st century. I had the same feeling when SpaceX landed their first spacecraft, I was just amazed by the very fact that there is this 70m rocket that is able to go into orbit and then come back.

How do you find working on a team versus working alone?

Both have their places. Working alone is like being home alone. You don’t need to be considerate of others, and you can do whatever you want. That’s cool until you become lonely, or you hit a problem you can’t solve on your own. I’ve experienced both already, that’s why I prefer working on a team nowadays, I think. I see the value that comes from having different people with different backgrounds on the table, even if that sometimes means you need to have lengthy discussions and meetings.

Do you have any favorite languages, technologies, or frameworks? What do you like about them? Are there any that you secretly despise?

I am always a little defensive about this kind of question. Most of the work I have done on the backend is with Ruby, so I am biased based on what I use, what I’m good at, and what kinds of problems I am trying to solve. Having said that, of course I still have preferences, and I see new things that interest me. I guess I’m most qualified to talk about Ruby, and I love how Ruby reads. When you show someone Ruby code, the syntax isn’t confusing to them. Some good Ruby code almost reads like prose. This I like, it makes it very accessible even to non-techies.

In terms of the technology, there are definitely some things Ruby needs to get better at, like concurrency and separating state from functionality, which is something functional programming does, so I have dipped my toes into functional languages such as Elixir and found that some things are easier than what I am used to. But my opinions are narrowly based on my experience. There are many software engineers who have tried more languages than I have.

What are you looking for in a company when you’re considering a job? What is most important to you, and what is least important?

The way I found Blacklane was quite random, so this is something that I wasn’t really aware of when I was looking for a job, the things that I find important. I wasn’t consciously thinking that I need to find a company with “these values” when I was looking for a job. I was too young, too naïve, and maybe too desperate. It mostly happened by accident. But I have also noticed that the company where I was when I was studying computer science was a great company, too, but that was also a coincidence.

Sometimes, I feel that people try to nail something in the first go, they want to find the perfect company, but even if it’s not the perfect company, things will just work out. I found great colleagues. I found challenging work. These are all things I learned to appreciate while I was working at Blacklane.

Coming back to the question, something that I value is work-life balance. That would be a big point. Autonomy in what I’m working on. Whether the things I am working on are challenging, boring, exciting, maybe too challenging, so that also needs to be in balance. And I need to work with people I can get along with. I feel like I see my colleagues more than significant others, family, and friends, so you need to put yourself around people you can talk to, have good honest discussions with, exchange feedback with—it makes so much of a difference.

I feel like the rest of it you can figure out: the topics you are working on, how you are working, the process, when you’re working. I am getting more and more the feeling that the people I am working with is the most important thing. At the same time, I wouldn’t work as a kindergarten teacher, either. I still like this job, and it’s what I’m good at. I like that I can identify with the work I am doing, the APIs I am creating, helping and enabling the people around me, etc.

What role do developers have in the world, do you think? Are we just passive code robots, or do we have responsibility for the impact of our work on society?

Excellent question, but I wouldn’t want to make the distinction between developers and any other profession here. The decision whether you are content implementing a rigged anti-pollution system in Volkswagen cars or working on the assembly line in a weapons manufacturing factory isn’t so much about the profession itself but your personal moral standards, in my opinion. I guess to some degree you could blame developers more than the assembly worker, considering the current need and opportunities for developers in the industry.

Personally, I do feel responsible for the things I’m doing at work (and in life), and I’m in the lucky position to be able to choose (to some degree at least) what company I want to work for. I think I’d quit the job if Blacklane would ever request me to do something that goes against my personal values (which I think is quite unlikely, by the way).

How can developers best shape the cultures of their organizations, do you think?

First of all, you have to be aware of it. That culture is a thing that’s applied, learned, and experienced in daily standups, when you go for lunch, when colleagues ask you if you can translate their German apartment contract for them. This was something I wasn’t aware of for a long time, that culture is something you can actively shape, and that it also reflects on you. If you come to a group where everyone is nice to you, where someone brings you fruit in the morning, or someone offers you the last seat in the meeting, you yourself become nice. You naturally adapt to the group as a human being.

When everyone has a basic decency in their everyday behavior, that makes a big difference. Be respectful to others, clean up after yourself—this plays an important role. But that doesn’t answer the question about how developers can shape culture in a special way. I guess you have more freedom. As a developer, if you don’t like it, you can just leave, and some people do not have this freedom.

As a German, what is it like working in a company where the majority of your colleagues aren’t from your country and where so many different cultures are represented?

So, I’m not working in a different country (let alone city), but working at Blacklane is definitely different from the culture I grew up with, even though the office is located in Berlin. Working at Blacklane actually exposes you to so many different cultures, and I have really started to appreciate this. I probably appreciate it so much by now that I’d have to think twice before joining a “normal” German company again, where the majority of my colleagues would be Germans (no offense, fellow Krauts).

We ran a workshop recently with a small yoga session led by an Indian co-worker, followed by a wine tasting with a French co-worker. Embrace the stereotypes! Blacklane employs people from 60+ nationalities and learning about their cultures, traditions, beliefs, and ways of thinking has broadened my own horizons a lot, I have the feeling.

You’re about to take a long break from development work. What motivated that decision? What are your plans for afterward?

Yes. I already booked the first flight and the first hostel, but I don’t really know what I’m going to do after that. The decision itself was quite spontaneous. Afterward, I reflected on this, “Why did you make this decision to buy a plane ticket?” I think the reason is, I see this upcoming year as an opportunity to free myself from most of the responsibilities that I feel I have in my day-to-day life. I feel like I’m someone who has a hard time breaking out of the habits of working, of having a schedule, and I have never had this freedom in my life. I immediately started working after I quit my studies. I think it’s good to give yourself this time. It’s not that I’m feeling that I’m not in control of my own life, but on the other hand, traveling for a year and not having to take care of the usual business means that for the first time in my life I might need to figure things out on my own. And I’ll be the only one to blame, as well. I can’t say, hey, I really wanted to move to Hamburg, but I didn’t get the job. Or my brother died, so I couldn’t go on that vacation. I want to free myself from these external factors and see what I do with my life, when I’m on my own, more or less.

I think traveling gives you a better perspective on life, on how you think about the world. I traveled once before to Southeast Asia. Being outside of Europe was a very eye-opening experience for me. I started reconsidering what I found important. Seeing how I’m in the top 1% of the world made me appreciate the position I am in, how it was totally an accident that I was born in Germany and not Cambodia. I may do some open source coding while I’m traveling, or I may find some nonprofits or charities to work for. I don’t want to just be on a vacation for a year.

The plan is to come back to Blacklane, next January. Being here for four and half years already, I have seen how quickly the organization changes, and this will be the case when I’m not here, so I’m excited about that. I think it’s great that the company allows me to take this sabbatical. Even if my ideas about my life change while I’m away, I feel for this reason that I have some responsibility to come back. I also naturally feel an attachment to the people I am working with here and the projects I have worked on. This is part of my identity now, whether I like it or not, so I am very interested to see how these things, and how the people, have evolved in that time. Because I value them.

If you are interested in joining Blacklane, feel free to head over to our career page. You will not only find our open positions there but also even more reasons why you should work with us!