Live data from Hacker News

How To Become A Better Programmer By Not Programming

codinghorror.com

101–110 of 121 posts

Re: How To Become A Better Programmer By Not Programming

#101
post #59

Earlier quoted context omitted.

Have you ever taught programming to adults? I have. Some people were nearly incapable of grasping the matter. Others could do it as easily as buttering a sandwich. I do not believe it is always a question of circumstance, but a question of an innate, inbuilt ability. Some people can and did rise above their personal weakness, through hard work and study. Chess and programming are cousins in thought.

Does these adults learn programming because they want to program, or due to some other reasons (e.g. money, or they are forced to)?

Required classes to finish a bachelor's in CS or IT, I'm guessing. I've taught programming to a couple hundred college students (or more) and I agree that the aptitude seems to either be there, or not.

Re: How To Become A Better Programmer By Not Programming

#102
post #95

Earlier quoted context omitted.

Many of these reasons are the same: inability to pivot and adapt to adverse circumstances. For example, you cited "they had to build on top of pre-existing shit and couldn't do it right" as a creator of bad programmers. You sound like a college student on this one, because this is the norm in the software industry. Every programmer (good and bad) has faced this one several times. The difference between bad and good p…

Did you mean to write '100 lines/month' up there, or is that an exaggeration for comic effect? I have little experience with bad programmers--but you seem to know enough (or think you do) to throw percentages out there.

Perhaps a slight exaggeration, but not much of one. 200-300 lines per developer per month is the norm in large companies. Most of the time is spent reading crappy code, debugging crappy code, and dealing with crappy workarounds for crappy code. It sucks.

Even very good programmers fall below 500/month if they get mired in legacy bullshit.

Re: How To Become A Better Programmer By Not Programming

#103
post #16

From what I've seen, there's just no crossing the skill chasm as a software developer. You've either got it, or you don't. No amount of putting your nose to the grindstone will change that. What a scary thought. Good thing it's not true. One of the many reasons I became a programmer was that the sky was the limit. Still is. Want to learn something new? Learn it. Want to build something cool? Build it. The only real l…

Why isn't writing software like chess or sport? The highest ranked player in the world is twenty years old. Any local chess club is full of people who have studied the game for years but failed to break 1400. I've taught people who were just incapable of the most rudimentary strategic thinking and people who just naturally saw things that it took me years to learn. The evidence is clear that there are people in the w…

Why might programming not be like Chess?

Because it is a multidimensional profession rather than rather fixed task?

Programming is hard, harder than anything else you could possibly do. But because it is so hard, an important task for any programmer is to know their limitations and work around their limitations - master the skill of software engineering.

Just consider, the things that "only a few people can do", like playing 2800 chess, are turning out to be what a computer can more easily accomplish. Whereas the things "any idiot can do", like speaking English, are turning out to the things that computers have a really hard time doing.

In this sense, if programming is a "humanistic" field, it seems like many people and kinds of people can achieve excellence in it. But naturally this depends on what an organization cultivates.

Re: How To Become A Better Programmer By Not Programming

#104
post #84

Earlier quoted context omitted.

Why isn't writing software like chess or sport? The highest ranked player in the world is twenty years old. Any local chess club is full of people who have studied the game for years but failed to break 1400. I've taught people who were just incapable of the most rudimentary strategic thinking and people who just naturally saw things that it took me years to learn. The evidence is clear that there are people in the w…

"Why isn't writing software like chess or sport?" ... "There are obviously natural geniuses in our field, why not natural dunces?" Precisely because 5-standard-deviation-above-average natural talent isn't required for success in our field. There's only one chess champion in the world and a handful of grandmasters, by definition, and those are gonna be the ones with talent and hard work. But to succeed as a programmer…

"There's only one chess champion in the world and a handful of grandmasters, by definition, and those are gonna be the ones with talent and hard work."

There are in fact over 1000 grandmasters.[1]

