Live data from Hacker News

All Programmers Are Self-Taught

jgneuf.wordpress.com

31–40 of 86 posts

Re: All Programmers Are Self-Taught

#31
My school experience was almost the same with one awkward and notable exception: writing a cache emulator implementing 3 different strategies for an Operating Systems class. I still hurt when I remember the TA took points for... indirection. Apparently an abstract C++ class with 3 subclasses was a no-no in the OS world.

Re: All Programmers Are Self-Taught

#32
I find myself very good at picking up small examples of code. I think the real challenge in programming isn't learning how if statements, loops, arrays, etc. work but how to put them together to do what you want. This is the real challenge and I believe this is a combination of self-teaching (maybe experiences) and natural ability.

Re: All Programmers Are Self-Taught

#33

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 first app. It's a good feeling indeed. :)

I recently wrote a ton of Node.js example scripts (chat, group chat, notifications, interaction with PHP, etc), because I had never worked with Node before. I knew PHP, a bit of Rails, and C, but it really feels good to learn a new language or way of programming. I didn't need books or anything, just a bit of example code.

Obviously, since I knew JS, Node wasn't too difficult, but it's an extension of what I previously knew so it took a while to get used to. I also learned a lot more about JS in the process. Self-teaching yourself to code has amazing results.

Re: All Programmers Are Self-Taught

#34
post #32

I find myself very good at picking up small examples of code. I think the real challenge in programming isn't learning how if statements, loops, arrays, etc. work but how to put them together to do what you want. This is the real challenge and I believe this is a combination of self-teaching (maybe experiences) and natural ability.

Loops are to software development as spelling is to writing a novel.

Re: All Programmers Are Self-Taught

#35
post #3

Carnegie Mellon is quite a stronghold of this. They don't teach much coding -- they hand you the books, give you projects and grade the results. If you produce workable code, mostly you win :-) It's telling that CMU is considered such a great tech school. Even the best don't know how to teach programming (yet?).

It's funny because I was going to bring up a complete counter point to one of the features of the article, in which TAs never read code, using CMU as the school. I'm a TA for our operating systems class (http://www.cs.cmu.edu/~410/), and We Read Your Code. Every line.

We print out thread libraries (~1000 lines of code) and kernels (~4000 lines of code, prints on 70 sheets of paper or more), and then we go over it with a red pen. We think it's some of the best feedback people get at any school. For the kernel, each group gets a one-on-one meeting with one of the TAs (or the professor) to go over the whole kernel.

I've graded some really abysmal project 0s, but by the time they get to the bigger projects we've stamped out some of the bad habits, and I'm happy to read code written by those students, because they learn the most and produce good results by the end.

The philosophy is that code is for people to read; the next guy to maintain the code in 6 months (or just you 24 hours later with no sleep in between); your reviewers, and so on.

Re: All Programmers Are Self-Taught

#36
post #19

The thing about coding is that you have to be self taught. Languages, techniques, and technology in general moves so fast that by the time you get a degree everything you've learned as far as coding goes is already being replaced. I learned simple HTML when I was 11 and have been self teaching myself ever since. I'm not in my second year of a degree in CS and what I've found is that the language and the code itself i…

Counterexample? I'm self-taught. I'm trying to filter for confirmation bias here. I dated a girl (it was awesome but it didn't last) who was a C.S. grad student but wasn't the type to "autodidact" at anything. She was also a stunning musician, an entrepreneur, and an investor. Ok, basically I'm trying to paint the picture of someone who is clearly my superior in many areas, and understands C.S., but isn't self taught…

I think you're misunderstanding me. I'm not saying that only self-taught programmers are good. In fact I think it's extremely important to get that initial education. I was just commenting on the fact that programming is a field where you're forced to continually learn new things long after your training ends. Your example is probably missing a lot of things. While I'm sure she was a great hacker I'm willing to bet that she continued her education on her own like all of us do. If you're programming then chances are that you're learning things you weren't taught in school all the time. Given that the industry changes noticeably between the time you enter a program of study and graduate it's inevitable.

I also made another point about how some programmers never try to branch out beyond what they're comfortable with coming out of the gate (i.e. they stop learning) which could have made it seem like I was saying something else.

Re: All Programmers Are Self-Taught

#37
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 is even more pronounced. I apply very little of what I learned in college to my everyday activities (though I do love a good compilers or garbage collection nerd-out). This is okay with me: I know that without college I wouldn't be who I am today and probably not as prepared to make my mark on the world.

The more cynic of us will say that CS programs teach for one thing: post-graduate courses. This is, to a degree, true. However, the VIM trick that I picked up at work today is NOT the sort of thing I would have been happy with a professor 'challenging' me on during my courses.

How you become a good programmer is through: experience, lots of boring little things that add up and working with good programmers (which almost categorically disqualifies professors and fellow students).

Want to learn to program? Work up! Always be the worst person on the team. Find people better than you and listen.

Edit: Also, good programmers: part of your job is to make people around you better. Don't shoo away the wide-eyed and eager of us (me).

Re: All Programmers Are Self-Taught

#38

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…

> However, the VIM trick that I picked up at work today is NOT the sort of thing I would have been happy with a professor 'challenging' me on during my courses.

University teaches you the things that you cannot learn on your own.

Re: All Programmers Are Self-Taught

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

Hello fellow Waterloo student!

Re: All Programmers Are Self-Taught

#40
I sympathize with the author's experience, but all programmers are absolutely not self-taught. There are all sorts of ways to learn programming that don't involve homework assignments or even college classes; pair programming and mentorship with a skilled craftsperson comes to mind as one perfectly nice alternative.

Besides, even after college I learned a tremendous amount about programming from my colleagues and peers over the years; programming isn't one of those things you learn, and then you're done learning it. It sounds like in this case, college didn't adequately cover the basics, and the author decided (to their credit!) to drive their own learning; but I promise there's a great big crowd of helpful peers and teachers out there when you're ready for them.

Post reply on HN