Live data from Hacker News

All Programmers Are Self-Taught

jgneuf.wordpress.com

81–86 of 86 posts

Re: All Programmers Are Self-Taught

#81
post #26
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-…

No personal reflection, but what "good code" means in a professional context is quite a bit removed from student assignments. There are just some things you'll never learn, for example, until you have to interact daily with code you wrote a year ago.

Student assignments also rarely operate in the sheer magnitude of real world programs.

In university, I think the longest assignment I had was in the ballpark of a couple thousand lines of code and you could pretty readily keep it all your head as you solved the problem, there's not too much abstraction or delegation of responsibilities, no interfacing with 3rd parties, few library dependencies, it's all written in a single language, etc, etc. And you wrote it all from scratch by yourself or in a small team with (likely) equally inexperienced peers, so you know all the clever tricks that were employed.

On the job, I deal with company's code base that's over a million lines of code and uses a very messy database, maintained by dozens of people or varying skill levels over the last decade, wrought from an unholy amalgamation of 3 different programming languages spread over several servers and reliant on a half dozen "support utilities" to keep applying band-aids to bugs that "aren't cost effective to fix".

Writing good code the interacts with bad code is one of my hardest professional endeavors.

Re: All Programmers Are Self-Taught

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

Furthermore, on a team of any size, it is virtually guaranteed that someone will change the code without changing the comment as well. Then you have a bunch of comments that are not only useless, but actively misleading.

Re: All Programmers Are Self-Taught

#84
post #10
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?).

On the contrary, I don't really think that it is the University's job to teach "programming". University traditionally focuses around teaching the skills to do research. Higher level skills such as analysis and problem solving. Consider learning history. It is expected that you "know" how to write an essay. You may be critiqued on it, but it is not the primary motivation for your study of that subject. My personal op…

I'd say you're wrong.

I don't think we should assume the students have the knowledge 1) because they obviously don't have the knowledge and 2) it doesn't match the methodology of every other applied science. I don't assume that students are competent to work in a biology lab before college. Why should Computer Science get a free pass from teaching the lab work techniques that all other applied sciences are expected to teach?

Re: All Programmers Are Self-Taught

#85
post #73
post #58

Earlier quoted context omitted.

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.

Alright, I'll speak for myself as that's the path I'm still walking and the one I know best. I'm 19, matriculated into Harvard for one semester, then dropped out and took on the Thiel Fellowship. Under the Thiel Fellowship, we're granted $100k (pegged around college ed prices) for two years to pursue an entrepreneurial project.

In the past year since leaving school, I've had more opportunity for maturity than I ever did in college. I've had the freedom to explore, and I've used that to travel to all 7 continents and broaden my internal horizons of the world. I've had the freedom to discover, and now I'm fortunate enough to have found a passion I can pursue with my full attention. I never had luxury of doing that in school - there's no time to step back and wonder why you're doing what you're doing as you're too busy being pushed through the grind of 'doing'.

I've had the freedom to become personally responsible. Being devoid of extrinsic pressures (must get good grades, build resume, get job, etc.) for the first time in my life means that I've had to replace those driving forces with intrinsic drive and accountability.

I've been living on my own in SF since June, and that's been a wild ride of being liable for every aspect of my own survival and well-being :). Being an entrepreneur means I have to account for a 24 hours each day on my own, as I don't even have an employer to provide a cover story for 8-9 hours every day. I'm not saying I account for all those hours nearly as well as I could and in fact I certainly don't (case in point), but this is offering me the opportunity to learn to be accountable, and that's exactly the point.

College is a pseudo-diverse atmosphere. Sure, people might be differently colored or have exotic accents, but everyone's there for the same purpose, is the same age, and has more or less the same mindset, or at the most one of a select few mindsets. Real diversity is living in a strange juxtaposition of homeless crackheads and billionaire tech entrepreneurs (woohoo San Francisco!), or seeing firsthand definitive proof that polio has in fact not been eradicated and is still alive and well in the marginalized corners of the world.

Even if we see these things in college, chances are likely our mindsets have been so tunnel-visioned that their full impact doesn't register on us. The insular bubble of college is pretty hard to penetrate.

Challenge-wise, being an entrepreneur is far harder than being a college student. And thanks to the cost of college, so many of us might never have the opportunity to take the entrepreneurial path (or any of a number of other paths) unless we take it in lieu of the college path.

And yes - college might very well be a mold that shapes you into the person you'll be, but it's a cookie-cutter mold, and it's not unique to you. Life is a variable endeavor, and the experiences we use as a mold with which to shape ourselves should similarly be variable. College is probably a wonderful mold for some. For others like myself, there are almost certainly better molds out there waiting for us to find them.

Re: All Programmers Are Self-Taught

#86
Wow. I've been referring to myself as self-taught because, well, I came from a physics background, taught myself Python using google, and started kibitzing on a friend's startup. But it occurs to me reading this, that I probably had more direct instruction than most CS students. We worked together for only a few months, but it was the two of us in a room every day, I showed him my code, talked through what I was trying to make work, he'd nudge me towards best practices, and I got better. I should thank that dude.
Post reply on HN