Live data from Hacker News

All Programmers Are Self-Taught

jgneuf.wordpress.com

71–80 of 86 posts

Re: All Programmers Are Self-Taught

#71

Earlier quoted context omitted.

I would argue that a good CS curriculum makes you a good Computer Scientist. I started really programming my senior year of high school. My code has been steadily improving since then. However if it was not for my CS courses I would't be able to tell the difference between a binary tree and a stack. Programmers are artists. You can't teach art. Computer scientists are mathematics. Math must be learned. The two togeth…

I'm a self-taught programmer who went to art school and I love this thought-provoking comment. There's one thing I'd like to point out. You can teach the techniques of art, which are used for creating art. You can teach the techniques of programming, which are used for creating software. You can't teach how to create something that's never been created before . That goes for creating ground-breaking art, as well as g…

You can teach the techniques of programming, which are used for creating software.

I completely agree. The article might be right that it doesn't usually happen. But we should ask what the causes are, not simply accepting the "it can't be taught".

Re: All Programmers Are Self-Taught

#72
Having spent some time in the academia, the main reason why most TAs and professors don't teach you how to code is that most of them don't know how to code for themselves.

That skill is neither expected nor rewarded in academic careers. So unless they moonlighted as hackers or in a company, they never learned to code as students, and certainly won't as staff. They certainly won't teach it.

Re: All Programmers Are Self-Taught

#73
post #58

College is an interesting beast. It is a great tool to mature bright teenagers into contributing adults for society. It does this in several ways: throws you into a small space full of diverse people, challenges you mentally to an almost breaking point and forges you into the mold of a person you will be for the rest of your life. Oh, and you'll learn some professional skills, as well. For high tech industries, this…

There are far more cost-effective ways to mature bright teenagers into contributing adults for society. Arguably more effective ways at large as well.

Please argue for one as an example.

Re: All Programmers Are Self-Taught

#74
post #17

I'm not sure I can fully agree with the idea that programmers are self-taught in the sense of writing good code. I'm a student at the University of Waterloo, and in the courses in 1st and 2nd year a sizeable chunk of the marks depends on readability/documentation and such. We have coding guidelines and we lose marks for not following them. Needless to say, this doesn't mean most students at Waterloo write good, well-…

Few of the good programmers I know write much in the way of comments. 1 good comment per 30-50 lines of code is actually plenty as long as the code is readable. (Edit: Plus one comment per WTF.) The problem is writing readable code is difficult and must be maintained.

PS: At best a comment only says what someone thinks the code does. Program for long enough and you will get bitten by this.

Re: All Programmers Are Self-Taught

#75

I have been trying to learn to code for about 3 years. Recently - I succeeded (in getting started!). I had been on courses, bought books, read tutorials etc. but at the end of each forced exercise I still could not build a decent rails app. Then, after coming back from the US 6 months ago, I decided I wanted a GroupMe clone for the UK. So I built one. http://bit.ly/groupmeclone The SMS is disabled on that version as…

Congratulations on your work, pretty cool! I'd love to talk to you about the process you went through, any chance to reach you through email?

Sure! burtonic [at] gee male dot com

I am also on Twitter: http://www.twitter.com/ricburton

Re: All Programmers Are Self-Taught

#76

I have been trying to learn to code for about 3 years. Recently - I succeeded (in getting started!). I had been on courses, bought books, read tutorials etc. but at the end of each forced exercise I still could not build a decent rails app. Then, after coming back from the US 6 months ago, I decided I wanted a GroupMe clone for the UK. So I built one. http://bit.ly/groupmeclone The SMS is disabled on that version as…

>> The SMS is disabled on that version as I have no intention of subsidising peoples' group-messages If you are interested in advancing that project, you may want to consider sending the SMS messages via email, which would be free. Each user would need to define their gateway when they set up their account. Many carriers have SMS gateways, and an easy way to translate a phone number into an email address that deliver…

Oh that is very cool. I would definitely invest the time if I was still interested in the project but I have finally found something I want to focus all my attention on. Thanks!

Re: All Programmers Are Self-Taught

#78
post #72

Having spent some time in the academia, the main reason why most TAs and professors don't teach you how to code is that most of them don't know how to code for themselves. That skill is neither expected nor rewarded in academic careers. So unless they moonlighted as hackers or in a company, they never learned to code as students, and certainly won't as staff. They certainly won't teach it.

Yeah there's no 'prestige' in it, and it doesn't count for tenure.

Here's an article that explains it via the 'theory of the leisure class': http://lemire.me/blog/archives/2011/06/06/why-i-still-progra...

"I believe that the rejection of programming as a lower activity can be explained by the Theory of the leisure class. In effect, we do not seek utility but prestige. There is no prestige in tool-making, cooking or farming. To maximize your prestige, you must rise up to the leisure class: you work must not be immediately useful. Thus, there is more prestige in being a CEO or a politician, than in being a nurse or a cook. Scientists who supervise things from afar have more prestige. Programming is akin to tool-making, thus people from the leisure class won’t touch it. People will call themselves engineer or analyst or developer, but rarely “programmer” because it is too utilitarian."

Re: All Programmers Are Self-Taught

#79
post #72

Having spent some time in the academia, the main reason why most TAs and professors don't teach you how to code is that most of them don't know how to code for themselves. That skill is neither expected nor rewarded in academic careers. So unless they moonlighted as hackers or in a company, they never learned to code as students, and certainly won't as staff. They certainly won't teach it.

It depends on what branch of CS you're in.

Just like computer science is not about computers, it's also not really about programming. Certainly there's overlap. I have a pH.D. student friend who works on proving the correctness of programs. He doesn't write code, he writes proofs. Of course he'd be more rusty in C than a full time C dev.

But I also have pH.D. students that build proof-of-concept software. Yeah, they're not optimized in the way that live software is optimized, but they can certainly code.

And I really have to wonder where you went to school if "most" of the TAs and profs "can't code" and what kind of standard you have. That was not my experience at all when I went to school.

Re: All Programmers Are Self-Taught

#80
post #79
post #72

Having spent some time in the academia, the main reason why most TAs and professors don't teach you how to code is that most of them don't know how to code for themselves. That skill is neither expected nor rewarded in academic careers. So unless they moonlighted as hackers or in a company, they never learned to code as students, and certainly won't as staff. They certainly won't teach it.

It depends on what branch of CS you're in. Just like computer science is not about computers, it's also not really about programming. Certainly there's overlap. I have a pH.D. student friend who works on proving the correctness of programs. He doesn't write code, he writes proofs. Of course he'd be more rusty in C than a full time C dev. But I also have pH.D. students that build proof-of-concept software. Yeah, they'…

Sure there are some researchers who can and do code, but their coding skills rarely do much good to their career. I bet that's why you delegate PoC software development to PhD grunts :) Moreover, it seems to me that most academic coders don't have enough occasions to collaborate on long-lived code bases; I don't think you can call yourself a developer if you can't deal with code decay and team collaboration.

Finally, I didn't realize how many teachers and TAs couldn't code while I was a student--although I had serious doubt about some of them; I fully realized it when I was a PhD and TA, with a background as a start-up developer.

I don't see it as a huge issue, though: as the article points out, many developers successfully learn to develop on the go. In my opinion, school is there to teach you the foundations which would be very hard to learn on the fly as a junior developer: maths, formal reasoning, hardware architecture, algorithms, maybe a bit of formal semantics. As I recall, those happened to be the most interesting lectures, given by the most awesome professors; it's probably no coincidence.

Post reply on HN