Software Industry for CS Students- Part 1: Series introduction

Software Industry for CS Students- Part 1: Series introduction

University Library

Academia is a worthwhile pursuit for those who want to work on investigation and teaching, but is often completely cut out from what Software Engineers call the “real world”. Since all teachers work in Academia, it is not really surprising that many students who enter the industry after completing their degree feel lost and out of their depth.

Companies often complain about the lack of applicable real world skills of recent graduates. Recent graduates often end up questioning if they’ve lost four years of their lives learning things they will never use. Reading about famous college dropouts like Bill Gates and Mark Zuckerberg only serves to intensify doubt.

Daniel Craig as Bond kicking a thug
James Bond’s first day at work. Still better than most CS graduates.

The fact is that you will never use most of what you learn in a CS degree. And for good reason, because it’s already been done. That doesn’t mean it’s not worth learning. It would be a waste of everyone’s time to start from scratch in every project and you would never get too far. Reusing code and technologies that are proven to work for a particular problem prevents unnecessary mistakes and lets us work at a higher level of abstraction, enabling us to create more complex programs. What you will learn in CS are the principles that form the basis of those technologies we all use. Knowing how they work under the hood can help you learn them faster, troubleshoot them better and make more informed decisions about their use case. A degree is also a great opportunity to explore areas that you’re interested in but don’t plan on working on, such as robotics, embedded systems, computer vision or even something unrelated to computers that you have always wanted to know more about. It is not only fun, but you never know if these skills might prove useful at some point in your life.

It goes without saying that a degree is not for everyone. Those who would like to acquire a deep knowledge in a narrow field (eg. web frontend) and keep perfecting it without paying attention to other related fields would be best served with a bootcamp or self teaching through online courses. It is a lot less costly in both time and money, and the amount of applicable knowledge will be similar or greater. On the other hand, those who want to understand the field as a whole, who have a thirst for knowledge, who want to know how everything works, be it OS, AI, networks or the mathematical theories behind them. Those would benefit from a conventional degree and the more broad and shallow knowledge acquired from it

Now that we have established that most CS programs are cut off from the industry but they can still be desirable and helpful, are we doomed to accept the fact that in our first job we will stumble and fumble until we get a year’s worth of “real world” experience? Not necessarily. In this series I intend to explore some of the basic technologies and skills used and valued in the industry that you can apply to your assignments to prepare yourself. This will improve both your programming productivity and your desirability as a candidate once you seek a job. I will also share common terminology and best practices that everyone assumes you know, but nobody bothers to explain.

If you are prepared to take personal responsibility, you can both have a conventional education and come out of it as a desirable and highly employable candidate prepared to make a smooth transition into the industry.

Code on Dark Themed Editor
Beautiful Code

Subscribe to our mailing list to get notified of new articles in this series.


Comments are closed.