I agree and this is good advice that works well. My counterpoint is that if you are very good at:
finding things that could be better or tools that should exist but don’t, and that if materialized would solve multiple problems at once instead of just one; and
explaining why that’s important in a way that everyone can buy into and dealing with naysayers who’ll want to cut you down and doomers who will say it’ll never work; and
have the focus, discipline and grit to make it through a 10k LoC project and land it on the other side while ekeing out code review along the way and not tripping over loose cables and uneven steps of your initial design / architecture / model that was either flawed from the outset or not malleable enough to fix after a month of entrenchment into your code; and finally
once you’re ready, to then go over the entire codebase and lift the old code up into your new way of doing things so that there is no split brain between the old way and your new tool:
then you can make it as a 10x engineer. It is exhausting but so is running up and down a football field, cycling laps around France, or serving tennis balls at 90mph for three hours at a time. Taking the elite-coder staff-engineering path isn’t for the faint hearted.
first i think what you’ve presented is a fiction, in most environments such large projects are surely going to involve multiple people if not multiple team. and then why? unlikely you’re be financially compensated for all the impact you’re really delivering. anything less is just exploitation
My experience is that this is quite common. Especially at startups but also at fortune 500s there exist staff engineers who have no team and just exist working on whatever catches their fancy that day/month. The grandparent talked about a month long project which is where these engineers tend to live in my experience. Its not that they get no help more that they jump around and maybe grab someone from the team when theyre almost done to integrate the new feature with the existing codebase.
finding things that could be better or tools that should exist but don’t, and that if materialized would solve multiple problems at once instead of just one; and
explaining why that’s important in a way that everyone can buy into and dealing with naysayers who’ll want to cut you down and doomers who will say it’ll never work; and
have the focus, discipline and grit to make it through a 10k LoC project and land it on the other side while ekeing out code review along the way and not tripping over loose cables and uneven steps of your initial design / architecture / model that was either flawed from the outset or not malleable enough to fix after a month of entrenchment into your code; and finally
once you’re ready, to then go over the entire codebase and lift the old code up into your new way of doing things so that there is no split brain between the old way and your new tool:
then you can make it as a 10x engineer. It is exhausting but so is running up and down a football field, cycling laps around France, or serving tennis balls at 90mph for three hours at a time. Taking the elite-coder staff-engineering path isn’t for the faint hearted.