Ask HN: What makes for a world-class software engineer? - Nuance
======
perlgeek
What even is a world-class software engineer?

We know people like Martin Fowler, not just because of their technical
excellence, but because of their communication / public speaking / books they
wrote.

We know about about Larry Page and Sergey Brin because they created a hugely
successful product and company.

Would we call somebody a world-class software engineer if they had the
technical excellence, but nobody heard of them because they work in internal
projects in some big corp, and they happen to not talk much about their work?

Some factors include: Technical excellence, knowing what to build and what
not, knowing when there is a simpler solution than writing software,
communication skills (and social skills in general), leadership, grit.

I have no idea if this answer has helped you. A more specific question might
elicit more helpful answers.

~~~
adamnemecek
These are terrible examples. What has Martin Fowler actually built? As for
google, I don’t think they are good software engineers, they had someone take
the idea from prototype to production.

~~~
vonseel
I would think the vast majority of “world class” professional software
engineers go unnoticed unless they transition into a more academic,
entrepreneurial, or otherwise public role later in their careers.

We know the names of people like mentioned above because of what they created
or how prolific and widespread their teaching work is. Professional
engineering demands no publicity outside the organization and while there may
exist legendary engineers within Google, Apple, etc - people who insiders know
and may follow their careers - if you aren’t “in” and connected in a big way
you aren’t going to be familiar with them.

I certainly am not.

~~~
cc81
There are a some, the most obvious example being Linus Torvalds.

At google you have Jeff Dean who has, rightfully, become famous as a world
class software engineer.

~~~
avmich
At Google you also have Ken Thompson, who I'd argue is a world class software
engineer :) . Actually, scientist too...

------
invalidOrTaken
A world-class software engineer would spot the leaky abstraction of ranking
engineers linearly.

The internet reaches everywhere. If you can make an HTML page with an
alert("hi there") script, congratulations, it can reach everyone in the world,
you are now a world-class software engineer.

This bit from Venkatesh Rao's "The Office According to the Office" seems
appropriate:

"Instead, Dwight found relief in the graded, performance-oriented worlds of
school and varied medieval-guild-like worlds, such as farming, animal
husbandry and karate. His attempts to understand the world of management,
which is decidedly not a world of grades or guilds, are based entirely on
peripheral guild-like elements. He is the only one excited about the Survivor-
style successor-selection event Michael arranges (in the bus on the way over,
he asks, “Will there be business parables?”)...In Dwight’s world, everything
worth learning is teachable, and medals, certificates and formal membership in
meritocratic institutions is evidence of success. Even where play behaviors
are concerned, the Dwights of the world can more easily get lost in points-
and-rules worlds...To Dwight, everything is a formal contest, and there are
always authority figures who provide legitimacy and rankings."

~~~
tuesdayrain
OP was clearly asking what makes someone a high quality engineer, so focusing
on his specific word choices to respond with the "hello world" of web
development is a total non-answer in my opinion.

~~~
farazzz
I think they were just joking around

------
arsalanb
I have tried to be world-class many times in my life. I have failed all times.
I am 22, for reference, but it seems the like every time I "level up", I find
myself improving but also my taste and what I define as "World class"
improves.

When I was 14, "world class" meant somebody who could actually make a product
that works because all I could do was write basic HTML. When I was 17, "world
class" meant somebody who was capable of understanding the abstraction that
was casually thrown around the internet. At 19, "world class" meant somebody
working at FAANG (or whatever the equivalent of it then was) At 20-21 (last
year) I thought it meant somebody who could code and sell to build products
that affect millions/billions of lives, like Mark Zuckerberg (watched too much
of The Social Network, I guess). It was __Zuckerberg or GTFO __

Of late I 've realised that my skillset didn't matter as much as my ability to
figure out how to figure things out and be consistent. Being self-taught and
admittedly not "talented", I am in no way "world class" as you may define it,
but I know I can figure things out on my own and ask the right people the
right questions to continue growing as improving my taste in products.

So what I'm trying to say is world class is a very broad term, but I think if
you constantly work on improving yourself you will eventually find you're
improving, just like in any other aspect of life.

In hindsight, 14 to 17 year old me would consider current me pretty "World
class"

------
Terretta
What do they do?

\- adder: contributes to a product

\- multiplier: changes the ecosystem, giving adders leverage to be more
effective

\- exponent: changes the game (ships a new paradigm changing how everyone
thinks / does it)

Given how rare multipliers are, I consider that “world class”.

I don’t know that you can pre-identify the third category, especially since a
critical mass of multipliers can also achieve exponential results.

~~~
chillpenguin
Michael O Church wrote about a similar scale:

