Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This is the problem: college students are terrible programmers. There aren't enough consequences for writing bad code in college. In industry, you learn very quickly that everything you learned in college is minuscule compared to what you actually need to know to work.

I knew guys who only studied databases or only studied HTML+JavaScript+CSS. And we all expected that this level of specialization was common and even desirable! Wow. Looking back now, how silly of us. Where did we get this idea? Certainly not from anyone with significant experience in industry. We had one professor with significant industry experience... from the days of IBM mainframes. She was the head of the department. She ran two classes a year, in "software engineering", basically "technical writing and project management". They were good classes, the most like the "real world" of any of our courses, but only 50% of the students took it and it represented maybe 10% of our studies for those of us who did.

Yes, the CS degree is about preparing students for CS graduate programs. But there was never a suggestion that perhaps the CS degree was not what we needed. Or maybe there was a suggestion, one, from some guy on Teh Intarwebs, against every other person in positions of respect around us. We were consistently told that the CS degree was the path to a software development degree. Yes, internships. They are very important. We don't do enough of them. We certainly need more of an apprenticeship model. I suspect that the development of good programmers would work in a culinary school model more than a research school model.

College graduates are basically the first level of competency worth training to become developers, or at least are supposed to be (let's just stick to ideal situations right now, with no wind resistance and infinite point masses). It's like in the martial arts, we say that black-belt is where the learning begins. Once you reach black-belt/BSCS, you have only acquired the tools that you need to start learning.

Every programmer I've known thought he was a super hacker by the time he got out of college. Me included. I see it in the interviews I conduct, also. There is an air of arrogance. There is a sense of shock and personal assault when pointing out their errors. They haven't yet grocked that the code is not them. They haven't yet learned that the errors are inevitable, that it is only time and experience that teaches us how to avoid them, that programming is about the pursuit of eventual perfection and not the dogmatic defense of yesterday's code.

So one of two things happens. Either the degreed programmer shucks his hubris and finds humility, or he becomes a leech on his coworkers (and my use of the masculine pronoun is no mistake, the female programmers I've known don't have this pathology). Unfortunately, the latter is apparently indistinguishable from the former for most management types. Haha, but digging on the liberal arts majors aside, most people who come out of college with a BS in CS do not want to make programming their wake-to-sleep life. They want it to be their 9-to-5 career, and leeching is the easier route to that.

The kids mean well, I'm sure they are quite intelligent, and they've got heart. But a startup was probably the worst first endeavor for them. I think it's better to go through your male-programmer-humiliation on someone else's dollar. They're basically going into more debt to learn how to be programmers now that they've gotten out of college. They could have been earning a salary to learn how to be programmers.



I agree with you up until your last paragraph "a startup was probably the worst endeavor for them". The sheer gumption to throw yourself whole-heartedly at problems you are unqualified to solve is one of the most important characteristics of a startup founder. Even if you spent time learning to be a great coder, there would be a dozen other things you'd need to be doing for the first time when you first start a startup. Rather than spending a bunch of time learning in industry, it's just as well to just try it when you are young and have less to lose.

Diaspora is also a somewhat unusual case. For most consumer web startups, the back button is a much bigger threat than security vulnerabilities in the early stages. Once you've iterated a lot have a better idea of what you're actually building, one of the first steps is usually to hire coders who are much better than you. In Diaspora's case, it's unclear to me whether their vision is a business or an open-source project - in the latter case then having stronger coders lead the effort is more important.


I wholeheartedly agree with you, if the fact was as simple. As it stands, the paragraph should have read: "a startup [with $200,000 funding of other people's money] was probably the worst endeavor for them", as that more accurately represents the reality of the situation.


I don't think funding changes the situation either - if anything they could have used even more money so they could hire someone more senior that would help guide their development.

Perhaps the problems also lie in the expectations of those giving money. I assure you that few experienced angel investors would have been upset or surprised that the college kids they gave $200K to produced code that was messy or had some bad security problems in the early stages. They would be a lot more concerned with how the founders planned on getting adoption for their fledgling service, or whether they were iterating on the product quickly enough. It seems that many who have donated to Diaspora (or who are getting upset on behalf of other people who donated to Diaspora) have different expectations. '

Just today I was playing with the product of a company in the just-ended YC batch. I found I was able to delete someone else's posted content on the site trivially easily. While I'm sure PG wouldn't be exactly happy to hear about this, he sure as heck wouldn't think that the founders should have spent more time learning to code in industry before taking his money to build a startup. He'd just tell them to fix it (and it's probably fixed by now), and then move on to more important questions like whether they were getting more users and building the right features.


I think the problem with Diaspora is that it received much attention from the media (during the Facebook privacy issue being top of the agenda for most tech/mainstream news bulletins)

Whether that media campaign was orchestrated by the developers, or their investors, or just surfaced naturally as some news stories tend to do, I think this attention didn't really help matters when it came to putting a group of inexperienced graduates together to create what potentially should be a rival to a multi billion dollar company in one summer.

