3 ms·
It's all I've ever wanted to do since I first heard about it in Joel in Software many years ago. The people side of Software Engineering is immensely more rewar
by JimboOmega 8y ago
It's all I've ever wanted to do since I first heard about it in Joel in Software many years ago. The people side of Software Engineering is immensely more rewarding for me than the technical one. It's so satisfying to watch new hires in particular grow and get comfortable. Sadly, I don't often get to do it, and am usually pushed into more pure IC roles.
It's also really rare among companies I've worked at. Turnover is high and impressing people with flashy technology is key. Writing code that impresses is definitely the path to management. Those who sit back and try to understand the whole picture are viewed as uninterested. I've been consciously trying to get into more technical arguments because it seems to earn respect to have strong opinions rather than seeing both sides of the coin. Management (especially at the first level) is viewed as the person who evaluates other people's code and makes the best technical decisions.
The engineering side of that sort of environment burns me out more, especially as I get older. When I was in high school, sure, I loved to code, I loved the new tech, I loved experimenting with linux kernels and assembly and all of it. These days, it's just not nearly as meaningful to me as working with those around me. I know I'll never make better solutions as an individual than I would with a team around me. If I only get acknowledged for coming up with a way to run tests 90% faster or solve the weird rare bug nobody else could understand, my work life just feels incomplete.
However, engineering team management is chosen more on who can solve the problems the best, not who is the most interested in helping people. When I have expressed interest in management this is a very consistent message. Do you write the best code on your team? No? Then focus on that. This requires me to focus on the work I find less fulfilling - and be directly competitive with my peers. The exact opposite of what I want to do.
Maybe other people are getting credit for implementing the new flashiness in Clojure, but if they appreciate you clearing the obstacles to make it happen, isn't that satisfying? You get acknowledged more from below than above, and that's okay.
What I really want to know is, what's the suffering part of it? I've heard so many managers complain of not getting to write code any more - and been jealous and wanted to trade positions with them. You should get acknowledged from below, and honestly, if your next level management is good, they should see what you're doing as well. A lack of acknowledgement will always burn people out, but servant leadership shouldn't automatically mean that.
- zerr 8y agoCould you please mention some particular example for which you'd be acknowledged from below?
- JimboOmega 8y agoSomebody who learns a new skill and thanks you for it? Or - I know I thank my boss when I get to work on the things that I like, or when a complicated interaction with people outside the team is handled well. Honestly it's really quite satisfying, just to unblock somebody. At the IC level usually it's small things like figuring out why the dev environment won't load or the tests keep failing, but they're thankfully and it's fulfilling to me.
- draw_down 8y agoBoy do I wish I had those problems. I'm being pushed in the opposite direction, to focus more on the organizational valence of problems, instead of working in a more technical capacity. People are mostly boring and working with them is such a pain. Always needing to explain yourself and persuade them... blecchh. I have written probably a dozen documents, all in slightly different contexts, where I explain in detail the workings of a particular system, which fundamentally is very simple, operating on keys and values. It's not complicated, and explaining it over and over and over again sucks.