23 comments

[ 4.3 ms ] story [ 71.9 ms ] thread
Great points!

Most educational institutions prepare students for the average life style.

However, to go beyond just comp sci curriculum most businesses classes don't focus on the true skills that matter in running and starting a business. They, just like in computer science, focus on what the majority of the population will probably be doing after graduation.

When I decided that I wanted to do a startup and not join the masses in the corporate life, I did not have much experience or course material to leverage.

These institutions should try and find a balance between offering courses for both types of peoples. Even those going into the corporate world could learn and use a bunch of the skills entrepreneurs use everyday. Most executive leaders of these big companies have the same qualities as entrepreneurs.

I went to CMU with the author; in fact we worked together on one of the semester projects he mentions.

There's no doubt that CMU prepares students for the corporate world. In fact some programs are expressly tuned for this.

But this is exactly what the market demands, so why are we surprised? Industry wants employees that integrate well and work in teams. Students want to be hired by industry. How can we be surprised that the curriculum is tuned for turning out cogs for corporate machines?

The demand just doesn't exist for startup education. It's the nature of the beast. How many hardcore entrepreneurs do you know would have been content to take classes on it and be told how to do it? That's the exact opposite of their natural character. :-)

I wouldn't necessarily say "surprised" that this is the case; I think there's an opportunity to craft a solution that works for those that do want to explore the startup life. I feel like, in hindsight, there were a lot of students in our major who might be suited for a startup, but they hadn't explored it and thus may be in a different job. That's unfortunate. If there were more focus on startups, more people would at least be exposed to it and they could decide from there.

On top of that, I'm not suggesting entrepreneurs would love to take a class and enjoy coloring in the lines, so to speak. The imaginary classes I suggested were all super open-ended, with little to no structure or curriculum. I think that's the best way to teach that subset of the population.

Don't get me wrong, I think you make some excellent points and I generally agree.

I'm just wondering that if that curriculum were offered, would your target audience even know to enroll?

Do the people who would enjoy those courses know when they're starting out that it will be fun and useful for them? Or is that something you have to find out for yourself, through your own experimentation?

I think there'd be enough buzz for it. Students chat about classes incessantly, and they gravitate towards classes they find meaningful. I think professors can pretty easily pick out who would be most suited, too, and give them a helpful nudge in the right direction.
it would also tend to probably attract those profs/instructors that are more "aware" of what's out there. they (typically) tend to be the better instructors as well.
I understand that it is a demand side problem, but the majority of people going into the corporate world are missing some key skills and abilities that go beyond team building. Self motivation, and the ability to see long-term visions is critical to become not only a successful entrepreneur but a successful employee as well.

Also, being a hardcore entrepreneur does not mean you completely reject authority and advice. It all depends on the structure of the course. You could implement self determined courses using professors in the position as board advisors and run semester long projects.

This would compliment the natural character of the entrepreneur.

Pitt here.

> But this is exactly what the market demands, so why are we surprised?

Well, CS is _supposed_ to be a theoretical discipline. It's supposed to be basically math. We're supposed to be discovering the nature of computation, not having only one optional upper-level class on it.

Instead we get Java schools. It sucks.

Furthermore, college doesn't even make for a good vocational experience! You know how many times I heard 'VCS'? Zero. makfiles? Twice. In my web programming class, I was taught Java applets and spaghetti PHP. Software Engineering teaches waterfall, Java beans, and UML.

/rant off.

It shocks me to this day we never once discussed version control in any of my CS classes.
One of my friends is a graduate student. His research work with a professor does use version control; the prof set him up with a brand new CVS repository the day before he started.
CMU as well. Same class year as you guys but I was MechE.

I also adore CMU because of it's absolute fundamentals teaching that allowed me to teach myself web development in such a short amount of time after leaving nuclear engineering.

The one thing CMU taught me was how to work and learn anything. That's what I do and being a startup guy was a good fit for completely unrelated reasons (mainly my problems with authority).

In my undergrad course load, I had very little time to work on the projects I already had, let alone starting something cool on my own. However, that course load was so much tougher then normal employment life, that once I graduated, I could learn so much more while being very underemployed. This underemployment led me to the one place where I could learn everyday and solve cool problems => startups

well said. i didn't think of that perspective.

my own experience was more along the lines of feeling a disconnect between classwork and how it applied to the real world.

CMU here also. I graduated several years ago, but I distinctly remember groups of CS students banding together to create things on their own. That's start-up culture. You get a bunch of motivated, technically inclined people together and build something. The CS undergrad lounge always had people fiddling around with things and geeking out.