They should have been given more time and let to lead more of a low profile than the charade that's taken place over the past few months


"Every programmer I've known thought he was a super hacker by the time he got out of college. Me included."

This is referred to in the Dreyfus Model of Skill Acquistion. It refers to a space in time where we are advanced enough to not be a novice, but not advanced to realize our own lack of expertise. Merlinn Mann refers to it as being an "advanced beginner". The problem with this stage is that's it's impossible to rationalize until you've escaped it - that or you use metacognition - with awareness of said likely ineptitude because of posts like this.

http://en.wikipedia.org/wiki/Dreyfus_model_of_skill_acquisit...


I believed I was a super hacker when I got out of high school, it wasn't till I got to college (and after stubbornly admitting my teacher in HS was right) that I realised I wasn't and that my code sucked. Now I am out of college, I am in a real life working job, and I've received praise from my peers for the code I have written. Yes, getting told that your code sucks is good, it is even more awesome to get told by a veteran in the industry that your code is pretty good and easily maintainable.


I think it's better to go through your male-programmer-humiliation on someone else's dollar.

I'm pretty sure that's what just happened.


Plenty of successful tech startups have been launched by students coming straight out of college, so I think the attitude of "sorry kids, better do your time somewhere else first" is very harmful to both students and the industry as a whole.

Sure there's a lot they have to learn, but there's no reason why they won't be able to learn by doing. They clearly have all of the funding and motivation they need to get to the point of having a stable release. I'm glad the author (of this blog post) submitted a patch, and hopefully momentum on this project will continue to grow, as more experienced developers offer their advice and expertise.

edit: Also, I'm not sure if "startup" is the best thing to call Diaspora. Given the fact that they're already well funded, and working towards the public good, they might be better off incorporating as a nonprofit, similar to what the Miro guys did (http://participatoryculture.org/).


That first time someone just flat out mercilessly tells you your code is terrible is awesome.

Actually not awesome, because for the rest of your programming career you will realize that your code is terrible.

But awesome because that's when you leave the womb and start down the road to being a good programmer.


how do you make that link clickable?


Just make sure to include the http://. eg, http://paulsawaya.com


Every programmer I've known thought he was a super hacker by the time he got out of college.

Wasn't Linus Torvalds a college student when he released linux? For that matter, Facebook was written by a college student. Some college students can do amazing things. Also, this is just a pet peeve of mine, but don't diminish college students by calling them "kids." Many may be young, but they are adults.


Yes, but an advanced graduate student, and Linux was his thesis project. Though he was ~21-23 at the time, the experience and maturity level was indubitably higher than the average CS undergrad in American universities.


I think you're working too hard on the explanation of what happened here.

I think the problem is that four undergrads were given a quarter million dollars to compete with the largest website on the internet and people expected anything but disaster.


Where would Facebook be now if the founder went to learn the ropes by working for the man? Zuckerberg was still in college at the time, and now he keeps Google up at night.


This all sounds very wise...until you remember that Facebook itself was written by Zuckerberg when he wasn't yet out of college. Linux was written by Linus Torvalds when he was in college. Firefox was written by Blake Ross when he was a high school stduent. Chatroulette was written by Andrey Ternovskiy, another high school student.

Some people are just really good. And a startup makes them even better, and much faster than if they had decided to be "apprentices" or "interns" forever.

The thing about Diaspora is that UNLIKE Facebook or many other startups, its source code is on the internet for all to see. Do you think the original Facebook (written in PHP) didn't have security holes that would be transparent upon reading the source code? For that matter, do you think today's Facebook source would withstand attack if posted on the internet tomorrow?

The question answers itself.

If it achieves its potential, Diaspora will be hardened to a considerable extent because of the scrutiny that open source provides. This is not the time to slam these kids as wet behind the ears undergrads. Their code is pretty good for something written in 3 months. And if you really are that much wiser than them, they are accepting patches.


"But a startup was probably the worst first endeavor for them. I think it's better to go through your male-programmer-humiliation on someone else's dollar."

I don't know. It seems like they are earning their "male-programmer-humiliation" in the most efficient way possible. If having an article about how atrociously buggy your code is at the top of Hacker News doesn't teach one instant humility, nothing will.


This whole thing makes me wonder...

Many startups are started/coded by young programmers in or fresh out of college -- people who probably haven't really earned their 'black-belt' in programming through time and experience. This would lead you to believe that many startups (even relatively successful ones) have plenty of bad/buggy code under the hood, but they have the benefit of not being out there under the scrutiny of public eye.

That said, if you're a young (and thus, probably somewhat inexperienced) coder, it would seem you can get stuck in the conundrum of wanting to have enough experience to write good code, but also wanting to go for starting a company while you're still young. Would love to hear opinions/thoughts on how to solve that conundrum.


My guess is that the startups get VC funding, and then they hire professionals who take it from there. The "wonder boys" that started it are mostly just figureheads at that point.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: