| Very little that was directly transferable to the real world. Some may argue this doesn't apply to CS, but I think applied computing science is what I'd look for. Things that were not covered included: - Basic business skills - Basic sales skills (We all have to sell our ideas, be it to peers, departments, customers.) - Storytelling skills - People networking skills - Understanding very few businesses have technology problems, but instead business problems that they are trying to solve with technology. - You don't understand anything if you don't understand how the data in any system inputs, exists, interacts, and outputs. You don't understand the business if you don't understand the data. You should not be allowed anywhere near building software for an organization if you don't understand the data. - Understanding that the data in many ways is the system. No software/system is useful without data. - Learning an organization's competitive advantage and magnifying it with software. Too often programmers interpret things killing the competitive advantage. - It's not about you, it's about the user. Users rarely care what you code in, or the frameworks, or whatever you've done to make your own life selfishly easier and continuing to neglect actually getting to know their world, their data, and the the problems they face with it. - Marketing skills - eliminate feature babble and focus on benefits once you've been in user's shoes working on users problems. - Communicating with the world to first understand, and then address their needs. You are no better than a technically clueless business guy if you make assumptions as blindly in other ways about the business process. - How the real world does not start every project with a clean slate like CS projects. This is probably one of the biggest gaps. - Learning to learn other people's code, refactor + more. Instead, we learned the theoretical using many languages building the same kinds of things over and over for 4 years. It was awesome to the geek in me. Sprinkle in some UI or database skills, and yes, I did get very good at learning any technology I needed, but implementing it in a meaningful, sustainable way. But the real world used very little of what I learnt for 4 years. When I took CS in the late 90's I had to learn to build web apps, databases, load balancing, administrating servers, all on my own, not to mention getting a business education largely by learning to swim by diving in. The social skills are really big. Partially I think CS attracts folks that aren't extroverted, and it can be a problem. We're at or nearing a crossroads in my opinion where the entire world has come to the internet and technology, and those building technologies and online need to be better bridges in interfacing with humanity. |
The downside was that more time on business meant less time on engineering, and you ended up with people that dropped out of the engineering school, combined with people that may not have been able to hack it in the first place, and a tiny minority of people that could have passed in the engineering school.
This means that as a signalling tool (which is a large part of the value of a college degree in the workplace) a technology degree was far less valuable than an engineering degree, which causes a feedback loop to keep the number of people with actual engineering talent low in the Tech school.
This is from my observation of EE vs EET as I knew people in both majors. CS was in the school of science, not engineering so it had no equivalent in the school of technology.