Landing a CS Internship Part 3 - Side Projects

By Tomisin Jenrola

Side Projects?

As you’ve probably heard, side projects are incredibly important to show your experience should you apply for an internship – an internship that will help you get experience for post-grad employment. It’s a kind of chicken and egg problem, but with CS you don’t have to wait till you graduate before you can start building cool stuff. You can experiment in areas and topics that you’re interested in during your spare time. A side project would then be something you work on, independently or otherwise, that helps to improve your skills or knowledge in an area. It can be anything from a tiny website that help to calculate your grade, to (one of the many) apps that help buy and sell textbooks.

Why should you care?

We’re in the tech industry where things are always changing. Today everyone could be talking about PHP and tomorrow it’s Node.js. It’s hard to keep up with the change even for people who have been coding since COBOL (That’s a looong time). Within the span of a 4 year degree, many different frameworks, languages, libraries and concepts would have come along. Many of these do different things and are usually combined with others to create software. By building your own thing, you understand what does what and (Java != JavaScript) in anyway.

It’s important to start working on side projects so that you can learn what you don’t already know. If you want to build a shopping website for example, after some research you’ll realise you need to learn HTML, CSS, JavaScript, some SQL flavour and probably PHP. Within a week, you’ll probably have followed different tutorials and finally built something small, but something that you’re proud of – something that shows that you’ve learned.

On the other hand, it’s possible you feel like you aren’t actually interested in web dev, but would rather work with stats and data visualisations. So, you look up other languages, like R or D3.js and learn those along the way. The more you dabble, the more topics and fields you get yourself exposed to. There’s a plethora of resources out there; Facebook groups, open source communities on GitHub, StackExchange topics and so on. This is one great advantage we have as CS students – we don’t have to wait for our first job to build, test and launch something.

One last reason you should care about projects: Tech employers know that it all comes down to what skills you have – and how quickly you can pick up new ones. This comes by practice, and by exposure. You don’t need to master any language, and in fact, it’s not possible with updates and new languages that keep rolling out. Being able to know how to fit things together and use them in development is much more important. That said, if you’re looking to join companies like Facebook, Amazon or Google, in addition to side projects you are required to understand core CS concepts because they build products that need to be scalable for their umpteen users.

Your personal education – separate from academics – will see incredible growth as you work on what you’re passionate about. Of course, school is important, but your education should not be abandoned for anything in the world.

What next?

Do. Are you still here?

  1. Install git and create a GitHub account (separate things). Good for version control and collaboration.
  2. Join others:
  3. Resources:
  4. Try. Fail. Learn. Repeat.

On this note, we call blog_series.end("Landing a CS Internship").