Awesome Alternatives to an Internship

@virjog had a great question in response to a comment I made on the Rutgers Hackathon Club page.

I thought about it and realized that it was a great question that many people must have.

It's stressed very often how important internships are. We advocate that everyone should try and find one for the summer, but if that perfect match doesn't happen this time around there's no reason to be bummed! Here's a handful of suggestions on how to make your summer awesome and give you that edge for next time.

Learn a new language/framework

The summer is the perfect time to pick up something new that you don't necessarily have time for during the semester. Most schools teach Java, but it isn't viewed as the most glamorous language inside the hacker community. Still, there are some pretty cool things you can do with just knowing Java. Take the plunge into Android development! In case you didn't know, Android is written in Java and so are its apps. If web development is more your thing, there is an awesome web framework for Java named the Play Framework.

If you're up for learning a new language (it's strongly encouraged that you do), there are some great ones that aren't difficult to get started with! The Rutgers favorite seems to be Python, while I prefer Ruby. Both of these are scripting languages, and if you're coming from Java, they will blow your mind with their flexibility. My second recommendation is JavaScript because it's quickly becoming the language of the internet.

Attend meetups

Meetups are great places to meet others who share a similar passion. If you're interested in something, it doesn't even have to be programming related, attending one of these can help you make incredible connections with incredible people with the added benefit of learning tons of new things.

It is understandably difficult to travel into the city while school is in session, but thankfully during the summer you have much more free time! NYC has loads of meetups to choose from, as does Philly. There are also several that meet right here in NJ! Meetup.com is the go-to resource.

Contribute to open source

This one deserves its own post and I'm certainly not an expert, but here are some brief points.

Find a project you've used and really enjoyed working with. Most projects have their own section on how to contribute. Check the open issues on GitHub and pick one that seems like something you could work on. Code Triage is another great resource that shows projects in need of help. Here's an example.

I was pretty bored sitting in class and was wondering how I could make better use of my time. I hopped on the Homebrew GitHub page and checked the open issues. Right at the top was this:

Python3 update required because Python 3.3.4 has been released

I thought it seemed easy and dove into it. Having a brief understanding of how Homebrew worked, I looked at the Python3 formula and saw that it would be a simple two line change! I made the change, tested it locally, and opened this pull request which was quickly merged!

Out of that comes another point. Don't be afraid to open a bug report or file an issue, even if you don't know how to fix it. In doing so you are not just contributing, but enabling someone else to as well!

Many hear this mentioned and immediately assume that they are not experienced enough to help out. There is a great blog post I point people to that have this mentality, be sure to check it out!

Volunteer

There are plenty of organizations that could benefit from your free time! I personally can't wait to get involved with Black Girls Code and CoderDojo NYC when I start living in NYC. Chances are, there are some local summer camps that you could help out with as well.

Build cool shit

Probably the most important thing on this list. Having projects outside of school to show off not only looks great, but makes you feel rad! @SagnewShreds wrote a great post on how to get the most out of your spring break. These things absolutely apply for the summer too. Pick an API and play with it! Be inspired by what others have made. All that matters is that you are building. If you aren't sure exactly what to make, don't be afraid to ask around for help.

Getting started may seem challenging, but we've all been there. My first web app was a page that asked for your zipcode and used Foursquare to find the closest place that sold burritos. Just earlier, I found this Chrome extension that replaces every image on a page with one of Nigel Thornberry. The possibilities of what you can create are literally endless. Again, feel free to reach out if you need some ideas or guidance.

@stemstep made a great suggestion that I touch on specific summer logistics. It's always great to work with others when possible. Hit up a buddy and meet at a coffee shop or library to hack. The CAVE is actually open during the summer if you're in the Rutgers neck of the woods. Even if no one else is around, don't limit yourself to sitting in your bedroom coding alone all summer. Hop on IRC and join some channels. A few of us like to hangout in #ruhack and #hackny. Find someone to pair program with; this is a great resource for getting started.

Regardless of what you wind up doing this summer, make sure you have something to share with everyone once school starts back up!