Originally there were just 5, but as you can see, over time the ranks of grandmasters have swelled.

Many in the chess world lament that it's too easy to attain (or even buy) a grandmaster title these days, and that it doesn't mean nearly as much these days as it used to.

[1] https://secure.wikimedia.org/wikipedia/en/wiki/Grandmaster_(...

Re: How To Become A Better Programmer By Not Programming

#105
post #95

Earlier quoted context omitted.

Did you mean to write '100 lines/month' up there, or is that an exaggeration for comic effect? I have little experience with bad programmers--but you seem to know enough (or think you do) to throw percentages out there.

Perhaps a slight exaggeration, but not much of one. 200-300 lines per developer per month is the norm in large companies. Most of the time is spent reading crappy code, debugging crappy code, and dealing with crappy workarounds for crappy code. It sucks. Even very good programmers fall below 500/month if they get mired in legacy bullshit.

crazy. I have _days_ I write 500 lines of production grade code.

Re: How To Become A Better Programmer By Not Programming

#106
post #11

This article just confirms my notion that in the debate about "what makes a great programmer" there is a fundamental disconnect between the concepts of being "a programmer" and being "a maker of software". Making software consists of way more than just programming, and in that respect I agree with Atwood. However, that ignores two other things I consider to be proven truths: 1. You don't have to be a great programmer…

This is such a good point. I've noticed that the personality style of "algorithm obsessed, Knuth worshiping, all about optimization, hardcore coder" doesn't have a lot in common with "creative, new software, good UI, unique application builder" personality. While its important to have some of the former under your belt, its the latter that gets shit done and makes things. I consider myself a maker, not a coder or a c…

I like your point. It reminds me of how facebook was initially cobbled together with some (likely) hodgepodge php and mysql code. It was a great user experience and took off. After it becoming a hit, they optimized it and improved it.

Re: How To Become A Better Programmer By Not Programming

#107

Earlier quoted context omitted.

Part of talent is knowing how to learn the right way.

Maybe true, but "knowing how to learn" doesn't completely cover it. It's absolutely possible to make middle-of-the-road developers into good developers through training and mentorship. It's just that many (possibly most) developers don't get opportunities for good training. They're expected to use their "talent" to figure things out on their own, which in most cases means Googling or trial-and-error experimentation.…

I think it comes down to drive. If you want it bad enough you'll figure it out. Don't understand the difference between the stack and the heap? Read about it for 4 hours after work, etc. etc. etc.

Re: How To Become A Better Programmer By Not Programming

#108
post #9

Earlier quoted context omitted.

I've not found this to be true. I'd like it to be true, but I don't think it is. When I try new programming methodologies, ideas, etc, I often notice a distinct change in how I program and how I think about programming. When I try new life choices (emmigrating to the third world, reading good literature, etc) I grow as a person, but I really can't think of how it's affected my programming.

Maybe the point is that, programming isn't all coding, but also talking, connecting, and relating with other people you're working with, working for, and those that you're building a product for. Growing as a person I think does help in those aspects.

great analysis

Re: How To Become A Better Programmer By Not Programming

#109
post #3

You can only complement and enhance your existing programming skills by branching out. A big part of that branching out in my opinion is expanding vistas in areas unrelated to engineering, like reading good literature, creating or appreciating art, and travel.

what do you guys think of branching out in the sense of:

-a c# programmer learning python -a sql expert learning cassandra

etc?

Re: How To Become A Better Programmer By Not Programming

#110
post #87

Well, I may not be a great programmer, but after programming for 30 years, I'm a hell of a lot better than I was after programming for three or four years. The story of my evolution as a programmer is at http://lists.canonical.org/pipermail/kragen-tol/2007-March/0... . Even after 25 years, I was doing things that I didn't have the knowledge or skill to do five years before. (On the other hand, sometimes I look at kra…

Thank you for the high-level overview and the book recommendations in your post.
Post reply on HN