Engineering leadership and productivity tips straight to your inbox?

What I wish I knew when I became CTO

By John Lafleur 1 minute read

TL;DR: You can accumulate responsibility faster than you can learn how to harness it. The main learning points are listed below:

  • Startups are agile boats, but the decisions you make on day one do have rippling consequences over time. You should appreciate that the infrastructure, frameworks and languages you choose will stick with you for a really long time
  • You should appreciate that technologies have a surprisingly short lifespan. You need to budget time and strategize for the replacement of technologies. You accept long-term “technical debt” with the adoption of any technology.
  • Components and libraries you write are going to hang around for a long time. However nicely or badly you write them, they’ll remain in the same state — therefore it’s good to invest a little more time than is comfortable building them well for the sake of future maintainers.
  • Try to make small improvements to the areas of code you work on.
  • No matter how many times you’ve read about how a company’s most important asset are the people, it will never prepare you for how exhausting and excruciating hiring is.
  • Only hire when you feel you’re completely desperate for the role
  • Hire to keep up with growth, not to generate it
  • Don’t hire someone to do something you’ve not yet figured out
  • Your gut often knows you need to fire someone long before you rationally accept and perform it, and it’s always difficult.



Want engineering leadership and productivity tips?

Subscribe to our newsletter Weekly Bytes to get our curation of the top 5 articles of the week.
%d bloggers like this: