Hacker News new | ask | show | jobs
by lordnacho 3109 days ago
Seems to boil down to the same old tropes that apply to every kind of work, and every kind of person. A good {worker} works hard, works well in a team, is self-reliant(!) blah blah. A good person is honest, forthright, etc.

Outside of very specific fields I haven't seen anyone come up with specific qualities that identify great workers. And the useful attributes will be specific to a field. For height for basketball players, chances created for soccer players, on-base percentage for baseball, etc.

We don't like to say it, but maybe there's something similar in Software Engineering, like "Can code FizzBuzz in under 5 minutes". At the same time I recognise that coding quizzes are not the latest word on what makes a guy good at coding.

3 comments

It is definitely "ability to stay on task".

The difference between a great engineer and a mediocre one is the latter will just get distracted, stop working the problem and decide to go for good enough.

The great ones will work the problem, try multiple angles until something doesn't just work but offers the right balance of simplicity, elegance, future proofing and does the job well. You can't get there if every 5 minutes you take a facebook break, or can't grind through technical documentation and make experiments.

Huh, I would probably include "the ability to stop at good enough" in my criteria for greatness. I've worked with people who couldn't resist looking for a better solution instead of checking in the one they had - even for time critical bug fixes.
This is one of the most objective views on "what makes a great software engineer" so far here. People who can focus generally deliver better work, even when they don't work on pet projects after work.
It's a two-way street though. Some engineers work really well in management environments that others despise, some companies only want to hire engineers that don't need much training in their particular domain while others don't care as much, etc.

In order to establish criteria for universally assessing software development talent, we first have to decide what the perfect engineer looks like, and a lot of companies disagree on what that is.

> A good {worker} works hard [...]

Trustworthy, loyal, helpful, friendly, courteous, kind, obedient, cheerful, thrifty, brave, clean, and reverent!