Curriculums for Computer Science usually include your typical Algorithms, Operating Systems, Security, Networks, Databases, Computer Organization, and among other classes but it’s truly lacking one critical course in my opinion, Careers 101.
This course would include most of the things that aren’t taught in regular courses such how to stand our from the crowd when applying for jobs, how to build a network, how to make yourself valuable as an engineer, and such. If I would’ve had been taught all these things before I started my career, I would’ve been a lot more prepared.
Recently an article called Don’t call yourself a programmer, and other career advice discusses lots of interesting points:
Don’t call yourself a programmer: “Programmer” sounds like “anomalously high-cost peon who types some mumbo-jumbo into some other mumbo-jumbo.” If you call yourself a programmer, someone is already working on a way to get you fired. You know Salesforce, widely perceived among engineers to be a Software as a Services company? Their motto and sales point is “No Software”, which conveys to their actual customers “You know those programmers you have working on your internal systems? If you used Salesforce, you could fire half of them and pocket part of the difference in your bonus.” (There’s nothing wrong with this, by the way. You’re in the business of unemploying people. If you think that is unfair, go back to school and study something that doesn’t matter.)
It’s quite long, but trust me, it’s worth the read if you plan on becoming a successful engineer.