Software folks of GV, help a non software simpleton understand what exactly you do?
SDE1, SDE2, staff engineer
What exactly do you do/code and how does work change as you progress up the flagpole?
Sde1 - Change the color of the button to blue Sde2 - Change the color of the button to a specific shade of blue Staff eng - provide technical direction to sde1 and 2 change the color of the button to a shade of blue that reduces the backend latency by 0.00000001 nano second.
Bonus: PM - I forgot to mention that the customer doesn't like blue we need to change the color to red
Watch this video first and then come back to the rest of the response:
https://www.youtube.com/watch?v=cDA3_5982h8
Providing the right instructions to a computer requires a lot of work. (Psst!! You see, computers are just dumb machines!)
Going by the analogy of the above video:
An SDE 1 would make Peanut Butter Sandwiches
An SDE 2 would make sure to close the lids of the Peanut butter jars and wash the butter knife so that they can be used again.
A Staff Engineer would be building designs to make 100,000 peanut butter sandwiches in a day.
Thanks for the response! At scale do you think AI will be deployed to reduce dependency on staff engineers? Or even SDE-1 for more basic aspects of coding?
I feel SDE-1 would be very easily replaced. Okay replaced might be a strong word, but if a company plans to hire 10 SDE-1s then they would end up only with 2-3 and make them use AI to come up with the code. In the near future at least, Senior roles will not be replaced easily because AI and Juniors still need context. And usually I feel its the responsibility of the senior to come up with this context
SDE-1: Write business workflows while accommodating for all edge cases. Good implementation is the key. Take ownership of the code and make sure that if and when it fails, you can fix it as soon as possible.
SDE-2: Owns multiple workflows. Guides SDE-1s in implementing and code reviews. Guess future requirements and design the code in a way that it can be extended with minimal effort instead of recreating the entire workflow.
Minimising friction, scalable and extensible design, high ownership of workflows, being extremely good at debugging, monitoring systems, understanding pitfalls and getting things done. (Vast experience range, 2-7yoe)
SDE-3: Make sure SDE-2s do their jobs well. Cross project communication, larger scope of projects, vague problems and expectations to come up with tech solutions. Make bold calls to do or avoid something - these can have a million dollar impact. Experience speaks.
Staff: SDE-3s with more experience and ability to take organisation wide technical decisions rather than cross team or cross projects. Extremely vague problem statements (get me this <business requirement> done. Figure it out.)
Handful, extremely talented and highly paid. Not everyone makes it to Staff, most people stop at SDE-3 and often get into management roles.
Decisions are usually multi million dollar impact (even in small startups), and have longer lifecycle (Can be a major decision for next 3-5yrs for the company)