I had a short conversation with someone recently about having personal projects and applying to internships. The short version of what he said is,
I do my school work well and good grades. Besides that, I also do well during internships. Why do I need personal projects?
(The following represent my own views. This is a personal blog after all, and this is just, like, my opinion, man.)
Just for fun, I did a quick search on personal projects to see what kind of links would show up.
Design, photography, and art. I was not surprised. I predicted that photography would show up. When people look for individuals for some sort of artistic or creative position, I think they’re always looking for some sort of portfolio. If you’re just getting started – perhaps as an intern – your portfolio would only have personal projects. I think portfolios show skill, personality, and experience. How else could you get those?
For a student who does not have personal projects, are school work and past work the only significant things one can look at? I am very opinionated against school work. I don’t think learning about programming in school will make you a good programmer. And past work or past internships? I’m not entirely sure how useful this information is.
People might talk about how personal projects on GitHub are a demonstration of skill, work ethic, and other good things. I don’t necessarily disagree, but there is more to it! It’s not just about programming. Being able to get work done correctly and efficiently is how we judge machines. This is about people. Personal projects are your own. They’re a part of your personality. They’re something you care about. Of all the things you could be doing, you choose to work on them. What keeps you going when no one else is looking tells a lot about who you are.
Over the years I think I’ve come to realize that what separates the great programmers from the rest is the fact that the former know more about what not to do. They’ve done it all, and they know what doesn’t work. Everyone makes mistakes, but usually they happen once or twice. The great programmers go about with the experience of many mistakes. The beginners don’t, and the only way to change that is to make lots of mistakes. Personal projects are perfect for them. There’s no risk! A friend once told me that interns are either an asset or a liability. People who have made many mistakes (and learned from them) are great assets in my opinion.
I think the most important aspect of personal projects is that they increase one’s intuition. There’s knowledge – knowing something, how it works, and so on. I think there’s a layer above that which is knowing why something works. And then I like to believe there’s a layer above that which is rather difficult to explain. It’s like understanding at a very deep level. I call it intuition, but that may be the wrong word here. I like to credit all of my interesting ideas to this intuition.
Learn about the importance of side projects and how to start them.
Side projects demonstrate self-directed learning and curiosity that will set you apart from your peers.
Yes, side projects (or personal projects, as I refer to them) are very important. I don’t like the fact that someone would start a personal project to land an interview. That’s not genuine. I think there’s something wrong if you need to fake who you are or what you do to get the opportunities that you want. I also want to say that a quality like that isn’t just unhelpful, but perhaps even negative.
I take personal projects seriously, and I think they’re very important for college students who don’t have a lot of professional experience. There are many computer science students at UVA, and they’re all basically learning the same things. The interesting students have exciting projects that they work on and like to talk about. The others are, well, kind of boring. Sometimes it’s fine to be boring :).
Thanks to Abi for reading a draft of this.