Live data from Hacker News

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

youtube.com

121–130 of 168 posts

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

#121

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. There are no doctors blogging about "10x doctors" for example." It takes 6-8 years of intense training to become a doctor. This is after already doing well in college and passing a tough skills/general intelligence test. The bottom 70%+ who want to become doctors are simp…

I don't think it's a given that someone with excellent grades in high school/college could become a good doctor, even with training. The same goes for a programmer.

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

#122
post #112

Earlier quoted context omitted.

"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." It takes 6-8 years of intense training to become a doctor. This is after already doing well in college and passing a tough skills/general intelligence test. The bottom 70%+ who want to become doctors are simp…

Last time I checked you need much more engineers than doctors.

[deleted]

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

#123

Earlier quoted context omitted.

>know how to minimize complexity I don't think this gets nearly enough praise when assessing people. I've worked at a few different software companies with a raft of different programmers and among those who were deemed "superstars" there were certainly a few who I wouldn't want to work with (or inherit code from) given the choice due to the hideously complex nature of their output. Despite their ability to produce m…

I'm currently working for a company where "Move Fast" means "Write lots of code". As a result, there's a lot of sloppiness, duplication, and pieces that don't quite fit together right. I'm having difficulty explaining the importance of reductionism; In the words of Antoine de Saint Exupéry: "It seems that perfection is attained not when there is nothing more to add, but when there is nothing more to remove."

IMO replacing "Move Fast" with "Iterate Frequently" helps.

The speed you want is rotational, not translational :)

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

#124
10X developers have and exercise vision. Similar to how a CEO is arguably the best business person in the company, a developer may have the same differentiation in performance without the business domain counterpart's visibility in the organization. A CEO knows not to enter a competitive market, a great dev knows not to increase code complexity. A CEO knows to choose opportunities worth pursuing, a great dev knows which resources to use and avoid. A great dev makes decisions based on 100s of datapoints instead of 10s. It's like chess-and there are certainly 10X chess players.

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

#125

Who cares if you're 10x, we'll all be 10x dead at some point. In 50-100 years I doubt most of your 10x work will still be around. Might as well go enjoy some life before it ends.

^ this guy gets it. Life is short, do your best at your profession but keep everything in perspective - do what you love!

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

#126

Earlier quoted context omitted.

That's like arguing that surgeons are performing a blue collar job when they're given a diagnosis and test results from another physician. In theory they're performing the same repetitive motion, just like programmers are in theory creating an implementation to solve a given problem. However, there are provably good and bad surgeons and provably good and bad programmers. The reality is that you're making a lot of dec…

I agree with you, except for one thing: Surgeons are briefed on the problem, the diagnosis, the patient's medical history, given all the information they need to know about the project. They are then locked in a small room with all the tools and assistants they need, and given complete and total authority and autonomy over the process and results. Because of that, surgeons are some of the most respected people in the…

>Programmers are dripfed information on a "need-to-know" basis by managers who have no clue about the process involved (and therefore with no clue about what information is needed). They are then placed in an open area, interrupted regularly, have to justify the cost of any tools, are never given assistants, and have exactly zero authority or autonomy over the process or results. Because of that, programmers are some of the least respected people in their environment.

That doesn't describe my job very well. (OK, I don't have an assistant, but I don't think I need one.)

Or are you deliberately making a contrast between "coders" and "software engineers"?

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

#127
post #83
post #59

Earlier quoted context omitted.

> 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 witho…

> ability to instinctively and intuitively design elegant and correct solutions to a given problem while introducing minimal bugs. That is very important. Code that is not written is just as important importat (maybe more important) than code that is written. What I mean is good programmers will find way to solve something using less code. That is very imporant for understandability, maintenance, and long term suppor…

>What I mean is good programmers will find way to solve something using less code. That is very imporant for understandability, maintenance, and long term support.

It's not about less code, it's about simplicity of code. I have known people who have played code golf with production code, either out of bordom or a desire to generate job security. That's not actually solving the core problem of making it easier for someone to port to a new version of an OS in 5 years time, it only looks that way if you aren't paying attention. Short code can be just as confusing as long code.

Your code should, in all places where it is not necessary to do crazy speed optimisations, be understandable by the average intern. Yes, that means comments, and yes, sometimes it means doing something in one line that is more commonly done in 20 lines and yes, sometimes it means taking 20 lines to do something you could do in one line.

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

#128

Earlier quoted context omitted.

Its rather strange you would bring up Notch, as I wouldn't consider Notch-run Minecraft a marvel of engineering. I'd hate to be the guy who cleans up after him, and while Minecraft works (and it is a really great game), most people consider to be terribly built.[1] So yes, while Notch is a rather speedy engineer, I wouldn't consider the skills of an engineer based on how fast they code. Maintainability is an importan…

game devs like notch have made a conscious and canny decision to value actually making something over code quality. also, notch didn't build minecraft expecting it to be a runaway success. see, you are a programmer - you make code. notch is a game developer. he USES code to make THINGS. the things matter, not the code. the game developer ethic is "nothing matters but getting the game running." it's not that notch is…

game devs like notch have made a conscious and canny decision to value actually making something over code quality.

These aren't mutually exclusive. When Carmack, Sweeney et al. built Quake/Unreal, they made something that was both fun and had incredible code quality. Derivatives of the Quake & Unreal engines run today and have been for the last 20 years. I'm doubtful that any code written by Notch for Minecraft will be running anywhere 20 years from now. Likewise, don't NASA engineers "actually make something" while adhering to strict code quality? Doesn't Google "actually make something" while adhering to strict code quality? The choice between "code quality" and "actually delivering" is a false dichotomy invented by people who needed an excuse.

Next, I never implied Notch was a shoddy programmer. Notch is a great programmer by his own merits and I don't think anyone can doubt that - however great programmers can produce shitty code. What I was responding to was OPs assertion that 10x programmers exist. Notch produced some pretty great stuff, and iterated quickly, but that speed didn't come free and surely theres a lot of technical debt that others now have to deal with.

Lastly, I'm not saying this is a bad thing. Sometimes its more important that you can ship first, and fix later. Sometimes being first to market is better than being the best. What I want to point out however this is a normal tradeoff and this doesn't make Notch a "10x engineer" (when I say 10x here I mean a mythical man who has achieved enlightenment that none of us can achieve even if we worked for 1000 years). He's a great developer, but we shouldn't pretend that there weren't tradeoffs to his approach and that his style is anyway mythical (like a unicorn).

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

#129
post #23

Earlier quoted context omitted.

> It's oddly masochistic and as far as I know it's unique to us. http://en.wikipedia.org/wiki/Stakhanovite_movement#History "The Stakhanovite movement was named after Aleksei Stakhanov, who had mined 102 tons of coal in less than 6 hours (14 times his quota).[1] However, his record would soon be "broken" by his followers.[1] On February 1, 1936, it was reported that Nikita Izotov had mined 607 tons of coal in a singl…

"Basically all this 10x is just a way to make people produce 10x while paying still for 1x. " Actually, I see it more frequently referenced as reason to pay people more than 1x based on productivity. There are some that deny 10x productivity exists, which is the controversy around it that I am most familiar with. If you are an order of magnitude more productive than your peers, but paid only marginally more, this bec…

That may be so, but I don't hear of many programmers on $700,000AU p/a, which would be 10x a developers salary here.

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

#130

He's talking about the guy who did Viaweb, which became Yahoo Store. First server side application which allowed designing a web site via a browser, written in LISP. The way to deal with overoptimistic programmers is to put them on maintenance programming, fixing bugs in the code of others, for a few months or years.

Um, I'm assuming that you are purposefully avoiding mentioning Paul Graham's name. You know, they guy who wrote the software that runs the site on which you are posting your comment. :-D

(wasn't sure if you were trying to be funny by doing so, or if there is something else relevant I've missed in the many posts above and below this that I haven't read)

Post reply on HN