A lesson I took from this: every time you grow, your processes (should) change. Things that used to be automated - done the same for everyone - can be customized now because you have more engineering bandwidth. Things that used to be custom - done by hand for every customer - must be automated now, since there are so many more clients.
Double again - and those things can (should) change again. It's not so much a 'bow wave' of technical debt as a constant incoming series of waves. It's the job.
The good part is, technical debt can disappear too. Reimplement an account authorization scheme with a new service, and all those old tickets for the slapdash buggy version can disappear. And so on.
Thank you for that post. It strangely reminds me of basic training at the army back in 2006 (I'm German, so it was just the mandatory time + a few months). At the time it felt like hell, but looking back at it, I miss the camaraderie. If only we could appreciate the moments while experiencing them.
"We started slowly shifting from every engineer on the team knowing everything about all the code, to the minority of the team having that legacy knowledge, to nobody on the team that knew about everything."
God I hate this. Nature meant for us to carefully tend our code for ever and ever doing tiny changes every forth year. Not trying to grasp eachothers' wicked minds.
"The product that began as a bowl of digital spaghetti has transformed into a collection of well-tested microservices that can scale to collecting tens of terabytes of configuration data."
I really can't believe that being 1% truthful. Note first quote.
It may be good to be skeptical as this person mentioned that they are hiring, so they may be putting up a front as to what their current system actually looks like.
Very well written post! I enjoyed reading it. As an early employee at a different start up I've noticed very similar feelings. I've also realized that I'm a very good 0 to 1 engineer, but 1 to 10 is something that I struggle with. The times of cowboying code and moving fast/not caring about 100% polish are slowly but surely dwindling.
Looking back on those days I miss them, but during the actual process of it I was stressed, scared, and totally unsure of myself. It would be interesting to go back into that stage with the knowledge I have now.
"Then, just show up every day with a smile on your face, ready to grind. When you look back after a few years you’ll be amazed at how far you’ve come."
This may be the case some, but not for others.
I was someone who worked hard and enjoyed trying to get better. The company never rewarded me, instead outsourcing my job and forcing me to basically start over... and over. Now I'm less knowledgeable about things that matter, and less employable. It was a waste of my youth.
Double again - and those things can (should) change again. It's not so much a 'bow wave' of technical debt as a constant incoming series of waves. It's the job.
The good part is, technical debt can disappear too. Reimplement an account authorization scheme with a new service, and all those old tickets for the slapdash buggy version can disappear. And so on.