Live data from Hacker News

So You Want to be a Programmer

codinghorror.com

1–10 of 99 posts

Re: So You Want to be a Programmer

#2
I too felt a lot of readers had the wrong reaction and mis-interpreted Jeff Attwood's original post.

I was an undergrad in the tech bubble a decade ago. CS was the most in demand and popular major on campus. When the bubble burst, a lot of my former classmates abandoned programming. I was not surprised. A lot of them were CS majors because that's where the money/attention/parent pressure/sexiness was during the bubble. The moment it faded they left for greener pastures. They had realized, very abruptly, they were miserable during those long lab hours and hated debugging at 2AM before a deadline.

Coding is a beautiful and difficult thing, but like any career, it can be very tough sometimes. As Jeff says, the only path to happiness is to follow your love (or as Bret Victor would say, follow a principle). The challenge now is the same as a decade ago: quieting all that noise and figuring out what you really want to do.

Re: So You Want to be a Programmer

#4
I fear the point is still missed. He used the analogy of the auto mechanic, which I liked very much: "Isn't knowing how to change a tire, and when to take your car in for an oil change, sufficient?" Exactly.

Learning to code is like learning the basics of auto mechanics. If you own a car, it would be very beneficial to learn the basics of how a car works so you know to change the fluid levels, why they are important, and all 101 level maintenance. In a similar fashion, learning to code is like learning the high level basics of how computers work. We don't expect an business guy to learn to develop kernel level drivers, antialiasing algorithms, or detail on public-private encryption just like we don't expect every car owner to know how to repair a broken starter motor or diagnose a vacuum leak.

For a business guy, truly learning things like the detail required, difficulties in collaborating on code, and how larger programs take more time to change are all vital pieces to understanding their business.

Re: So You Want to be a Programmer

#6
post #3

Ugh. This again... Zed slayed this debate but I guess the horse is still twitching.

"To win, you must fight not only the creature you encounter; you must fight the most horrible thing that can be constructed from its corpse." (http://www.acceleratingfuture.com/steven/?p=155)

However, like you, I don't feel particularly inclined to take a crack at it today...

Re: So You Want to be a Programmer

#7
Jeff is having too narrowminded a view. Whatever takes people off TV and Facebook to acquire a skill is a net win to society.

They could do even better things? Probably, but that's not the point. If you had a similarly structured online course to communicate better, then you might have something useful to say.

Re: So You Want to be a Programmer

#8
post #4

I fear the point is still missed. He used the analogy of the auto mechanic, which I liked very much: "Isn't knowing how to change a tire, and when to take your car in for an oil change, sufficient?" Exactly. Learning to code is like learning the basics of auto mechanics. If you own a car, it would be very beneficial to learn the basics of how a car works so you know to change the fluid levels, why they are important,…

As some who used to work on cars for a living, I can say that the analogy does not fit very well.

Learning how to check your oil level, or even how to change a tire is more akin to learning how to install a new wi-fi dongle for your laptop, or how to install a new OS.

Learning how to program the computer is akin to learning how to modify the drivetrain of the car. You modify the engine to make it perform better (versus a standard baseline) by modifying or even replacing the components of the engine.

You modify your computer with code to make it perform better (again, versis a standard baseline). All computers ar equal, what differs them is the software. How each programmer can modify the order of zeroes and ones to make the computer work in a certain way.

Some people go as far as creating an engine from raw materials. In computers, we know those people as the embedded folks.

Re: So You Want to be a Programmer

#9
He's still missing the point.

If anything "learning to code," is just bad language to describe something more worthwhile: teaching people the fundamentals of algorithmic and logical thinking. We don't teach mathematics to kids so that they will all become mathematicians and we certainly don't teach them literacy so that they will all become the next J.D. Salinger. They are just tools for solving other problems. "Learning to code," is just another tool that will become ever more prevalent in the years to come.

The problem of not teaching these fundamental principles is that when it does become useful to do so it will be too late. We cannot afford to wait yet another generation to teach these ideas and principles. I think we're far enough along by now in the development of computer science to have a basic language of things to talk about. If we at least teach people these things then how many other judges in technology patent cases will be able to at least have an intuition to call out a patent troll? How many office workers will be able to find hidden information in their data or automate the repetitive tasks they do and move on to better things? How many of them will know that at least it can be done and perhaps they should hire a programmer?

As it stands right now most people don't even have an intuition of what can be done with a computer. Their world is comprised of apps and silos. When they get onto an airplane they have no idea that they're sitting in a flying solaris box with wings. They don't realize that their e-reader is a general purpose computing device capable of more than just downloading books from that one store they bought it from.

I don't think anyone advocating algorithmic literacy is suggesting that we train legions of crafts-people.

edited for grammar

Re: So You Want to be a Programmer

#10
post #2

I too felt a lot of readers had the wrong reaction and mis-interpreted Jeff Attwood's original post. I was an undergrad in the tech bubble a decade ago. CS was the most in demand and popular major on campus. When the bubble burst, a lot of my former classmates abandoned programming. I was not surprised. A lot of them were CS majors because that's where the money/attention/parent pressure/sexiness was during the bubbl…

I don't understand this.

Doing a couple hours a week learning Javascript and you will now change careers?

Or, inversely, learning Javascript on Codecademy will get you a lucrative job on frontend programming, if you are not talented?

Yes, of course doing what you love and striving for excellence and doing your research on your own are all great admirable things everyone should do. But they are hard, and not at all at odds with this tiny time investment. What's all the fuss about?

Let people do what they want to and get off the high horse, unless you are pulling people up with practical contributions, not just "don't do this"

Post reply on HN