10 Great Programming Projects to Improve Your Resume and Learn to Program
Tags: Python, Software Development, Interview, Data Science, Programming

Entertainment

1. A web scraper that posts top 10 blogs without human intervention

One of the issues we find with some project recommendation posts, is that they recommend projects that aren’t implemented in a way that excites the programmer to continue development. For instance, I see that a lot of people recommend building a web scraper.

Once you’ve built that web scraper and scraped the data, what are you going to do with it?

Instead of just scraping the data, why not build a website with that data. It doesn’t have to be fancy or get a lot of views. This scraper could pull the data into a database and then select the most popular posts. From there it could copy the title, along with a few sentences, and then create a post that it shares online. This would be an impressive and simple project that you can actually show off.

You’ve now shown that you can do more than just code a small segment of a system. Instead, you can think through an entire system. You need to consider how you are going to automate the process, manage the database, create the website and select the posts. This also allows you to actually have a tangible end product.

Without a tangible end product, it’s really easy to become unmotivated and simply stop at only a web scraper.

In addition, you never know, maybe your site will become popular!

Skills: Database, web scraper, automation, web development (for the blog), and general programming.

2. An event-alert system using Meetup and Eventbrite APIs

Have you ever wanted to go to a band or comedian show, but realized it was last week? Maybe there was a free conference in your area on data science or big data and you missed out because you forgot to check.

Why not make your own aggregator using the Meetup and Eventbrite APIs, that will warn you when keywords are in event descriptions or titles? Now, I assume both Meetup and Eventbrite have similar options. But it is always fun to try to build your own system.

You can customize the system to work the way you want, and maybe even allow other people to make their own alerts by making this a website. What we enjoy about this project is that you can practice working with two different APIs. This will allow you to compare and contract what you like and dislike about them. That way, if you’re ever in charge of building an API, you’ll have a better picture of what works and what doesn’t.

Skills: APIs, database, automation, web development, and general programming.

3. A 9GAG copy cat

You don’t always need to try to reinvent the wheel when creating your own projects. Simple projects like a site that lets you login, post photos, GIFs, and lets you scroll through a feed, provides an opportunity to create a solid base site first. Then you can add lots of interesting features like following, liking, and search. Search in particular would be a great chance to learn how recommendation systems and machine learning work!

It’s always fun to try and replicate popular sites. In fact, it is actually a great way to learn because you have to reverse-engineer each feature. Reverse engineering is a great skill, because as a software engineer you will constantly be maintaining other people’s code and you will need to get in their heads.

Skills: Machine learning (for recommendation system), database, automation, web development, and general programming.