HACKER Q&A
📣 xvr

What are some projects I can build to better learn software engineering?


I'm interviewing now after graduating with a Masters in CS and most employers ask me to complete a coding exercise: build a simple web app, a library, etc.

Most of the jobs around me are in web dev, so I'd prefer to work on a project using a web stack.


  👤 shartshooter Accepted Answer ✓
Build something you’d use. Doesn’t matter what.

The first app I built scraped a food delivery site that looked for big deals and sent me a text so I could confirm a purchase and have dinner at home.

I learned about web scraping, database storage, integrating twilio, error handling, cron and getting this all into an ec2 instance.

My second app I turned into a full time business after many rewrites.

Build an app that scans for the lowest gas price in town and send you the trailing 12 week average on price via text daily.

I’m learning guitar so I want to build an planner that makes sense to me

If you spend a little time you can come up with an app that will add value to you and because you know the problem and are motivated by it you’re more likely to ship compared to a to-do app or one of the generic recommendations you tend to receive


👤 hackermailman
https://github.com/gothinkster/realworld has a full spec you can clone and then compare to somebody else's implementation

👤 elamje
If you don’t have a personal website or blog, make one as a project. It will benefit you for learning web dev, for hosting content, and for giving you a portfolio!

Pick a web stack you want to learn, make your website and host it somewhere. A harder, but nice extension would be a blog admin page where you can add content to your site, from your site, so you don’t have to deploy your code every time you want to update your blog.

Don’t want to host yourself? Make a website on repl.it in the language of your choice, they will host it for free, and you can instantly see changes in “production” at a custom domain.


👤 lightwin
It might also help if you start taking code challenges on any site like freecodecamp [1]. You can pick any series of lessons and it will help you to gain hands-on experience while learning step by step.

Once you feel confident, start making your personal website or online resume. You can keep all the source code on some public website like github. It will also be handy while sending your code samples to potential employers.

[1] https://www.freecodecamp.org/learn


👤 mathieujofis
Pick an area you are interested in and then make a scalable web service for it.

Some examples: a website for getting the most recent cryptocurrency prices, an app for collaboration (drawing, design, music, etc.), an instagram clone, a simple multiplayer game (e.g., hangman).

Make them with scalability and availability in mind. When deployed they should be fault tolerant and scale to thousands of concurrent users. Show how you would load test it.


👤 HanQi
Learn Berkeley sicp (CS 61A) ,it will teach you to write an interpreter, more importantly, through it you will learn the most powerful idea of software engineering :abstraction.

👤 monk_e_boy
My students do three:

Reddit clone

Food bank organisation, shops submit out of date food. People want food. You organise this, facebook like interface.

MUD clone

Code these three. Put on github.


👤 hjortiz
What if you were to build a simple AR app? For example, imagine Instagram opens up directly to the AR filters. The action would simply be swiping left and right to try different AR filters. Would this be too complex?

👤 soul4krsna
U just graduated with a Masters and u get on HN to ask about what kind of project? Dude seriously look back at your last 6 yrs of life and reflect, if u learned anything at all.