Live data from Hacker News

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

youtube.com

81–90 of 168 posts

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

#81

Earlier quoted context omitted.

> Programmers as a blue colar job ?

Not blue-collar because we wear blue collars or perform physical labour, but because programmers are not professionals - we're not architects, we're bricklayers. In the conventional business mindset programmers just implement a plan devised by someone else. Consequently we are fungible (easily replaced by cheaper alternatives), and a cost rather than an asset.

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 decisions when you cut out a tumor or implement a spec, decisions which take skill and practice to get right. I certainly wouldn't want my surgeon to be a cheaper alternative, nor would I want a programmer working for me to be the same. Not all programmers or surgeons are equivalent, since there is a large element of skill and practice.

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

#82
post #34

Earlier quoted context omitted.

You're dismissing bottom up programing. That is actually a wide used technique, especially useful when the problem is not completely understood at the beginning.

It is also useful as a refactoring technique. Pulling common structures and patterns out to helper code often reveals the true structure of the existing code, which makes the end result easier to see.

.. That is, provided you refactor again afterward to put things into the correct abstractions.

I call this pulling out into helper code function "blowing up" the code, because it usually results in an order of magnitude larger amount of lines of code.

This refactoring technique certainly helps make the core logic of the (usually) over complicated program visibly easier to see / grok from a distance.

From there its just a matter of reducing / refactoring / simplifying things down to more correct (at least I hope) abstractions that don't overcomplicate the solution.

This is most useful when you're given something like a 5k line script that does far too many things for far too many different reasons, all with very little if any documentation. (ie, bottom up refactoring, don't really know what the solution is but you know the current solution isn't the way to go)

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

#83
post #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 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 support.

That is hard to convey to an outsider. Say a manager who has never programed that is in charge of evaluating programmers they are managing. They will usually value more code, more nights spent at the office and more churn fixing bugs vs less code, less nights spent at the office, no churn or "putting out fires". Heck to them it looks like the 10x programmers is a 0.1x programmer compared to others.

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

#84

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…

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 important feature (however, at the same time maybe building a house of cards really quick than flipping it to Microsoft for 1B, maybe ignoring maintainability is not so bad).

[1]http://www.computercraft.info/forums2/index.php?/topic/8325-...

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

#85

Earlier quoted context omitted.

Not blue-collar because we wear blue collars or perform physical labour, but because programmers are not professionals - we're not architects, we're bricklayers. In the conventional business mindset programmers just implement a plan devised by someone else. Consequently we are fungible (easily replaced by cheaper alternatives), and a cost rather than an asset.

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 their environments.

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.

But we do have a few things in common: if the patient dies it's the surgeon's fault, and if the project fails then it's the programmer's fault.

This stark comparison is exactly why we're blue-collar workers not professionals.

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

#86

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…

10x difference between error rates? No, this is not the case. Well, it might be in some special situations, like a scammer and a specialist, but you'll wont find that in the case of GPs, for example. Obviously you should only compare doctors on the same field (N0tch would be quite unproductive if he suddenly had to work with COBOL, for example), and between those the difference is measured in percentages, not 1000 percentages. (I can dig up the data if you want but I definitely read this when I recently had to look into diagnostic errors.)

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

#87
post #42
post #12

page 10 of the slides says: > kill yourself now That's totally inappropriate no matter how funny you think you are.

Bill Hicks video about marketing was unbelievably funny, while pretty much say exactly that to marketing people for ten solid minutes. I get there is probably some deeper reason behind your views. But I respectfully disagree.

Is this what you've got in mind?

http://fixyt.com/watch?v=3_VWXMFGsTo

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

#88

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…

I see your point. I'd argue that programmers who are treated that way have bad managers, though, rather than it being a function of programming as a profession. I've never dealt with a company that hasn't given me some autonomy, though, so I can't really comment on that perspective.

A company can give programmers autonomy, or it can give them bits of information and treat them poorly. It could also do this for its sales team, its lawyers, or its marketing department. This strikes me more as a problem with the company rather than a problem with the nature of programming.

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

#89

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…

The 10x engineer is actually rather common place imho. If we can acknowledge that the work of some engineers create debt then we can simply find an engineer that doesn't and assume there's compound value in their work (which is probably the case).

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

#90
post #21

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…

N0tch's Twitch streams are rather misleading. It seems like he has incredible speed and productivity but that's mainly because he's repeating a well-rehearsed implementation.

> but that's mainly because he's repeating a well-rehearsed implementation.

I would like to watch videos of someone doing something similar, but not well-rehearsed reimplementation. Got any? Thank you..

Post reply on HN