Pointer Profile: Octavian Costache, Co-founder & CTO at SPRING Inc.

Signup at Pointer.io for our weekly newsletter

What’s an important lesson you’ve learnt managing a tech team?

Our tech team has grown over the past three years from one person to about 30 people today. I’m extraordinarily happy with our current team, I believe we’ve both made a lot of mistakes along the way but also learned a lot.

For me one of the most important lessons I learned — and this will sound meta — is always focus on learning. The organization grows, the product grows, business needs change, times change, people change — the only true constant in a growing team is change.

As such, the only thing that is a constant is learning what works, what doesn’t work. The only way to learn what stops working and needs changing is to learn and reflect. Allocating time, processes, systems, mind-share to learning is something that we learned along the way — and we didn’t focus on it enough in the beginning.

To give you an example — we have introduced about 6 months ago a mandatory rating of the Engineering Weekly meeting, with attached feedback — https://twitter.com/okvivi/status/695026164616859648. It has allowed me to understand how effective this meeting is, allowed me to learn what works well and what does not, and has given me a system to measure the effectiveness of changes I am making to our Engineering Weekly meeting.

What’s the most exciting tech you’re seeing and why?

We’re currently very happy with our choice of GoLang. The vast majority of our backends are built in Go — and I believe it to be one of the most influential and best choices we’ve made as a tech team.

The reason I am so excited about it is as boring as the language — it is the first language that I see that scales incredibly well with the size of the team. 90% of our engineering team has not touched Go before joining Spring, and yet 100% of the engineering team felt productive after about two months of joining our team.

Feeling productive so fast with an entirely new language, in an entirely new and unknown codebase, across all levels of experience — from junior engineers fresh out of school all the way to senior engineers with lots of experience — to me is one of the most exciting properties of this piece of technology.

What do you look for when hiring an engineer?

Analytical intelligence and thought process. We care deeply about how engineers approach problems, how they solve them, how they take hints, how they translate their ideas into code.

We believe that technology is always changing, we always need to learn and be flexible to do new things. This is only accelerating — and being able to pick the right tool for the right job requires skills that are agnostic to the tool.

Because of this we’ve hired both very senior engineers, but also very junior engineers that have these traits and have the potential to learn and gain experience over time.

What’s something fascinating you’ve recently learnt related to programming? It can be a tip, hack or built-in function in your language of choice — feel free to highlight any code.

I’m very tool agnostic. I get really excited about building a product — and I get less excited about the tools I use to do that.

How do you measure the productivity and velocity of your team?

We look at how fast we ship product. A great team will be able to consistently ship great products. We’re doing this somewhat ad-hoc, we do not have a clear measurable metric for this.

What we do focus on a lot is learning and growing. Teams learn, our organization learns, individuals are asked to learn, and we have a relentless focus on talking about growth — both with individuals and with teams. What can we do better is always something that we talk about — irrespective of current productivity or velocity.