At CMU you are free to do what you want with your spare time. There doesn't necessarily need to be a class for teaching start-ups. A class can simulate anything (DDOS attacks, power outages), but whether or not that simulation is a reflection of reality once the student leaves the classroom remains to be seen. Furthermore, if you need a class to learn something, then there are many hard lessons waiting for you in life.

The reason you get a CS degree at CMU is to become a better problem solver. It's a very difficult course of study. When I was there about 1 in 4 students dropped out of the SCS program. If you make it through the program, it is a badge of dedication, and you are definitely transformed into a problem solver. The environment in which you use these problem solving skills - at a start-up or a large corporation - should never be an issue, nor should it require explicit handling.

Often when I see a start-up populated with dropouts I'll think "They couldn't even make a 4-year commitment? Does that mean they'll only stick around here for 2 years before they split?" And that is often the case. The infatuation with dropping out and start-up "culture" is purely romantic.

CS departments might not be good at turning out startup candidates because the people running the departments are more interested in the academic side of CS.

Where I've been learning comp sci (Pomona & Harvey Mudd) the teachers' interest in CS is more academic and less practical. It's a reflection of what they're interested in - they probably turned down jobs in the industry to work in academia and teach students.

Almost all of the marketable skills I've learned have been self-taught outside of class.

I'm an undergraduate at a school, Brown, that has a somewhat decent entrepreneurial mindset. What I've seen is that it is not necessarily something you can force.

You can't from top down try to make someone do a startup.

But what you can do is create an environment which has the culture and attitude that promotes it.

That said, I think telling someone or a group to go and come up with a good business idea - then helping it develop and become viable, is perhaps the best way to promote it in a school setting.

(comment deleted)
School is about indoctrinating certain ways of thinking, not teaching the specifics. I've done a CS degree (admittedly at a crap school), an MBA and am about to finish a law degree (at a non-crap school) and none of these bear direct relevance to what's out in the field. Indeed, part of the reason I put myself through the agony of so much higher ed is to gain experience thinking in different paradigms, not merely so that I can now write an algorithmic description of the rule against perpetuities.

With that in mind, and having written code for both startups and large companies, I don't think that CS programs are generally all that much like the real world in either situation (unless of course you're talking about somewhere like PARC). You're absolutely correct that learning to "build cool stuff" is pretty important, but I think it's equally important for larger companies, so I'd say that's more of criticism of CS in general than a failure to prepare people for startups.

i agree with most of what you say, but i think a key is more balance between the two. not purely "real world", and not strictly "academic world". somewhere in between.
I graduated from CMU about two years ago. Here are some of the things my peers from CMU have worked on (playing significant roles) based on what they learned in classes like OS, compilers, and algorithms.

- Facebook's PHP compiler.

- VMWare's ESX network kernel.

- iPhone hardware and firmware.

- Qualcomm's Linux distribution.

- Citadel's trading algorithms and execution platforms.

I constantly draw on my coursework in compilers, programming languages, and OS in my work on the Palantir Finance platform.

CMU's CS program prepares you work on problems that are truly technically challenging -- problems that require deep technical knowledge and that often take a large investment to implement. Small startups rarely have the staff and time horizon to invest in creating systems that require technical skills beyond the ability to use an API. So if you work at a small startup that doesn't have the capacity to invest in custom low-level solutions, don't be surprised if your CS skills are not utilized.

Yeah, there totally should be a class on how, as an slightly above average programmer, to use open source projects representing man-decades of work by geniuses and millions of dollars in corporate investment to avoid any technical challenges and slap together a website in a few weeks.
Unfortunately, that's the mentality of a many start-ups. A couple months ago I was posed the question "Why don't you apply to work at Facebook?" by an interviewer. [To give him the benefit of the doubt, he didn't appear to be versed in how to conduct an interview.] It was a pointless question with an obvious answer, but the wording he used to pose it gave me the feeling he had a chip on his shoulder. The rest of his questions had the same undertone. It would have been better for him to ask "Why are you interested in working here instead of Google, Facebook, etc.?"

I got an offer from his company, but turned it down because I didn't want to work with people who were combative instead of cooperative.

Stanford, perhaps anomolously, has a number of startup-oriented classes. The one with which I'm most familiar (and probably the one most of interest to HNers) is CS210: http://www.stanford.edu/class/cs210/
I go to Penn State and major in Political Science and Telecom.

I'm pretty comfortable with web development using Rails, and other than an introductory database course, everything I know about programming I learned outside of the classroom. I've put that experience to good use, as I've worked on a startup for about 1.5 years.

Despite some pretty notable startups coming from Penn State (eg, Weebly), there is not much of a startup culture here. The School of Information Sciences and Technology seems mostly interested in landing jobs for its students at companies like Boeing, Ernst and Young, and Lockheed. There's nothing wrong with that, but I'd like to see faculty and the administration take more interest in startups.