Over six thousand.
That’s how many internship and co-op candidates we review every year for HubSpot’s Product & Engineering team. We seek a diversity of experience and interests in choosing our final cohort, but there is one thing most of our successful applicants have in common: personal programming projects.
These projects can take on any form. An app to find the time your next bus is arriving. A chrome extension to hide spoilers for your favorite tv show. The topic doesn’t matter. The initiative it takes to create something does.
With that in mind, let’s get building! Here are some suggested steps for embarking on your own personal programming project.
Step 1: Choose Something You Love to Do
Side projects aren’t only for early-career engineers. Take me, for example.
In my free time, I love to crochet, which is the art of creating textiles using a hook. But one of the main challenges I faced in the beginning was the human-error factor in crochet pattern designs. Sometimes the directions don’t lead to the desired end result.
Instead of accepting this as an unavoidable reality of crocheting, I turned to my own experience as an engineer. I could use the tools I had mastered in my everyday work to help me with my hobby. I wrote a Python application that could parse, validate, and generate crochet patterns, saving me time by catching mistakes before I published them.
Here’s an example of one of the patterns I created using the code I wrote:
This particular pattern is for a specific size of crocheted cube, which, once I stuff it, looks something like this:
Add a few flourishes, and voilá!
The final product might seem like it has nothing to do with coding, but writing that application saved me tons of time and trouble. I took something and made it better with engineering.
So, what do you enjoy doing outside of work? Chances are, there’s a repetitive or error-prone part somewhere in there that you can use your coding skills to improve. Even better, got a cause or a local charity that you support? How about renovating their website or building them a cool mobile app or helping the cause with a project? You would be both supporting your favorite cause and investing in your career!
Step Two: Find Your Tools and Your Community
First, set yourself up with a public GitHub account (if you’re new to it, here’s a guide to getting started with git and GitHub), and start filling it with projects you’ve already completed. If you’re still in college, this is a perfect place for school projects to live. Next, find yourself a community of fellow coders, whether it’s a group of friends or something more formal than that. While it’s perfectly legitimate to work on projects solo, being part of a community can raise your game in ways you might not realize. Being able to bounce ideas off of one another and give each other advice and support can be invaluable.
If you’re not sure where to start, research hackathons and workshops offered in your area (for when social distancing is over, of course). Several of them have online options, including HubSpot’s Build Your First Web App Workshop.
Step Three: Don’t Be Afraid to Get Started
Remember, the product you’re building can be anything. It’s not the “what” that matters so much as the “how.” Here are some examples of what teammates of mine have built:
- A blog to to teach beginners how to program
- A chrome extension to hide Game of Thrones spoilers from your Facebook feed
- A scraper to track Netflix watch history and a web app to find the best movies from your favorite actor or actress
- An app to find the time your bus is arriving at the stop nearest you
Most importantly, your project doesn’t need to be perfect. And here’s a little secret: it doesn’t even need to work. Even a failed project is better than no project. The lessons you learn from that failed project and the fact that you attempted to do it, especially if it’s a difficult task, make you stand out.
So get going — it’s never too late! Spending time on personal projects shows that you’re passionate about learning and growing your programming skills.
You have boundless potential. It’s time to tap into it.
If working with a team that’s always interested in learning and growing sounds great to you, check out our open Product & Engineering positions.