Junior vs Senior Engineers
Warning: preference-style opinions ahead, e.g. pecan pie is better than apple pie. That said, I’ve used these opinions in anger, so they may be of interest to engineers trying to get ahead with a leader that thinks like I do.
Junior: right tool for the job
Senior: right ‘enough’ tool for the job, fewer tools better mastered
Junior: clever solution
Senior: easy to understand solution, even if a bit ugly
Junior: don’t like criticism, don’t want to look bad
Senior: want more criticism, don’t want to make a mistake that could be avoided
Junior: job is to code, meetings are bad
Senior: job is to create value, well led meetings are where I do my highest value work
Junior: this code sucks, the author was lazy and dumb, we should just throw it out and start over
Senior: this code has created huge value and its survived because it did its job, there’s probably valuable context embedded in it that I can’t see yet, what’s the best way to learn that context and leverage the existing code given where I want to go next
Junior: do my best work alone
Senior: do my best work in deep collaboration with a diverse, highly engaged team
Junior: need to spend more time refactoring
Senior: if we spend 1 day refactoring this code it will save us 10 days over the next year according to this quick model I put together
Junior: bored when I’m not learning a new tool
Senior: bored when I’m doing low impact work
Junior: never made any big mistakes, my track record is clean
Senior: made mistakes that cost over $10M, here’s what I learned
Junior: yes I’ll do it, but I’m already working 80 hours a week and I’m burning out
Senior: yes I’ll do it, but I’m handing back item number 8 on my backlog to make room, ok?
Junior: want a raise because I found out Bob makes more than me and I’m insulted
Senior: contributed $X incremental to the company’s bottom line last year according to this quick model. Does that look right to you?
Junior: performance is a secret, just between me and my manager
Senior: want my team to know what I’m working on so I can get their support and improve faster
Junior: compensation is a secret, just between me and my manager
Senior: share my comp numbers with anyone who asks, so all of us have more context to negotiate with
Junior: happy so I won’t interview anywhere else.
Senior: interview a few times a year to stay current on the market, maintain my network, and to be reminded how much I like my current job
Junior: QA is lower value work than coding, so we should hire cheaper people than me and let them do it
Senior: QA is a worthwhile safety net, but quality is my job, I’m not going to let them find bugs in MY code
Junior: if I just had more authority, I could fix all our problems
Senior: the more vulnerable I am, the better my team will be at fixing all our problems together
Junior: I’m an imposter and I’ve gotta do my best to hide it or I’ll be fired
Senior: I’m good at what I do, but there is always someone that knows more, I want to keep improving, and great teamwork is the most reliable way to bring out the best in me
Junior: need to upgrade to the newest computer, 4 of the best monitors money can buy, every year or two
Senior: I’m highly productive on my 4y old laptop, please don’t make me spend 3 days switching to a new one