Developer hero with a taste for Clojure
Jacob Tjørnholm, partner and CTO at GoMore, has been named 2015 Danish Developer Hero of the Year. In this interview, he shares his perspective on GoMore’s development team, a new hobby called Clojure, and how a book helps him hire the right people.
Jacob Tjørnholm is a developer to his fingertips. At the Nordic Startup Awards 2015, he was named 2015 Danish developer hero of the year in recognition of how his technical expertise has taken GoMore to the front of the pack in the user-to-user car rental business.
For years, Tjørnholm wrote all of the company’s code himself and was the in-house expert on the software. But as CTO, he passes the fun jobs on to his development team – and only codes in his free time.
”I miss the creative process, so coding has become a hobby for me. It’s kind of funny, but now I can look at stuff like Cojure when I’m off work, whereas before it was all Ruby, which is what we use for GoMore's software,” explains Tjørnholm.
An asynchronous distributed development team
GoMore’s 11 developers are spread out across the country and work asynchronously. Those who can meet for lunch once a week in Aarhus, usually between three and eight developers. And twice a year, the entire team meets for Team Day, which combines professional and social activities. The developers share hobby projects and topics they’re interested in, while Jacob Tjørnholm also contributes professional challenges:
”Last time we talked about task management tools: We discussed how we should use Github Issues, and made a clear agreement on how we were going to work together in the coming period. This made it possible for us to go our separate ways and still work together effectively online.”
The entire strategy of having a distributed, asynchronous team hinges on the ability of the developers to work independently. And they can only do so if their tasks are clearly described and if they’re familiar with all aspects of the system. One of Tjørnholm’s backend developers worked from Thailand for a couple of weeks. No one else was online when he showed up for work, so it was important for him to be be able to navigate in the code on his own.
Prefers open source
Tjørnholm chose most of GoMore’s technologies back when he was still the only developer on the project. Today, all of the developers have been involved in considering the pros and cons when the team decides to introduce something new.
”We don’t have formalised requirements for our technology, but we do have a clear preference for open source, because it allows us to see what’s going on and find any errors. Our entire server stack is run exclusively on open source,” says Tjørnholm.
Hackers and painters
The role of CTO has been a challenging one for Tjørnholm, who brought very limited managerial experience to the position. But he has found inspiration in sources including Poul Graham’s 2004 book, Hackers and Painters. The book made him realise what a great difference there can be between less skilled and skilled developers. An insight he applies in the hiring situation.
”It’s necessary to check whether new people can produce good code, because a hire is a huge decision – especially in such a small team as ours,” explains Tjørnholm, who has no requirements for his developers’ educational background and only minimal requirements for previous experience – but he does require that the people he hires are able to grasp new technologies quickly.
Like when GoMore’s iPhone an Android app development was lagging a little because there were too many Rails and backend developers on the team. But then one Rails developer agreed to take on Android while another handled iOS.
”That just goes to show that I’ve found the right people. They can switch gears and do mobile development for awhile because they have the curiosity and the ability to master new things quickly. That makes me proud of my team,” says Tjørnholm.
Slow scale-up – so far without consultants
Scaling up the development team at GoMore is progressing as slowly as possible, and Tjørnholm invests a lot of time and energy in finding the most talented developers. Because as he puts it:
”Many times in the course of my career, I’ve seen how a small team of really skilled developers performs much, much better than a big team of mediocre or unmotivated developers.”
So far, the company has either hired developers on permanent contracts or worked with developers on a freelance basis if they so wish. For Tjørnholm, the most important thing is that the developers are committed and work for GoMore, instead of having a client called GoMore. He hasn’t made use of IT consultants as yet, but believes that this model could definitely work.
Room to think for themselves
GoMore’s CTO is very focussed on challenging his team. When he defines a task, he makes sure that the description always leaves room for creativity:
”There has to be room for people to think for themselves. If I have a really specific idea about how a feature can be implemented, I’ll keep it to myself and let the developers put their ideas on the table. On the other hand, tasks shouldn’t be so vaguely defined that there can be doubts about what the objective is. That balance can be difficult to strike.”A
nother factor is that the team has opportunities to learn about technologies that they aren’t already familiar with, such as AWS, Elasticsearch or Prometheus. As Tjørnholm says:
”As I see it, it’s incredibly motivating to be able to work as independently and flexibly as we do, while at the same time understanding every aspect of our system.”
Clojure as a hobby
When Tjørnholm isn’t busy delegating and administering, he’s exploring Clojure, a functional programming language he’s very interested in. Right now, Clojure is a hobby, but he’s counting on being able to use it at GoMore in future. He explains:
”Today, GoMore is a big server app that isn’t divided into services, but if we switch to an architecture where more things are split up into separate services one day, some of them could very easily be written in Clojure – if it’s a better match for the separate service.”
According to Tjørnholm, Clojure is the most promising modern functional programming language. What’s brilliant about the language is that it focusses on data, not objects:
”I’m fascinated because the language is so different from anything else I’ve worked with up til now. The big killer app for Clojure is that modern processors aren’t getting faster, there are just more and more of them. This is where Clojure is fantastic, because it makes it simple to parallelize data processing. That’s just one of the reasons why I predict that it will be huge in coming years.”
His fascination with the language also has to do with the mastermind behind it, Rich Hickey, who’s held a lot of exciting talks – on more philosophical topics as well.
”I often think that things move a little too fast, and things can never be new or fancy enough for a lot of people. Rich Hickey is totally at the opposite end of the spectrum. He takes his time and considers the pros and cons, which appeals to me,” says Tjørnholm.
Finding inspiration in his own world
Music is a major interest, and Tjørnholm picks out music that puts him in a particular mood depending on what he’s going to do – from the choral works of Brahams to Pantera. But aside from this, the developer hero seldom leaves the world of programming to search for inspiration:
”To inspire the creative process when I’m coding, I look to other branches of the technology, for example other programming languages or radically different ways of doing things.”
When facing a thorny problem, Tjørnholm fills his head with input, ideas and other people’s approach to solving similar conundrums – after which he gives his brain time to process the material.
”It’s valuable to set aside time, just an hour at a time, where you only think about a particular problem. This means sitting on a couch staring into the air or going for a walk. This is really where you can take advantage of working from home. You know that you won’t be disturbed and can really concentrate when you turn off your computer.”
Developer Hero of the Year 2015
But when he’s at a café, on the other hand, Tjørnholm likes being disturbed.
Before the developers show up for their weekly lunch, this time at LYNfabrikken in Aarhus (also the location of this interview), an IT entrepreneur comes by to say hello. They agree to meet for coffee the week after. The title 2015 developer hero piques people’s curiosity, and there has been a lot of interest in Tjørnholm’s work. He explains:“I found out that I was nominated when I saw the list of people you could vote for,” he says with a laugh and continues: ”I’m proud of what I’ve done at GoMore, but I didn’t expect that any one else would notice it. It was fun to participate, and it’s a nice feeling to be recognized for what you do.”
GoMore, a social ride-sharing service that matches individual drivers with passengers, was established in 2015. GoMore also offers peer-to-peer car rental.
Education: Computer scientist, Aarhus Business College, 1999
Title: CTO, GoMore
2015 Developer Hero of the Year, Nordic Startup Awards 2015