Career Prep

Graduation is Coming, Don’t Be Scared

Posted by jon on October 18, 2008
Career Prep, Software Engineering / No Comments

Not too long ago I was sitting in my dorm room working on a paper and it dawned on me that within the next year I would be a professional software engineer. Now this was no uncommon occurrence for me, seeing as how every few months I still can’t believe it’s the 21st century. But this time a feeling of pure terror struck me, because I felt that I knew nothing about computer science. Sure I knew a bit of C, some more C++, a dash of Java, and some decent PHP skills, but not much else. Fast froward six months later and I was working (and become quite proficient) as a professional software engineer. So for all you up-and-coming software engineers, here are some of the thoughts I usually had in college, and how they turned out in reality.

  1. I only know one language, I’m so screwed! - This is completely untrue. There are plenty of people who graduate college knowing only Java and score perfectly good jobs. Now this is no long term solution, as you will likely have to program in something else at some point in your career. But if only knowing one language is your curse, then be sure you are the best at that language you can possibly be. Learn the benefits and drawbacks, learn about different implementations of the language and what makes them different, and learn how the language itself works at the compiler / interpreter level.

  2. There is no real experience on my resume! - Sadly very few computer science students have any real experience on their resumes, but this can be easily corrected. On my resume when interviewing for what became my first job, the only bit of professional experience I had was working on a defunct web application for The Pittsburgh LAN Coalition, a LAN Party group in Pittsburgh. While the application never officially saw the light of day, I did learn a great deal in the process, which I was able to communicate to my prospective employer quite well. Also keep in mind that there are a number of open source projects listed which could use a hand, don’t be shy to contribute.

  3. My code is so simple compared to other programmers, my code must suck. - Not true one bit. Try to keep in mind who you are comparing yourself against. I remember during my sophomore year of college when I first learned C, I downloaded a tarball of the Linux Kernel and fooled around with it. After a number of hours I was still unable to make heads or tails of anything.  Keep in mind that you are still a novice, and these people are masters at their craft.  Keep that piece of code in your mind, and after you have a few months of experience under your belt go back to see if that code is really still that complicated.

  4. I don’t know any of the industry standard tools. - A common misconception many students have is that they will either not be hired for a job, or look foolish on their first day because they know very little (or nothing) about industry standard tools like Subverion, CVS, Code-Sniffers, etc.  When a company hires an individual straight out of college they are expecting to have to train them before they become proficient.  Just focus on being a good programmer now and worry about working within a company’s parameters when you start the job.
  5. My school didn’t teach me anything. - Remember, if you are going to school to become a programmer you are not going to school to learn skills, you are going to school to essentially learn how to learn.  A good CS curriculum should be teaching you the basics of programming theory and practice, but beyond that it is up to you to find you niche and grow in it.  Just worry about completing your coursework and make sure you stay up to date on the latest happenings in the programming world and you will be fine.

Just keep these in mind while working your way through the educational process and you’ll be fine.