Live data from Hacker News

What distinguishes great software engineers? (2019) [pdf]

faculty.washington.edu

41–50 of 174 posts

Re: What distinguishes great software engineers? (2019) [pdf]

#41
Question for everyone. Doesn't everyone know in the industry what makes great software engineers? And that usually there are only "blockers" that stops you from being great?

Let me give an analogy. If you're paid to play basketball wouldn't you know what makes a great basketball player? If you're playing pro basketball, you can be a great basketball player. The only reason why you can;t be great is because there are certain things outside of playing basketball that you have to worry about.

I guess i'm asking cause it's kinda annoying when people tell me what makes a great engineer. Anyone I know who has been doing this a few years knows what makes a great engineer. It doesn't mean they want to be a great engineer because the trade-offs arent just worth it

Re: What distinguishes great software engineers? (2019) [pdf]

#42

Great software engineers create/build software only as a last resort, once all other options have been exhausted. :)

This reminds me of the saying about don't expect someone to do something when their paycheck depends on doing the opposite. That said yes a great software engineer would be writing software BUT would have said no to a lot of other tasks, so that the task she is working on is vital and has a big impact.

Re: What distinguishes great software engineers? (2019) [pdf]

#43

and here I always thought the answer was Adderall

Plot twist: it's not the Adderall, but actually the ADHD. The engineers with an interest-based nervous system who have trouble switching off and hyperfocus on their latest interest staying up coding all night tend to learn a lot of shit faster than their peers because they simply spend more aggregate time doing it.

Source: ADHD engineer. I don't actually take Adderall. Tried Ritalin briefly but stopped as it doesn't affect me at all. Might try Adderall and report back.

Re: What distinguishes great software engineers? (2019) [pdf]

#45
I think if you follow John Carmack's finger files and his Twitter account you can form your own opinion as to how it works.

That guy is clearly a top 10 engineer and he hides little about his thought process. His appearance on the Joe Rogan Experience was great too.

Re: What distinguishes great software engineers? (2019) [pdf]

#46
In 50 years of programming I've worked with a few. One characteristic is a deep understanding and command of all that they touch.

For example, I worked with Bill Schelter (GNU Common Lisp). In 1980, prior to the Internet, we were working on a problem (tail recursion). He was using the emacs editor and he found a bug.

Bill stopped what he was doing, fetched the sources for emacs (using ftp), found the source of the bug, fixed it, and sent off a patch. After that he restarted emacs and continued right where he left off. It was a virtuoso performance. It was like watching Victor Borga (https://www.youtube.com/watch?v=dKeqaDSjy98).

I know a guy who plays guitar. He can listen to a performance and repeat it as easily as I can type what I read. He can transpose keys, add riffs, change tuning "on the fly", and even play thru with a broken string, adjusting chords to the new "5 string" form. He also knows guitar characteristics, pedal effects, etc., basically "all things guitar".

Great software engineers I've known seem to have complete command of all of the ideas, tools, and techniques. They understand their tools "all the way down to the metal" and all the way "up to the esthetics". You can see great people in all crafts (like woodworking).

They also write beautiful "crafted" code. I'm keyboarding a FORTRAN punched card deck (for an historical museum). You can see from the code that the author wrote clean, careful, and clear code. You can almost feel how good he was.

Greatness isn't about "team player", "hard working", "good at time estimation", or anything "social". Greatness is a property of the person, a deep love of the craft, and a focus on "doing it right".

Re: What distinguishes great software engineers? (2019) [pdf]

#47

Imo great engineers produce a lot of good to great quality work fast. They care about the big picture and get involved with the actual domain they're working in. They see code reuse opportunities and friction company wide vs only whatever team they're on. Great software engineers will write tools, packages, and guidelines that the entire company can use- not just their small team. They know how to standup to manageme…

> Imo great engineers produce a lot of good to great quality work fast

Sounds awfully like the Myth of the 10x Engineer.

Re: What distinguishes great software engineers? (2019) [pdf]

#48
post #46

In 50 years of programming I've worked with a few. One characteristic is a deep understanding and command of all that they touch. For example, I worked with Bill Schelter (GNU Common Lisp). In 1980, prior to the Internet, we were working on a problem (tail recursion). He was using the emacs editor and he found a bug. Bill stopped what he was doing, fetched the sources for emacs (using ftp), found the source of the bu…

That was a beautiful story. Thank you for sharing.

Re: What distinguishes great software engineers? (2019) [pdf]

#49
post #29

The more experienced I get, the more doubtful I am about every code. In the end I will be an ermit on a mountain imagining a code base that does not evolve into a monstrous mess. Honestly, I envy the young Mavericks who code shit and get work done. They at least sleep at night.

On the contrary. Who are young still work through the night. If work keeps you up it means that you can’t make trade-offs quite well enough.

Re: What distinguishes great software engineers? (2019) [pdf]

#50
post #46

In 50 years of programming I've worked with a few. One characteristic is a deep understanding and command of all that they touch. For example, I worked with Bill Schelter (GNU Common Lisp). In 1980, prior to the Internet, we were working on a problem (tail recursion). He was using the emacs editor and he found a bug. Bill stopped what he was doing, fetched the sources for emacs (using ftp), found the source of the bu…

Don’t confuse familiarity with greatness. Of course if you wrote the damn thing you can demonstrate technical virtuosity.

Edit: Maybe I read too fast. Anyways, intuition is sort of the precursor to greatness. You know those designers that pick out colors innately? No amount of color theory studying will get you to that level. You are probably describing someone with an intuition for debugging.

One of those things in life everyone has to learn eventually. Don’t fight the tide, find the waves that are certainly for you.

Post reply on HN