An incomplete list of skills senior engineers need
This is copied from Camille Fournier's article on medium. I copied it rather than linked to it because who knows if and when Medium will change the URL or put the content behind a paywall.
Highlights are simply an impulsive "I can think about this for the next few months." After that I might change them.
An incomplete list of skills senior engineers need, beyond coding
For varying levels of seniority, from senior, to staff, and beyond.
- How to run a meeting, and no, being the person who talks the most in the meeting is not the same thing as running it
- How to write a design doc, take feedback, and drive it to resolution, in a reasonable period of time
- How to mentor an early-career teammate, a mid-career engineer, a new manager who needs technical advice
- How to indulge a senior manager who wants to talk about technical stuff that they don’t really understand, without rolling your eyes or making them feel stupid
- How to explain a technical concept behind closed doors to a senior person too embarrassed to openly admit that they don’t understand it
- How to influence another team to use your solution instead of writing their own
- How to get another engineer to do something for you by asking for help in a way that makes them feel appreciated
- How to lead a project even though you don’t manage any of the people working on the project
- How to get other engineers to listen to your ideas without making them feel threatened
- How to listen to other engineers’ ideas without feeling threatened
- How to give up your baby, that project that you built into something great, so you can do something else
- How to teach another engineer to care about that thing you really care about (operations, correctness, testing, code quality, performance, simplicity, etc)
- How to communicate project status to stakeholders
- How to convince management that they need to invest in a non-trivial technical project
- How to build software while delivering incremental value in the process
- How to craft a project proposal, socialize it, and get buy-in to execute it
- How to repeat yourself enough that people start to listen
- How to pick your battles
- How to help someone get promoted
- How to get information about what’s really happening (how to gossip, how to network)
- How to find interesting work on your own, instead of waiting for someone to bring it to you
- How to tell someone they’re wrong without making them feel ashamed
- How to take negative feedback gracefully