I was one of those seniors, albeit at UT Dallas. I wasn't alone, by far. I was a Comp Sci major, not a Software Engineering major, but the majority of my classmates probably couldn't write a piece of code that ran.
No real solutions, just reiterating the scary facts about people who call themselves programmers.
Not that there aren't plenty of educational opportunities surrounding the implementation of a good control system, just that teaching basic usage just seems to be a little simple.
Now not being able to write running code is a serious problem and it is frightening that someone could graduate after 4 years of computer science and never have written a working program.
And yes, I did basically just say that I'm probably not a very good developer. :)
Yup, I didn't start using source control until after I graduated. CS education has a lot of catching up to do.
Needless to say, it was a real wake up call for me.
Big schools do not foster startups. I wonder if it's because smaller schools have more in common with startups? They have smaller staffs, leaner budgets, and typically fewer ridiculous processes. Key example: I just applied to Stanford and UTCS for my PhD. Stanford has clear info on deadlines and sent me an automated email reminder a few days before the app was due. UT Austin requires you to fill out two separate applications (one for the general UT system and another for UTCS), with different deadlines for each, inconsistent deadline info between the two systems, requiring duplicate information, and setting up a convoluted group of user accounts.
It is very hard to get big schools to understand startups. Virginia Tech was pushing very hard to encourage starting more tech companies, but their approach was to build a gigantic Corporate Research Center with isolated buildings and establishing formal "partnerships" with established or funded companies. Projects like the BT transit app get buzz only after they are a hit; and they don't try to compound the momentum by getting an order of magnitude more students working on their own apps, but rather let everything die down and force the few startup-friendly professors to start all over again.
As with most big organizations, the problems are fairly obvious. It's just nearly impossible to get them to change anything, especially since the main issue is a lack of willingness to change things.
Another example is that as recently as five years ago, UT's business school (McCombs) discouraged their graduating MBAs from diving into startups. Reason: their rankings were heavily influenced by the salary their alumni rake in immediately after graduation. So the official party line was to encourage them to go into big business with a cushy salary. Luckily that's changing now.
The startups are there; they are far and few now but rapidly increasing. I fully agree with you on the disconnect between academia and the startup community though - it's frustrating just how hard it is for Austin startups to hire UT talent.
* Austin is no longer an entrepreneurial town.
* The 10% rules hurts the entrepreneurial spirit.
* Geographic isolation hurts the entrepreneurial spirit.
* Little emphasis on consumer companies.
* No network effect.
* No virtuous cycle.
More details here: http://www.quora.com/Why-are-there-so-few-startups-founded-b...
CS departments have relationships with large corporations because they have money and sponsor research. Startups don't. This influx of money has warped the field. It's better to ask why there isn't more science in computer science than to ask why there isn't more business.
I graduated from UTCS and I see too many web programmers just load up RoR Gems to perform something that takes 10 lines of code. Same thing with jQuery libraries... young programmers are not learning how to program, and if you tell them there is this shortcut they will take it.
Foundation is needed, that's the hidden secret. After you master foundation, then you can hack any code no matter the language.
Intro to Programming helps students get their feet wet in C and the subsequent Data Structures and Algorithms courses are entirely Java. Intro to Microcontrollers is C and assembly.
Here's where UTECE falls flat, with respect to startups. After getting a decent foundation in "Real Programming", further specialization in tools useful for web startups (php/ruby/jquery) is left as an exercise to the student. Case in point, I'm a 3rd year Comp. E and I have yet to hear the word "database" uttered in a classroom.
A web apps class doesn't even have to be good. I would take it just to meet other hackers who are probably self-taught by now anyway.
They had some pretty challenging real world like projects to do (way more than I ever got a chance to work on so early, that is for certain) from identifying a problem, choosing the infrastructure that would be most conducive to solving the problem before the deadline, coding the solution and finally, testing the crud out of other people's projects...
Finally, at the first opportunity, a bunch of us broke off and started a company and so on etc. etc.
It is easy to blame culture and professors or other people in authority but ultimately the bulk of the community, in this case, are students. It is ridiculously easy to start a student organization. If I remember correctly, UT will even grant $700 or so to get started so there is little excuse not to generate interest and involvement. Then again, maybe it is better to just go hack and meet like minded students...
As a side note, I think it is a terrible idea to get business students involved in any attempt at a startup. They add very little and tend to want to take over in my experience.
At UT, I spent 2 years programming both Haskell and C++, and then 2 years with very little programming. We focused instead on theorem proving and linguistics. This has a lot to do with Dijkstra's legacy in the department.
Implementation, industry, and start-ups are thought as an exercise left for the reader, and not part of curriculum. Throughout my career, I've always felt proud about this.
- Does your education enable you to identify general types of problems and know how to solve them? (as in "oh, this can be expressed as a graph search problem and I can create an admissible heuristic, so I can use A* to find the shortest path between these two points, done")
- Did your education provide a solid enough understanding of the fundamentals to enable you to learn most things that you don't understand fairly quickly?
That's it. How hard is it to learn git (or your source control of choice)? A particular development methodology? iPhone programming? The average turnaround time I've seen from hiring a new college graduate to having that person be a meaningful contributor to a large project is between two and three months. I'd much rather that CS programs keep preparing them for more and different theoretical things instead of limiting that for the sole purpose of trying to make that transition period a few weeks shorter.
I only had one class that used Java. Different classes were taught in C, Lisp, Scheme, ML, Haskell, etc. If anything, most students complain about not enough Java.
It's certainly the case that startups aren't emphasized. What's emphasized is research. For the professors that are really working with students, they are focused on getting them into a graduate program.
The type of research done at UT tends to be pretty forward looking and not the type of thing its easy to build a start up from.
But honestly, 99% of startups aren't dealing with the products of advanced university research. For the most part, a successful startup needs people that are solving problems that have already been solved before. It's not the type of thing that a research university really should be pushing students toward.
Yes. Most people aren't looking to start a company right after graduating college.
Startups are rare. Successful ones are practically endangered species.
I would guess that a majority of Universities are somewhat narrow in their focus and what their definition of success for their students is.
The courses at UT, even in the business school, do not prepare you perfectly for startup world. But an important thing to realize is that being a startup founder is about desire and taking risks. It's about eclipsing the limitations of your formal education. There are plenty of successful entrepreneurs from even just my class at UT. The real founders pick up and go to San Francisco or New York to get shit done.
I agree with your general sentiment that the CS department should integrate with real world projects more. I don't think UT in general is a haven for future startup founders. But since when is it the role of a university to produce startup founders? That's a personal duty. Saying UT Austin is second rate at producing startup founders just doesn't make sense. The good ones, whatever school they happened to go to, go to Silicon Valley or their industry equivalent, so you aren't around them anymore to see.
This is more of a comparison of Austin tech to Silicon Valley tech, which, for the foreseeable future, Silicon Valley will win definitively. That's why the tech entrepreneurs that you're missing are out here. =)
They give students the tools, the entrepreneurial desire has to come from within.
It's completely true that UT's CS program teach you real world programming. But that's completely besides its purpose. UT's CS program is about the fundamentals. Every required CS course teaches knowledge and concepts that stand the test of time.
The required part of the degree is about 1/3 programming, 1/3 theory, and 1/3 computer architecture. The purpose of the degree isn't to teach you how to run a business, how to run a web stack, or even how to work in the corporate world. It's about learning the fundamentals of Computer Science.
I completely sympathize with the author. The whole time in UTCS I was thinking, "This isn't going to help me run a startup. I don't need this degree. Am I wasting my time?". But in the end, I realized that learning these fundamentals made be a better programmer overall.
I don't know who claimed CS programs were supposed to teach students how to run startups, but in my honest opinion, UT has a very good CS program.
Maybe UT could be a better place for startups, but I never got the impression that it slowed them down for one second. They were just too focused on getting stuff done to worry about product competitions or entrepreneurship classes or whatnot. In fact, I have to wonder in some cases if those sort of things can be a distraction and give people the illusion that they are an entrepreneur without actually taking any risk or producing anything of value (the two essential ingredients, imho).
Full disclosure: I graduated from UTEE and have worked at some really great small companies in Austin.
While UT can do better, there's nothing stopping the students from connecting with the various tech meetups and incubators around Austin. We're each responsible for our own education.
I went to grad school at UT (advertising) and sadly almost nothing I learned there applies to my day-to-day work (co-founder at a web design/dev shop). I was a tad bitter when I finished but channeled the frustration into motivation. There are people within academia who get it (usually adjuncts or people with private sector experience), but most don't and never will. That's why they're there.
The programmers I've worked with that have a CS background (formal or not) are a cut above those without. I'd liken it to a classically trained pianist. If you can play Beethoven you can easily figure out how to play pop, but the reverse isn't true.
The second thing is the constant presence of startup companies on campus. They hold hack-a-thons, infosessions, sponsor events and competitions, and so on. This is extremely important to get students excited and involved in the startup world, as it is very different from big company world.
The third thing is that many of the students (though still a minority) are interested in or currently pursuing a startup. There are several on-campus business plan competitions that are well attended by engineering students and there are terrific resources on campus (and around campus) for pursuing startups.
Honestly, I think UT is doing a pretty decent job. Austin has a fairly strong startup presence, and I know startups recruit there. There are certainly hack-a-thons and business plan competitions. I think they could certainly benefit from a few business oriented engineering courses. My main gripe about UT, as the OP mentioned, is their curriculum and the general attitude is extremely focused on cranking out engineers for large companies (and they are very good at this). I do not think that their goal should be to generate more startups, but I do think that they should provide a more well-rounded exposure to different opportunities. While I was there I got very little exposure to research, and almost no exposure to startups (for the record, I was at Stanford for almost 2 years before I got involved in a startup).
So in conclusion, Stanford is certainly not a magical startup land like many think it is, but they do provide a very well-rounded exposure to different opportunities. UT is already doing a decent job of promoting entrepreneurship, but they could be doing a lot more, especially in their curriculum.
The classes that are taught are great if you want to work for a large company because for the most part, the professors at the undergraduate level do a good job of teaching what's needed for those type of careers but do not actively promote entrepreneurship.
I was lucky in that my advisor encouraged me to go my own direction, and I started JobSpice less than a year after I graduated but wish I would have started something during my time at UT. The problem lies more in the culture that UT promotes at the classroom level. In addition, outside of Michael Dell, you don't hear stories about past students creating companies in their dorm room like you do at MIT, Stanford or Harvard.
As far as startups, I do remember most of us wanting to work at Dell or AMD when I was an EE undergrad there. We would all go to the career expo and put our resumes in these giant piles. Never hearing back from anyone led me to explore other opportunities.
http://bits.blogs.nytimes.com/2010/11/19/social-shopping-sit...