Live data from Hacker News

Programming is terrible – Lessons learned from a life wasted (2013) [video]

youtube.com

51–60 of 168 posts

Re: Programming is terrible – Lessons learned from a life wasted (2013) [video]

#51

He bashes the "myth of the 10x" engineer. Clearly the idea of the 10xer has too big a place in the mythology of our industry. It's oddly masochistic and as far as I know it's unique to us. There are no doctors blogging about "10x doctors" for example. Anybody who has watched N0tch code on Twitch knows that there are certainly people who are far more productive coders than the average engineer. I have no idea if he's…

I've been in the industry for >20 years. I've met 2 engineers/programmers that some would call the mythical 10x engineer. These are engineers that you can literally build your entire company on their shoulders because they do everything and they do everything with very few mistakes. The problem with the term is that everyone thinks they are 10x engineers, when they aren't. As I've mentioned, there were only 2 people…

> when he left, it literally took 5 engineers to replace the work that he did

I dunno, he sounds more like a 5x engineer to me!

Re: Programming is terrible – Lessons learned from a life wasted (2013) [video]

#52
post #24

Earlier quoted context omitted.

It's not a matter of coding 10X times faster than another coder. It's a matter of coding to not put yourself into common traps/pitfalls that waste your time trying to get out of. And also to make the correct decisions/strategies early in the project to put it on a track that uses the correct tools, libraries, etc. that won't waste your time later. A junior developer is almost always a net negative on a team of develo…

What i commonly notice is if a developer starts solving the problem at its core, and then builds the interfaces around it, or he starts writing "utility" code, like writing code in hope that the problem will solve itself if enough helper code (or framework code) has been written for it. When i see a developer doing the latter, i know he will not be too productive, because he has no clear vision of the solution.

Perhaps if you have a poor definition of utility code. Sure if you spend all your time writing random string functions or a new web framework or whatever. But that's sorta tautological: writing useless code is useless and bad.

I often find bottom up coding to be fantastic. I'll start with a general idea of what I want to do, then start writing low-level "helper" functions. Like "save image to blob storage", "perform search against remote API", "normalize search result into our document type", etc.

When I get around to tying it all together, if I've done it well, I find that hey, my "main" function is only 5 lines long as I've built up all the primitives I need.

And sometimes the reverse works, too, where I start off writing main and end up with a 1000 line function with lots of nested bits. Then go back over it and start extracting parts/structuring.

Like many things in software creation, this is one of those "artistic" or "creative" or "intuitive" parts where the developers internal heuristics and experience hopefully guide them to the right approach. Not to say it should be that way, but that seems to be a big difference between good and bad programmers, and I've not seen really hard, structured, learning approaches to teach the difference.

Re: Programming is terrible – Lessons learned from a life wasted (2013) [video]

#53

He bashes the "myth of the 10x" engineer. Clearly the idea of the 10xer has too big a place in the mythology of our industry. It's oddly masochistic and as far as I know it's unique to us. There are no doctors blogging about "10x doctors" for example. Anybody who has watched N0tch code on Twitch knows that there are certainly people who are far more productive coders than the average engineer. I have no idea if he's…

> Clearly the idea of the 10xer has too big a place in the mythology of our industry. It's oddly masochistic and as far as I know it's unique to us.

I think it's really just unique to the Bay Area, and it's wacked out culture it's been cultivating that focuses on the bang-bang-bang go-go-go 100x multiple return on dollars.

I've been an engineer for over a decade, and the first time I heard the term "10x" was 6 months ago when a product manager referred to me a "10x engineer" during a conference call.

It's absurd.

Re: Programming is terrible – Lessons learned from a life wasted (2013) [video]

#54

Earlier quoted context omitted.

> He was online almost every hour of the week/day and he was always working. It's a lot easier to be a "10x engineer" when you work 2x-3x the hours everyone else.

Not many people can do that.

Not many people choose to do that.

Re: Programming is terrible – Lessons learned from a life wasted (2013) [video]

#55
post #30

Earlier quoted context omitted.

It's greed really - everyone wants to hire 10x engineers, but it's not like you're going to pay them 10x of course.

Well, if you pay 10x for 10x more productivity you don't gain much, do you?.. Can't blame 'em for not bothering to look for a rarity for no gain.

If one person can really do the work of ten, you can save money on overhead:

- Fewer managers - a group of 10 will probably require a programming lead who spends some fraction of their time not coding.

- One tenth the amount of office space and hardware.

- Only paying for one person's health insurance instead of ten peoples'.

- Vastly reduced communications overhead - a team of 10 people is going to spend a lot of time communicating with each other to insure that everyone is doing what they need to be doing.

So I'm guessing you'll come out ahead even if you do pay ten times more for ten times the productivity. But companies rarely even pay twice as much for a developer who is exceptionally productive.

The downside of having one person doing the work of ten is that it's a disaster when the person decides to quit - it's the equivalent of a whole team of people simultaneously quitting.

Re: Programming is terrible – Lessons learned from a life wasted (2013) [video]