[http://sasamat.xen.prgmr.com/michaelochurch/wp/2013/04/22/th...](http://sasamat.xen.prgmr.com/michaelochurch/wp/2013/04/22/the-
shodan-programmer/)

------
odonnellryan
Probably more than anyone can summarize here, but what has brought me moderate
success is focusing on the business rather than the code.

I have been able to work on a few cool computer science problems, mostly due
to performance concerns regarding larger datasets, but there are often a lot
of ways to solve issues like that and often none of them will be objectively
the best.

If you don't focus on the business problems you're likely solving a problem
they don't have. Problems have value. If you solve a $100k problem for the
business it doesn't matter how much time you spent on it if it brings them
value.

If you're solving $100k problems every day you best ask for a raise :)

------
ken
Phil Greenspun wrote about "software engineering professionalism", and it's
still the best thing I've ever read on the subject:

[http://philip.greenspun.com/seia/writeup](http://philip.greenspun.com/seia/writeup)

I would say "Surgeon 3" exemplifies the world-class professional, quite
literally.

------
tootie
Consider the Dreyfus model of skill acquisition. World class developers would
be at the top of the pyramid. Not defined by how well they execute in
delivering good quality software, but able to see the big picture and think of
new ways to approach problems. Not necessarily answering all the questions,
but knowing or sensing when we're asking the wrong questions.

And really their are different ways of achieving this. If you're a true
computer scientist, then this could mean new algorithms, new data structures,
new architectures. From a product perspective it could mean new ways of
solving old problems. Like designing new methods of user interaction or
otherwise attempting to solve problems no one has considered a problem before.
It could also come in the form of management. New ways of approaching quality
or estimating or productivity.

------
nicolashahn
Writing code that other people can read and extend, writing the least amount
of code possible (as in knowing when not to solve a problem with code, not
concision), good communication with coworkers and project managers/clients,
deep understanding of the problem that they're trying to solve, the ability to
work quickly and with few mistakes or oversights, and lots of experience to
build an intuition of what to do in any situation.

------
oldboyFX
This is coming from my experience working with mostly non-technical founders
who are trying to turn their idea into a working product and start getting
traction in the market:

What makes for a world-class software engineer is the ability to consistently
deliver business value.

Learn about your company's market & business strategy. Be reliable.
Effectively communicate with the non-technical stakeholders and be the bridge
between technology and business goals. Make sure they're aware of pros and
cons of every development related decision. Get used to saying no and pushing
back on some of their ideas. Don't write code to solve problems that can be
solved by an excel spreadsheet.

Your main goal is to build a successful business, writing clean code and using
cool tech comes in secondary.

------
egman_ekki
to me, it's someone like Fabrice Bellard: brilliant, prolific, with deep
understanding of hardware and algorithms.

[https://en.m.wikipedia.org/wiki/Fabrice_Bellard](https://en.m.wikipedia.org/wiki/Fabrice_Bellard)

------
maxxxxx
Some people are so good that they will shine anywhere but for a lot of us it's
better to work somewhere where you get challenged with difficult problems so
you can grow.

When I look around my company a lot of the young guys are in positions where
they will never become very good because the environment what's them to repeat
the same thing again and again.

To become a good software engineer you need to have the opportunity to be
creative, make mistakes and learn from them.

------
sidcool
I wish I were a world class software engineer like Jeff Dean, Linus Torvalds,
Don Knuth etc. There seems to be no single way.

~~~
jxub
I don't know if there's a concrete treshold for that, or rather some
combination of field and exposure in the spotlight some standard deviations
above some "scale" of skill.

------
Glench
Well I don’t think there’s a definition of world-class but Jonathan Blow not
only designed and produced Braid and The Witness, but also programmed most of
the engines for those games and they’re largely bug-free. That’s a pretty
amazing feat that I don’t think many engineers could do.

~~~
blueboo
Surely that opinion requires believing programming "most of the engine"
(prototyping) and engineering production code are the largely the same thing

~~~
Glench
Are you saying Jonathan Blow only prototyped his games? Because he didn’t — he
also programmed the shipped game code. You can watch him program his new game
live on his twitch stream or see the archived streams on YouTube:
[https://www.youtube.com/channel/UCCuoqzrsHlwv1YyPKLuMDUQ](https://www.youtube.com/channel/UCCuoqzrsHlwv1YyPKLuMDUQ)
(which, by the way, he’s doing in a new programming language he created and
made a compiler for)

It’s almost unbelievable what Jonathan Blow and his small team have been able
to accomplish.

------
skrebbel
The ability to ask precise questions.

------
adamnemecek
I would say being able to solve problems even if you have to read up a lot and
being able to deliver a solution that’s close to the optimal.

------
kkirsche
I may be the minority but to me a world class software engineer is someone who
understands the industry they work in, is a strong communicator, can admit
when they are wrong, can ask for help when they need it, and can learn and
adapt to new problems. I don’t expect them to have specific technical skills,
besides a certain proficiency in the languages used

------
krona
\- Knowing systematic approaches to evaluating costs and benefits

\- Knowing that just because something is good, doesn't mean more of it is
better.

\- Being cognisant of your own biases and weaknesses.

\- Knowing how to delegate effectively

And obviously, being able to communicate that knowledge to mere mortals
without alienating your team on a daily basis. For me personally, that means:

\- Having a sense of humour.

\- Being human

------
malvosenior
* Way, way faster at solving problems than a normal dev

* Comes up with solutions that no one else would ever think of

* Understands and correctly utilizes libraries and tools down to the system call level or lower.

* Knows how to ship and the engineering and business processes behind making that happen.

* Knows other world class devs and can attract them to the host company.

~~~
blueboo
I like this list if you add one more point (that happens the most important
one):

* the solutions she comes with are easily explained and understood by everyone working on the codebase.

Stories like this: [https://medium.freecodecamp.org/we-fired-our-top-talent-
best...](https://medium.freecodecamp.org/we-fired-our-top-talent-best-
decision-we-ever-made-4c0a99728fde) are all too common.

~~~
malvosenior
I'd say good code is as easy to understand as possible (note, not always easy
to understand as not every domain lends itself to that).

The part about attracting other world class developers helps with this as
everyone will be on the same page.

> _Stories like this:[https://medium.freecodecamp.org/we-fired-our-top-talent-
> best...](https://medium.freecodecamp.org/we-fired-our-top-talent-best..).
> are all too common._

Maybe for some people but I've never had issue with it. Managing top talent is
definitely its own skill though. One of the challenges is integrating them
into the team and not having other people upset when they get high profile
projects. It's not trivial but it is doable and in my experience, well worth
it.

------
segmondy
I strongly suspect that it has nothing to do with readability of the code even
tho most people think so. It boils down to the ability to solve the problem at
hand while being able to handle the given constraint, quality of code is about
correctness not readability or ease to understand.

------
DrNuke
As an engineer, keeping up to date with the endeavours from the most important
players in your niche while following the accepted best practices and trying
your own small improvements case by case.

------
taf2
Here is an excellent training video to follow to become world class
[https://youtu.be/BWsAQsydzR4](https://youtu.be/BWsAQsydzR4)

------
sitkack
Being able to see the future.

More about what they don’t do than do. Subtle ways that they reduce risk and
increase quality. Making projects and systems more stable over time.

------
Antoninus
A happy disposition and consistently shipping, no matter if the project is
small or large. Technical competence and developer due diligence is implied.

------
revskill
I think a work-class software engineer will use the right tool to craft a
right-enough solution to solve the right problem.

------
egfx
Software Engineer's that know how to design, sell and market their software.

------
liveoneggs
identify the real customers, listen to their needs, solve their problems,
verify the solution is better than the original problem, repeat

------
Peteris
A world class engineer

\- does their part to grow the company by 5% every week

\- improves the system that builds the product by 2-3% every week

This means different things at different companies.

------
jimnotgym
Someone who can turn a real world problem into a set of steps, and explain
that to a team of other people who can implement it.

------
rurban
Solving world-class problems

------
lincpa
A world-class engineer is able to solve problems in an innovative, simple,
reliable way.

[https://github.com/linpengcheng/PurefunctionPipelineDataflow](https://github.com/linpengcheng/PurefunctionPipelineDataflow)

[https://github.com/linpengcheng/fa](https://github.com/linpengcheng/fa)

An accountant who does not understand statistics is not a good AI expert
system software engineer. :-)

~~~
lincpa
Although it looks very strange, I am telling the truth (my experience
[https://github.com/linpengcheng/fa](https://github.com/linpengcheng/fa)), why
is it downvote?

I feel that I fully comply with the practice of surgeon 3 in the linked
article (Phil Greenspun wrote about "software engineering professionalism"
[http://philip.greenspun.com/seia/writeup](http://philip.greenspun.com/seia/writeup))
in the comments.

```

Surgeon 3 has developed an innovative procedure and practices it regularly,
but also makes time for occasional travel to France, China, Japan, and
Argentina to teach other doctors how to practice the innovation.

Most of their fellow physicians would agree that Surgeon 3 is the "most
professional" doctor of the group. Surgeon 3 has practiced at the state of the
art, improved the state of the art, and taught others how to improve their
skills.

```

