4 ms·
For me (as an engineering manager these days) the most important quality I look for in a developer is a people-focused approach to work. No matter what you work
by onion2k 3y ago
For me (as an engineering manager these days) the most important quality I look for in a developer is a people-focused approach to work. No matter what you work on you should always be thinking "How is this making the end user's life better?" even if your code is miles from anything thr user sees. That manifests in traits like a focus on being error free, fast, usable, accessible, ethical, and 'kind'.
Good developers don't stop at making the happy path work. They obsess over making their code fail elegantly. They make systems that are strongly robust. They think about the failure states deeply. Slightly antagonistcally, they're also able to prioritize moving forwards when something is good enough rather than trying to make something perfect.
In my career I've only met and worked with a handful of really good devs. I've worked with loads of people who are great at one or two aspects of the job, but you rarely find the complete package. I think the best devs have a key skill of understanding how to make good tradeoffs and maintain a balance of what's needed versus what's interesting. I know I don't have that skill (yet).
- nindalf 3y agoThis feels like something straight out of a management book.
- keithalewis 3y agoAgreed. Palaver with no actionable advice.
- onion2k 3y agoYou're right that this isn't actionable advice. That's because this is me talking about the sorts of behaviors I look for, not the skills and actions that are derived from those behaviors. How a dev becomes someone who cares about the things that make software better is totally up to the individual.
- keithalewis 3y agoHere is some actionable advice: give your existing employees an opportunity to become the sort of developer you wish you had. Convince your bosses to allocate time during working hours to allow them to learn new things and write experimental code. As they grow into the employees you wish you had, give them more responsibility for their deliverables. That is how you encourage them care and how you scale as a boss.
- vermooten 3y agoManagement-speak or not, it's correct. Software development is much more social than it was when I started. Pairing and mobbing get better results faster.
- onion2k 3y agoIt's mostly experience with a big handful of Will Larson's 'An Elegant Puzzle' and Camille Fournier's 'The Manager's Path' to inform missing bits. So yeah, maybe.
- ponector 3y agoBut are you encouraging your developers to implement such approach? Everywhere I've worked, managers are pushing devs to close tickets, implement features as fast as possible. Usually they are fine with implementation of happy path only, leaving tons of technical debt to the far future. If someone puts an extra effort to have perfect system - that means they will look less productive than their peers.
- mnsc 3y agoExtra effort for getting to "perfect" I would argue mostly is gold plating, which not only is less productive than those good-enough-peers. But sometimes counter productive where every hypothetical edge case have been solved with extremely complicated/complex (unmaintainable) code. I'm currently replacing such "perfect" code with a, hopefully, simpler mess that still get the customer's work done.
- szundi 3y agoAt the end of the day these are wars of opinion until someone checks back wether these gold platings actually make a difference
- dwb 3y agoYou want an obsessive non-perfectionist? You find it necessary to say that it's rare to find near-perfect employees? Managers, man.
- onion2k 3y agoYou want an obsessive non-perfectionist. I want user-focused pragmatists who aim high while understanding they don't have the resources available for perfection. I was a dev for 25 years before moving into management. That's pretty much my approach, although I think I fell a bit short in many ways. Now my job is to try to lead other devs to do better than me. I'm trying to be the manager I wish I'd had. I don't think that's unreasonable.
- dwb 3y agoI've been a developer for 14 years. Maybe I've been incredibly lucky, or the companies I've worked for have had watertight hiring processes, or something, but I can't think of a time where someone didn't care about the things you list unless there was some massive pressure for them to cut corners. (Okay, maybe one contractor, a long time ago, but they were very obviously sub-standard.) I can't think of anyone who had any significant tendencies to perfectionism. Quality, maybe, but not perfectionism. And so when I come across statements like yours, I have to wonder, what standard are you pushing for? How much are you truly considering the highly-connected, messy context of these individual qualities? I'm so tired of these big-talking over-generalities where the onus is always on the individual.
- ponector 3y agoManagers are looking for people who will do more for the same money as others. If employees are just doing the job to get a paycheck - they are labeled as quit quitters.
- dwb 3y agoYour first sentence is certainly an eternal truth; I feel like there's quite a gap between those who consistently work more than their worth and those who only do what is strictly necessary. I'm somewhere in the middle – there's little chance of me doing what I'm not paid for, but at the same time I do very much care about what I produce, and the experience of the people I work with, and whoever ends up using what I make, and the wider effect on the world. I would put the vast majority of developers I've met in the same bracket – so companies should really want to keep us happy.