#57

He bashes the "myth of the 10x" engineer. Clearly the idea of the 10xer has too big a place in the mythology of our industry. It's oddly masochistic and as far as I know it's unique to us. There are no doctors blogging about "10x doctors" for example. Anybody who has watched N0tch code on Twitch knows that there are certainly people who are far more productive coders than the average engineer. I have no idea if he's…

I wouldn't be surprised to hear there's a 10x difference in, say, error rates between the best and worst doctors. In fact, I'm almost definitely sure that's a lower bound, given my experiences with doctors in third world countries. Barbaric, some of them still are. Depending how bad the worse doctors are, 10x from "average" might be reasonable.

In software development, I think that 10x number is also a lower bound if anything. Bad developers are everywhere, churning out volumes of terrible, pointless, code. In a code review a while back for a client, I made an offhanded comment about a minor thing like "make sure this list is sorted and deduped". The code owner then started "discussing" that and estimated it'd take about 2 hours. I was stunned and added the code ".Distinct().OrderBy(...)" right there in the review. I'm at a loss at how to explain that kind of difference, and that's on a micro-scale.

At the other end, I've seen projects/companies go down colossally wrong paths because they simply couldn't understand basic algorithmic complexity. So, say, I dunno, a week or two to do it right, versus a year spent chasing down fake paths? That doesn't even measure the business impact of floundering around for a year while impacting customers.

Focusing on "coding 10x faster" is simply misleading. Like measuring an author based on how fast they can type.

Re: Programming is terrible – Lessons learned from a life wasted (2013) [video]

#58
post #27
post #19

Earlier quoted context omitted.

I love to write code. And it's about 20% of my job. As an engineer, I spend most of my time in design (and meetings). The code is the fun, relaxing part. Many times, I don't even write code; I "review" code. We have "grunts" (younger programmers, usually) who pump out code all day. They're are involved in design too, of course. But in a very limited way. But you know, I think all of this comes with age. If you 22 yea…

> If you 22 years old, fresh out of school, you are going to be writing code all day. And that's how it should be, You need to cut-your-teeth. I'm 22 years old, fresh out of school and I'm as involved in design, recruiting and peer reviews as my older peers. And that's how it should be. Why? Because age has nothing to do with productivity, understanding or ability to come up with simple, elegant and maintainable desi…

Experience on the other hand has a lot to do with all those things.

Re: Programming is terrible – Lessons learned from a life wasted (2013) [video]

#59

He bashes the "myth of the 10x" engineer. Clearly the idea of the 10xer has too big a place in the mythology of our industry. It's oddly masochistic and as far as I know it's unique to us. There are no doctors blogging about "10x doctors" for example. Anybody who has watched N0tch code on Twitch knows that there are certainly people who are far more productive coders than the average engineer. I have no idea if he's…

> I have no idea if he's coding 10x faster

It's a bad myth that "speed" has anything to do with the 10x or 100x programmer. The thing that sets great programmers apart is their ability to instinctively and intuitively design elegant and correct solutions to a given problem while introducing minimal bugs. A great programmer whose code will stand the test of time without needing a total rewrite 6 months later and without a horrendous maintenance and complexity overhead could write their code at 10 words a minute and still be worth their weight in gold.

Personally I think "great" programmers are really just "good" programmers - those that understand the problem domain, have expertise in their tools and know how to minimize complexity - this should not be some white albatross but rather a level we should all aspire too. I think it is more useful to identify bad programmers - those that rage in like a bull in a china shop, adding layers of complexity and abstraction to cover up their lack of knowledge and expertise, who flippantly choose bad designs for a given problem because they believe in some universal "right way" and spend half their time on premature optimizations before their buggy product is even in a testable state.

I have come across numerous bad programmers in my time, and if they were nipped in the bud early before they could leave reams of damage in their wake, I can testify to many man-months in effort rectifying their mistakes.

Re: Programming is terrible – Lessons learned from a life wasted (2013) [video]

#60
post #30

Earlier quoted context omitted.

Well, if you pay 10x for 10x more productivity you don't gain much, do you?.. Can't blame 'em for not bothering to look for a rarity for no gain.

If one person can really do the work of ten, you can save money on overhead: - Fewer managers - a group of 10 will probably require a programming lead who spends some fraction of their time not coding. - One tenth the amount of office space and hardware. - Only paying for one person's health insurance instead of ten peoples'. - Vastly reduced communications overhead - a team of 10 people is going to spend a lot of ti…

Well, yeah, if you actually pay My tongue is in my cheek or some other such place right now because I kinda find this 10x business a bit funny, given that we can't even roughly quantify productivity. The thing I do believe in is that some people fit some kinds of work so well that it's silly to consider many other seemingly similarly qualified people as a practical alternative; as in, a hammer is good at hammering and it's not a question of it being 10x better than a shoe or 5x, it's just silly to hammer with a shoe, just don't do it. This is obvious but if phrased as "hammers are 10x shoes", it loses its obviousness and gains ridiculousness.
Post reply on HN