
Ask HN: What are some projects I can build to better learn software engineering? - xvr
I&#x27;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.<p>Most of the jobs around me are in web dev, so I&#x27;d prefer to work on a project using a web stack.
======
shartshooter
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

~~~
Koshkin
No - build something somebody else would use and not complain.

------
hackermailman
[https://github.com/gothinkster/realworld](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](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.

~~~
merkul204
which institution do you teach at where your students would acquire the skills
to do these? Any online classes you can point to perhaps? Thks

~~~
monk_e_boy
These skills are not hard. 3 months of apprenticeship, 1 day in college, 4
days in a job.

Just start building one, learn as you do it. All I do is insist that the
students do it. They're all like you, "Oh I don't know if I can." .. I just
force them to do it.

Another bunch of non-coders - first assignment is to send a waether balloon up
(50,000 ft) and take picture. You've just got to want to do it. Posting on HN
isn't enough. Start typing in code. Don't stop until you are an expert.

------
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.

