Adapt to your environment posted on 15 March 2024

I recently saw a debate on whether you should start a team with 5 senior software engineers or with one senior engineer and 4 junior engineers. One of the common arguments made was how senior engineers do not write code and can only direct junior engineers.

My take is that a senior engineer who cannot write code when they need to, is a terrible one – not necessarily because of their inability to program, but more importantly because they cannot adapt to their environment.

As a senior engineer, I have to catch whatever curved balls is thrown at me – and these come with different work needed, e.g.:

  • There are periods where I’ll spend most of my time gathering data by running queries, talking to other engineers or aligning with other orgs – and basically I don’t write any code
  • There are times where the design/vision is known and what’s left is just to execute – in that case I’ll be churning code like a machine.

Engineers should be able to adapt works both ways, meaning that:

  • A senior engineer in a large company must be able to adapt to a smaller environment (e.g. with less staffing available, less tools working out of the box etc.)
  • A senior engineer in a startup must be able to adapt to a larger environment (e.g. with more engineers, with a larger code base, with more processes etc.)

Being able to adapt to your environment is key to your success and growth – this is one of the reasons so many engineers fail to grow after joining FAANG after a startup (and vice versa). This was definitely one reason why I struggled in my early days at Google (I couldn’t understand how to work across teams or through processes).

What’s your take on senior engineers and their ability to code?

LinkedIn post