Blacklane Developer Journeys: Thomas — Director of Engineering

This month, we’d like to introduce you to Thomas. Thomas is Director of Engineering. He joined Blacklane in October 2017.

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

I grew up in East Boston, Massachusetts. We have an airport, and we drop our ‘R’s.

You took “minimum” very seriously! Anything else we should know about your upbringing?

I got rid of my accent when I was 22. I stayed in Boston until I was 25. I lived in Phoenix up until I moved to Berlin in 2010.

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

I was around 11 years old when my uncle purchased an IBM PC. I hijacked it immediately. When my mother realized how interested I was in computers, and programming in particular, she decided to invest $700 we didn’t have toward the purchase of an IBM PCjr. That was my first computer, and I dove head first into it.

I can’t say that there was any specific moment when I realized that I wanted to code for a living. By the time I was 14 or 15, I had sold my first product to the QuickBBS Group (see the history books), and by then there wasn’t anything else I could imagine doing with my life.

What was it that you found so compelling about programming? Seeing the results of your efforts in finished products that people used? Just the sheer joy of coding? Something else?

Creation. The idea that you can code something — tell the computer what to do, and it will do it. You can see the results of your efforts. It’s still purely about the creation part for me. The only reason I push the idea of practices and fair play among team members is it behooves them to work together, because once there’s more than one person involved, it’s no longer your code.

What brought you to Blacklane?

The S-Bahn (not funny, dad!). I came to Blacklane, because the software developers impressed me, not with their technical skills (which are quite good), but with their humanity and a level of care that is increasingly uncommon in our fast-paced industry. Culture is important, probably more important than any other property of an organization, and Blacklane’s engineering culture is one of the most respectful I’ve experienced.

You’ve been on the job as Blacklane’s engineering director for one year now. In that time, what have you learned? Which successes have been most gratifying for you? What have you struggled with?

The big struggle, and it’s not just at Blacklane, is getting developers out of their comfort zone and encouraging them to expand their knowledge and develop themselves beyond what they are doing right at this moment. You get into this mode of just doing your work and then going home. But if you do that for too long, all of your intrinsic motivation dwindles away, and then you’re looking for a new job. So I try to make sure everyone is always learning and always growing, because we want to retain good people.

Successes: I think we’ve done a really good job of improving retention, and that’s specifically because we’ve put a lot of effort into making sure that people have time to learn and develop themselves and promoting the idea that the company is giving them something more than a salary, that they have autonomy and some control over their own destiny within the organization. From a purely business point of view, retention is more practical than churn, but that’s not why we do it.

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

I’d prefer to answer this as a person rather than as a developer, because I don’t believe being a developer colors my opinion differently than anyone else. I feel like I’m experiencing the best kind of refugee situation in Berlin. It’s a city where nearly anyone from any walk of life can come and find a place and community for themselves. I relocated here eight years ago from the United States, and I don’t see myself returning there any time soon.

What do you think makes Berlin so appealing? Is there anything special about the community of developers here, or is it really just about the city itself for you?

It’s the city itself. You’ll find developers of similar ilk everywhere, and most developers tend to think similarly whether they’re right or left leaning. They kind of like the same things when it comes to their jobs. It’s Berlin itself, the diversity, the culture if you can call it that. Berlin is definitely an island unto itself, culturally. It’s basically not Germany. I don’t want to move outside of Berlin, because then I’ll have to learn German, and life is too short for that!

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

It used to be that the computer screen was the only thing I could relate to. Code can be reasoned about. It’s deterministic. You tell it to do something, and it does it. And if it doesn’t do what you told it, then it’s your own fault, and you fix it. People were harder. They don’t do what you want them to do and rarely do what you might expect. So for me, it was easier to seek refuge in the glare of a CRT (see the history books again).

I’ve grown up quite a lot in the past couple of decades. People, and interacting with them, finding their greatness — this is what interests me now. Sure, they don’t do what you want, but that’s what makes them fascinating, and it’s what makes me love having become a human.

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

I used to work alone all the time, but as the problems got larger and more complicated, and as they started straying from my own core competencies, that began to fall on its face. It began to become necessary to work with teams. And though I struggled at first, I began to see huge gains in teamwork, collaborating, and swarming on problems. A team is greater than the sum of its parts, so I’m more than happy to be part of one. In fact, I don’t think I’d work any other way.

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

I’m quite the fan of Golang. A friend once described it as “C, but beautiful,” and I tend to agree. I like that it’s very opinionated, because it means fewer religious wars (other than arguing about whether or not Golang is any good). It also means significantly easier readability and maintainability. I love being able to come back to my code months later and understand what I wrote. I also quite like Go’s approach to concurrency.

If I told you the language I secretly despise, then it wouldn’t be a secret anymore, would it? That said, I secretly despise Ruby. But don’t tell anyone.

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?

