Hacker News new | ask | show | jobs
by dilyevsky 1468 days ago
> there are plenty of fake 10x engineers out there, or temporary 10x-ers who are only doing well because of their working environment.

Isn’t that just really obvious truism that someone who is hyper specialized and really good in one area say video codecs is probably not a 10x’er in frontend dev? Doesn’t make it fake, still a jackpot as far as employers and probably coworkers are concerned. Unless you’re someone like like Fabrice Bellard but he’s more like a 1000x’er so probably still be better than most at anything programming related

3 comments

I think what the parent meant was that “true” 10x engineers can apply their skills to a wide variety of problems, and it isn’t just applicable to a narrow problem domain and/or for a very short period. This makes clear he isn’t talking someone who just happens to be specialized in a specific codebase or one specific problem, for example.
Most companies won’t have structure to accommodate such generalists anyway so they will get pissed or bored and quit so you probably should look for “fake” ones then.
Perhaps they are consultants who gig hop?
i think the major advantage is much more rooted in general problem solving ability

familiarity might be able to give you 1-2x edge but 10x+ comes from raw problem solving skill and research aptitude

From the ones I've witnessed it's pure focus and endurance.

They are intelligent but so are many of their less impressive peers. They do have problem solving skills but most developers develop the same problem solving vocabulary after few years. They however don't chit chat much when they work, don't wander away to unrelated activities (like hanging out over here in worktime) and if disrupted recover their focus quickly.

How do you build this raw, generically-applicable problem solving skill? Everything I come across ends up being frameworks for probables specific to a discipline.
I think it can come from natural curiosity, strong fundamentals, and experience. Search for problems that don't have canned answers and try to solve them.

I think anyone can improve if they're willing to put in the time, though of course natural ability does help.

Think about learning to write a compiler for a programming language. You'd have to learn: - Computer architecture - Assembly language - Caching - Recursion and Parsing - Type theory - Translations - Performance testing

Or attempt to write your own database. That would cover at least: - File Systems - Transaction semantics - Algorithms

I think tackling problems like this would help a great deal. Or just look for areas where you don't know how to do something, and work on them.

Things like: - How deeply do you know your favorite programming language? - How easily can you setup a Linux server to host a web application? - Are you an expert at your editor? - Can you write a usable GUI, either for the web or a phone, etc.

These are great example exercises, thank you for sharing them.

I think they may get at the heart of what I was trying to say though: while these clearly would make one better at solving software engineering problems, I'm not certain they would improve one's raw, general problem solving ability in an orthogonal discipline.

Some (likely imperfect) examples are:

- solving salary negotiation of a job/contract offer

- solving socio-political organizational problems in a company

Not everything is acquirable.
Fabrice certainly is good but most of what people think he did in video codecs was mostly Michael Niedermayer, who is that good, but I don't think you'd also want to be a schizophrenic Austrian who can't leave his house.