Live data from Hacker News

How To Become A Better Programmer By Not Programming

codinghorror.com

111–120 of 121 posts

Re: How To Become A Better Programmer By Not Programming

#111
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…

I agree with everything you said. It is scary that somebody believes something like what Jeff Atwood said. It is actually very toxic thinking. Don't know what more to say other than experience and observation of a lot of people has taught me that what Jeff Atwood says is false. On the other hand, if you believe it is true, then it will just become a self fullfiling prophecy.

Re: How To Become A Better Programmer By Not Programming

#112
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.

I'm glad you enjoyed it!

Re: How To Become A Better Programmer By Not Programming

#113

Earlier quoted context omitted.

OK, but the reference to athletics is valid. There are outliers -- Muggsy Bogues or Dustin Pedroia -- but there's a reason that most professional pitchers are 6'2''. You can't get taller, no matter how hard you try.

Also a reason why pro baseball players are usually born in January.

Why?

Re: How To Become A Better Programmer By Not Programming

#115
Maybe 4 years at Microsoft is enough to tell if you have what it takes, but I doubt it. If you work elsewhere you can find yourself moving backwards if you're surrounded by poor practises, particularly early on in your career.

My programming wasn't much cop to begin with and declined in the first 4 years of my career. After 8 years it leaped forward when I read Code Complete (by Steve McConnell). Only later on, when I was maintaining other peoples code rather than writing from scratch, did I realise the pain I had been inflicting on others earlier on.

Another leap occurred when I found myself as the most senior programmer in a (small) company - when the buck stops with you, you're forced to stretch. My every day programming has also been improved by my attempts at architecture.

Its taken me about 15 years to feel reasonably confident and I can't be the only slow learner out there. So although I disagree with Jeff Atwood that you either have it or you don't, I suppose he does have a point - it was largely non-programming tasks that were the break-throughs.

It can be tempting to write-off a junior programmer as having no hope but I was that guy once and I came right eventually - there is hope for everybody.

Re: How To Become A Better Programmer By Not Programming

#116
post #104
post #84

Earlier quoted context omitted.

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

In a world of 6 billion people, 1000 is metaphorically a handful, as far as I'm concerned. In the context that we're talking about, there's certainly more than 1000 "good programmers".

Re: How To Become A Better Programmer By Not Programming

#117
post #67

Earlier quoted context omitted.

It's funny how someone like Bill Gates or your college math professor can make the observation that many people just aren't as good at some thing as others and you decide they're simply idiots, but you, who have accomplished so much and acquired so much wisdom, know differently. When I was a kid, I played soccer every day, as often as I could. I loved it. And I never got particularly good. But when I started programm…

It's hard for you to be wrong. If someone with zero programming talent does become really good, you could just say that they did have talent after all.

Let's make a baseball analogy. Do you think a person with no hand-eye coordination can become a great hitter?

I have no doubt there are people who are math averse who have plenty of untapped math ability (e.g. most women with math ability have been taught to think they can't do math). There are plenty of psychological reasons why a person who is capable of doing something might think they have "zero talent", and it's perfectly plausible for a good mentor to help them unlock their ability. But that's a far cry from the argument that "anyone can be a great programmer".

Re: How To Become A Better Programmer By Not Programming

#118

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

"Programming is hard, harder than anything else you could possibly do."

Good grief. You haven't done much.

Re: How To Become A Better Programmer By Not Programming

#119
post #113

Earlier quoted context omitted.

Also a reason why pro baseball players are usually born in January.

Why?

It is from Outliers by Malcolm Gladwell. In this book he suggests that this happens because at a young age these kids born in January have an age advantage over their peers.

During adolescence physical development can be a substantial advantage and one born in January compared to another born in August will be physically different in terms of development.

Therefore, they are better from the start due to physical advantage. This results in more coaching and more attention, therefore they are encouraged to progress further in baseball.

Very good book for those not familiar.

http://www.gladwell.com/outliers/index.html

Re: How To Become A Better Programmer By Not Programming

#120

Earlier quoted context omitted.

for crying out loud, stop saying objective; it's meaningless.

They're objective in that people agree on them. All programmers would say that a more efficient or shorter or more reusable piece of code is better, notwithstanding other tradeoffs that it makes. My use of "objective" is to distinguish from subjective criteria that people often don't agree on, like "it's more idiomatic" or "it's simpler."

Whilst the measures may be objective, the ordering of them is not. That's quite subjective.

Personally, a shorter piece of code is only better if it maintains the clarity of the longer that it is replacing - assuming all things being equal. Code is always a trade-off.

Post reply on HN