I’m pretty far along in my career. I’ve seen a lot of companies, and I’ve done a lot of things. By now I’ve given up on the idea of the perfect job — one where I’m creating the product I want to create, putting a dent in the universe, making a paycheck that keeps me ahead of my rent, and working with people whose company I enjoy. Such a high bar is probably too much to ask for.

Instead I look at the people first. Who will I be working with? Do we have similar goals? Will we be able to rally together when it matters most and knock stuff out of the park? After that, I’m looking for a company that doesn’t have unreasonable expectations about its own performance or about the performance of its people. Companies that expect miracles from people will need a miracle to stay alive. And they certainly won’t act humanely when the crap hits the fan.

Have you found that the developers you interview often feel the same way? If not, what do you think attracts developers to a company?

Honestly, it depends on the maturity of the developer. Younger developers are just looking for a challenge, basically. We have some good examples of that. I think the more mature you get as a developer, the more likely you are to start caring about things beyond just technical growth. That’s when things like culture become more important to you. Who are you working for? What exactly are you giving back to the world? Those things start to matter. At least to me.

When I was in my late teens in my first job, I didn’t care who hired me. It was a paycheck. The current generation (“millennials” is a stupid label) tends to be more caring than mine. This is good. It keeps companies on their toes when it comes to caring about society. If you’re just coming for a paycheck, you’re not much use to anybody.

Everyone is always talking about the hiring crisis in tech. As a manager, do you have any thoughts about how best to respond to it? Do you think it’s really a problem?

It depends what you mean by a hiring crisis. If you mean the universities aren’t churning out enough industry fodder for the next generation, then it’s a problem. But what it really means is we’re shifting the burden onto companies to train their hires.

If you look at the US vs. Europe, in the US you don’t need to have gone to college to work as a developer. Some of the best developers I know don’t have a CS degree. We tend in the US to focus on practical experience or even just the desire and ability to learn. Whereas Europe is more old-fashioned, and for the longest time they worried more about academic credentials. This is something they are going to have to give up if they are going to get through this crisis. I guess what I’m saying is Europe can learn from the US.

Why is hiring difficult?

Hiring is difficult if you have an internal culture where people are looking at the wrong things. One of the things I do see in software development, when you’re in the position of an interviewer, you tend to go with your own biases. And if you’re not a person deep into soft skills, you will tend to judge someone solely on technical skills.

But it takes more than that to hire for a whole organization, so I’m looking for more. Technical skills can be learned, but soft skills are part of your personality, and they are highly valuable. It’s important to communicate to your people that potential hires should be good collaborators and conducive to a good organization. Basically, we do it to ourselves is the problem.

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?

Let’s put it this way: I am afraid of autonomous vehicles.

At the end of the day, the code is written by developers, and we make mistakes. We especially make mistakes when we’re placed under pressure, so I can only imagine the edge cases that were missed in a lot of the autonomous cars that are on the road today.

I don’t fully blame developers, of course, but I do believe we need to own our responsibility to humanity. Software is in everything these days, and while it’s not always life critical, it has the potential to improve or corrupt society. We should always be asking ourselves whether or not we’re on the right side of that scenario and act accordingly — especially when our bosses are asking us to rush the new autonomous driving module out the door.

If you could change one thing about software development, what would it be and why?

The great thing about tech is that it will change under our feet while we’re turned the other way. So, if you have a complaint about a technology (XML, anyone?) all you need to do is wait a little while — it will be replaced by a slightly modified, rebranded, and much-hyped technology that some bushy-bearded Bell Labs nerd originally invented in the 1960s. What I’m saying is that I’ve learned to be patient when it comes to technology, because the good stuff is constantly being rediscovered.

What is it like working in a different country, and culture, than the one in which you grew up?

Before moving to Europe, I expected major differences. I was surprised to find that the differences aren’t as pronounced as I expected. Germany has problems, but so does the United States. That said, there are good people everywhere, and quite a few crappy folks as well. The best you can hope to do is surround yourself with the good ones and try, however in vain, to convince the crappy ones that they’re simply wrong.

If you could take six months off and learn something new, what would it be and why?

There are a lot of things I would want to learn. If I could take six months off, I would learn how to properly play a Spanish guitar. How to mangle my fingers into the chording positions properly. I’m constantly learning programming anyway. I make time for that. It doesn’t require a lot of dedication. I have the tools in my brain to do that training. But the physical finger positions for playing the guitar, those tools aren’t there yet.

What do you imagine about your future? Where do you see yourself many years from now, and what do you hope to have accomplished?

I’m old enough to be living my future. My hope is that at least one person whose life I’ve touched comes to believe that there’s a better way of working and decides to pay it forward.

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!