How Computer Science Majors Can Capitalize On The Winter Break
With finals wrapping up for the fall semester, I’m reminded of how I spent each of my winter breaks during my time at the University of San Francisco.
I was one of the many lucky students who attended a school that had a month-and-a-half-long vacation for the holidays. As someone who really enjoys playing video games, watching anime, and watching wrestling, the winter vacation was something I always looked forward to.
Conquering Batraal with my guild in the Dzemael Darkhold in Final Fantasy XIV. Bursting into tears when Kanade disappeared from Otonashi’s arms in Angel Beats. Watching The Shield dismantle the entire WWE roster with Triple Powerbombs.
I have to say, I’m smiling right now as I write this; I don’t regret spending all of my free time during the winter breaks on entertainment and recreation. It was way too fun for me, and if you are anything like me, I’m sure your winter breaks would be fulfilling too as long as you could just get away from school.
But, let me transition now and write from my software engineer side, instead of my nerdy side.
My breaks were a lot of fun, but honestly, I would have greatly benefitted from investing time into improving my programming skills and expanding my knowledge in the tech industry.
If you’re in that mindset where you want to spend some of your free time over the winter break to improve your programming skills and expand your knowledge, this article is for you.
There’re many ways that a computer science major can take advantage of the break and become a more knowledgeable and even a more experienced programmer. If at any point you find yourself bored, or with nothing to do during the break, I challenge you to invest some of that free time in becoming a better programmer.
You won’t regret it.
Based on my experience with startups, and my experience in interviewing with tech giants like Google and Facebook, I want to share some ideas on how you can spend your free time during the winter break to improve your programming skills and help yourself stand out to future employers.
1) Learn a New Language or Framework
You learn only a handful of languages in school, but there are so many valuable opportunities in the tech industry that call for a software engineer who can program in a language that you have yet to learn.
What language you decide on depends on your preference.
Are you interested in web development, but have no experience? Your first stop is to learn HTML and CSS.
Are you interested in mobile development, but have no experience? Check out Swift.
Are you interested in mobile development, have no mobile experience, but have web development experience? Check out React Native.
2) Start a Side Project
If you’re lucky enough to have a month-and-a-half long winter break, I’m sure you’ll have a decent amount of time left over to work on that side project that you’ve been daydreaming about.
If you decide to learn a new language or framework, it’s best to apply it in practice right away.
If you don’t have any project ideas, I do have specific ideas that come to mind:
For the general programmer: start working on a Facebook or Twitter clone. You’ll learn a lot about databases, user experience, and the basics of how the front-end and back-end stack work together.
For the fellow gamer/anime watcher/hobbyist: work on a home page with a forum to discuss your favorite video games, anime, books, and the like! Or… wait for it… start working on a Pokédex (web or mobile)!
Or just work on something that’s interesting and fun for you. That’s all that matters. Learn a new language, and build something cool at the same time.
3) Create a Personal Website
As programmers, we have to have a personal website sooner or later.
With a website, you’d have the opportunity to express your personality to future employers and recruiters, and showcase the cool things you’ve worked on.
It could not only be a blog, but also an online resume and portfolio.
There are two options for you to get your own personal website up and running:
a) You can code your web pages from scratch, and deploy them to your school’s server or a cloud application platform like Heroku.
b) You can use a content management system such as Wordpress to set up a site with a pre-made theme in minutes (no coding necessary).
4) Create a GitHub Profile
If you don’t have a GitHub account yet, you may want to consider setting one up.
Nearly every employer or recruiter you meet in the future is going to ask you for your GitHub account. This is where you showcase the raw code that you’ve written up to this point. I would suggest including major school projects, and if applicable, any side projects you’ve worked on.
Employers use it to assess your coding abilities and how much you may know (or have the potential to know) about a certain topic in programming.
If by any chance you don’t yet know what GitHub is, you can learn more about it by checking out the 15-minute interactive tutorial here.
For organizing your projects and files, feel free to follow my organization below. Or, feel free to adjust it to fit your own projects, or follow another structure entirely:
5) Update Your LinkedIn Profile
Last but not least is making sure that your LinkedIn profile reflects what you have learned in the computer science field up to this point.
Whether you realize it or not, recruiters and employers are always on the look out for potential candidates, and they will find you and message you if you fit their needs. In fact, I found my interview opportunities with Google and Facebook because of recruiters who contacted me first through LinkedIn!
But, they won’t find you if you don’t have the keywords nor the skills specified on your profile.
If your profile is not up to date with your current knowledge, experience, and skills, it would be a good idea to take at least an hour to add the skills, projects, and work experience that you’re confident in showcasing to others.
In your Summary section, It would also be a great idea to tell employers, recruiters, and other interested parties what you can do for them and their company! Always remember that in the work force, it’s always about what you can do for other companies and why they should hire you.
I intend to expand on each of the following suggestions above, especially #5. Feel free to follow me or connect with me if you’d like to read more in the future, or even if you’d like to get to know me!
I hope the above suggestions were helpful for any of my fellow computer science majors out there. What would your first step be to improving as a programmer, if you happen to find some free time during this winter break?
If you have any questions, feel free to tweet me @JourdanB21, or e-mail email@example.com. I would love nothing more than to meet you. Or, recommend this to your followers. Happy Holidays from the San Francisco Bay Area!
I’m a software engineer at 99Gamers who builds and deploys web and iOS applications, as well as a writer for fellow gamers, anime watchers, programmers, and self-help junkies at my blog: www.jourdanb.com. I am also a virtual assistant for Nir Eyal at www.NirAndFar.com.