15 months, 1 top team, 1 award: a bunch of great learnings as a CTO @Seraphin

Last December our team at Seraphin had the honour to receive the Best B2C website award from the FEWEB, the federation of Belgian web businesses. This certainly was a wonderful ending to 2017 and will boost our 2018 efforts. After 15 months as a CTO at Seraphin, I think this is the right opportunity to reflect on a few learnings collected along the way, that hopefully will prove helpful to (aspiring) CTOs. Enjoy the ride !

Invest in your co-founders tech education

My very first contribution to Seraphin was actually not a line of code but the following slide, that I circulated to my co-founders:

It never hurts to state the obviousIt never hurts to state the obvious

At the time I joined the company, my co-founders were still working with an external web agency. The collaboration picture was not super rosy as not everyone in our team was fully up-to-speed on these working principles. I thus had my fair share of evangelising folks. Since then, I have to say my co-founders have done a wonderful job actively trying to understand the intricacies of IT ways-of-working, and this has brought great momentum.

I believe that stating these principles not as constraints (e.g., “to interact with us techies, you have to follow these rules”), but rather as enablers (e.g., “here’s a few tips & tricks so you can best leverage us”) also really helps getting the message through.

Relentlessly focus on doing 1 thing at a time

Great tech is worthless if it’s not supported by great processes to enable its rapid delivery to the end user. Hence in our tech team we strive to reduce the amount of Work In Progress, ensuring we do one thing at a time in a very focused way and are pushing to get our work deployed asap to our users.

Concretely, we’ve set ourselves a rule that we can’t have more than 3 active backlog elements assigned to us in our Trello Kanban tool. Actually 3 is already smelly; at 4 you can feel the demons of mental overload lurking around.

We also monitor closely our Agile metrics, using the amazingly simple Ollert dashboard. Here’s a snapshot showing it takes us an average of ~2 days to finish a backlog item. More would mean that we are probably stacking up too much parallel work, resulting in a delivery slowdown.

Mean time spent by backlog elements in each of the development workflow stepsMean time spent by backlog elements in each of the development workflow steps

We at Seraphin are brave techies, but there’s still one thing we’re afraid of and that’s Sleeping Beauties. That’s how we call work that’s been 99% finished for some time and has been waiting for too long for the remaining 1% till deployment. We relentlessly seek and destroy these beasts, because they hurt our productivity. Apologies to all princesses out there.

Doing 1 thing at a time also means Sleeping Beauties will not be toleratedDoing 1 thing at a time also means Sleeping Beauties will not be tolerated

Set yourself ruthless learning objectives

If you’re launching a new venture, the extent of your tech knowledge should ideally always be several steps ahead of the current tech requirements. That will greatly help you solve the pains that come with growing a business and scaling up the underlying tech.

My war story on this: a few months ago I decided to start automating server setup with Ansible, so that I’d get a better understanding of our OS. Not required at the time, given we actually only had 1 main server to serve all requests, and there was no need to regularly deploy new instances. Then came a time where a sudden peak of requests combined with a memory leak actually brought the server down (pretty embarrassing). Only because we had version-controlled our full server setup with Ansible were we able to very rapidly spin up a new instance and stop the downtime. This pattern of learning things before they seem to be required has consistently proven successful for us.

For this, the best objectives are the ones that scare you. Be ambitious! Here’s a great inspiration to design your learnings roadmap.

Paranoïa is a stairway to heaven

Being responsible for the continuous availability of our website ain’t always the most relaxing job. So many freaking things can go wrong amongst the myriads of pieces involved!

I found out that being initially extremely paranoid about it actually brought me invaluable peace of mind. I therefore warmly recommend the following pharmacopoeia to live a relaxed life as the CTO of a young startup:

  • Setup preventive monitoring of your infrastructure with DataDog so you can quickly be warned of upcoming memory issues for example
  • Setup centralised logging of all your systems with Papertrail to ease the forensics in case of bugs
  • Setup automated bug reporting with Sentry to proactively fix bugs even before someone reports them to you
  • Setup uptime monitoring with Pingdom, and setup a cascade of sms warnings
  • Setup a WAF and load balancer with Cloudflare, fronting at least 2 redundants servers
  • Define multiple backup policies for your DB (losing your production data is probably the worst nightmare out there), for example by combining RDS snapshots and regular dumps to S3 if you’re on AWS
  • On a less technical note, invest in a strong passwords manager such as LastPass for your entire team: this will greatly reduce your exposure to stupid breaches caused by password reuse for example

All tools mentioned are part of our stack, but there’s plenty of alternatives out there, of course.

Make yourself unessential

Last but not least, I’ve come to realise that a great CTO must also be able to embody that guy on the picture.

What a great CTO we’ve got there.What a great CTO we’ve got there.

I mean, yes. When the CTO is absent and everything’s going fine, that’s a success. It means ways-of-working have been fully understood and are lived by the team, infra is under control thanks to a ton of early-warning and protection systems, a limited amount of bugs are reported because code has been thoroughly vetted, the team is able to find their way around thanks to good documentation…Try and take some time off: if it looks like you’re not needed anymore when coming back, that means you scored it!

On a more serious note, striving to make yourself unessential to the daily running of your tech will greatly pay off. Don’t take pride in being the only one to know how to run and fix things; share all your knowledge. That’s how you’ll be able to concentrate on the next round of innovations to boost your business.

Wrapping up

So that was it for the 2017 highlights. What a pleasure it has been working with the crew at Seraphin. Stay tuned for 2018, as there’s plenty more in store. Thanks for the reading and all the best in your ventures!