
Ask HN: What sort of side-projects are useful for getting jobs? - jamesmp98
Most of mine are more of demo&#x27;s I built for blog posts and teaching rather than SaaS products people are actually using. Some of my projects are rather complex and (at least I believe) do well to show knowledge and understanding, but I feel like the fact that they are demos rather than products make them rather useless.
======
cocktailpeanuts
Here's a piece of advice from actual experience (from both sides):

Invest your time studying for interviews than wasting time building side
projects if you're doing this purely for getting a job, period.

In my experience, companies don't care about your little side project when
hiring--that is, unless your "little side project" had some huge impact or is
something they have been aware of--the best you could get is "huh that's
cool", and that's it, unless you created something really unique.

This whole process of job interview is broken because it's extremely easy to
study for them and give the right answers if you invest a couple of weeks to a
few months. But since we're talking about getting a job, I think you should
take full advantage of this. If I were you, I would be doing this instead of
doing side projects for the sake of getting a job.

Also, "side projects" should be something that you build because you think
they're cool, not because you want to get a job. That's another reason why I
say study for the interview instead of bothering to do side projects if the
purpose is to get a job. It's neither meaningful for the employer nor for
yourself.

If you still really want to do a side project, just pick a problem you want to
solve, and apply some new technology you want to learn to build it. That's the
best side project for yourself and the potential employer.

~~~
nrjdhsbsid
This 100%. When I'm involved in the interview process I make a point to check
out all candidates side projects but over 90% of people don't care.

In getting my last job I thought I would have a slam dunk because I have a
bunch of cool stuff I work on but nobody cared at all.

I failed multiple on site interviews until I gave in and read a couple CSCI
101 books cover to cover. I had too much specialized knowledge and not enough
fizzbuzz. On my second round of interviews I got offers from all three
companies because I could regurgitate their stupid toy problems in minutes.

~~~
akhilcacharya
> stupid toy problems in minutes.

What sort of toy problems are you talking about?

~~~
logicallee
I'm going to be snarky but I'll say it anyway: you know, stupid stuff like
balanced binary trees and shit like that, when nothing's going to fall apart
if the user's browser shows a spinning wait animation for 7 seconds (45
seconds at peak times but that happens for just a few hours per week at most)
while you iterate through the data sequentially. honestly, who ever _needed_
an algorithm or data structure. /s

(I'm sorry. I thought about using less snark but I can't.)

~~~
adrianN
the last time i had to implement a datastructure was in class. on the job i
use the standard library. i hope you do the same.

~~~
logicallee
But rolling a standard datastructure (and what's the "standard library" for a
red-black tree anyway - in Python, or in Java? - or C++ for that matter)
proves that you can do something "tricky" and hopefully get it right. You can
understand and reason about what you're doing. If they don't let you Google
while doing a "CS" type problem, of course, then they're insane.

When it comes time to do something novel, that understanding will be very
useful.

People pooh-pooh Google's hiring interviews, but when was the last time
Gmail's search results on your email were as bad as Bing's (I use this example
because it's not their general index, I'm asking about _your_ mail.)

There are a lot of good reasons to bone up on CS 101 (and 201, 301, 401, and
501).... I disagree that it's just "studying for the test".

------
bsvalley
From my own experience dealing with all kinds of companies. If you aim for
C-level companies (IBM, Banks, Oracle, Walmart, etc.) then you don't need to
spend time building side projects. They simply don't care. For B-level
companies like Uber, Airbnb, Dropbox and everything in between low and high
skilled engineers, it's crucial to have a product of your own out there. They
hire mostly young engineers with no professional experience, fresh out of
college, so need something to look at. Your app(s) or website(s) will lead you
to an interview if you apply. Now, for A-level companies like Google, Apple,
FB, etc. it's actually better to do what you do! They prefer a nice github
profile rather than an actual app. They're looking for very technical people
who teach, mentor, etc.

So I'd say, do what you do, update your github profile and apply at google,
etc.

~~~
luhn
How are you categorizing these companies? What's makes one A, B, or C-level?

~~~
bsvalley
This is how recruiters and companies classify engineers in Silicon Valley (and
beyond I believe). I'm not a fan of that classification personally, but it
makes it easy to trim a pile of 5000 Resumes. What happens is that Google, FB,
etc. will most likely attract 'A' engineers, while other companies will have
to deal with B's and C's (sometimes A's as well).

So to answer your question, an A engineer is someone who can potentially crack
a Google interview, or someone who worked for one of the big-5 in the past
(FB, amazon, google, apple, microsoft). I let you guess for B and C... same
concept.

------
zad1
I'm a junior web developer (1.5 years of experience) and I don't have a degree
in the field, so references are all I have to proof my worthiness. And
similarly I have a lot of small (mostly useless too) projects that nobody
uses. But I still put them online. I have my own domain for development
purposes only and whenever I finish a project to a satisfiable degree I put it
on some subdomain amd add it to my list of references. Purely as a quick way
for people to check what the code they were looking at actually does.

My references vary from simple image-upload site to a (more complex) link-
hosting site that does a lot of magic behind the scenes. And a lot in between.

Even projects from hackathons.
[Here's]([http://helpmehelp.herokuapp.com/](http://helpmehelp.herokuapp.com/))
a perfect example. The code is opensource (terrible though :D). The project is
old, irrelevent and unused. But still no reason not to have it hosted
somewhere.

~~~
newbear
How did you get a job?

~~~
UweSchmidt
Lol.

There is definitively a barrier of entry in software and it helps if you do a
bunch of things that are discussed here in this thread.

On the other hand, if you just need a _job_ as a programmer and have skills
like OP seems to have, and apply for junior positions, possibly through a
contractor, then you will get a job.

This is for anyone who reads these threads and wonders "am I good enough?"
"can I be a programmer?"

Yes.

~~~
jamesmp98
One of my problems is finding junior jobs. It seems whenever I go searching I
see only mid-senior level jobs

~~~
aphextron
>One of my problems is finding junior jobs. It seems whenever I go searching I
see only mid-senior level jobs

Stop applying to junior jobs and thinking of yourself as a junior. "junior" is
just code word for "pay me less". Get yourself to where you need to be and
just apply for regular roles.

~~~
baumandm
Difficult when non-junior jobs require 3+ years of work experience and you
have none. A majority of companies will filter out your resume before you even
get an interview.

And then there's the practical issue of living without a job while you get
education, build experience, etc.

In my opinion, "junior" is code word for entry-level, and it's the easiest
search query to find those jobs.

------
DanHulton
Finished ones.

This sounds trite, but honestly, finishing things is hard. If you can show off
a couple of finished side projects, that reflects much better than a half-
dozen abandoned halfway through.

~~~
grovegames
There is no such thing as a finished project. Just one you no longer work on.

~~~
T-hawk
I think the parent really meant _publishable_ where he said finished. Some
kind of minimum viable product. That's what shows you can cut through the BS
and wishlist and fun-to-code stuff in favor of the details and grind of
getting something out the door and functioning to serve an audience.

~~~
FLGMwt
`publish` vs `finish` I think is a good clarification of what I think the
commenter meant.

Going further though, I do think I prefer `published` to `publishable`.
Fighting through the last (sometimes most difficult steps) to get something in
the public means a lot to me.

Additionally, it's also easier to demo something that's available on the
public web.

------
bourbondd
Interesting to see many comments here claiming that side projects don't matter
when looking for a job. I've been actively applying for a full-time dev
position for the past 3 months and the most common feedback I receive is "We
need to see side projects, OSS contributions so we know how you code."

I have about 4+ years in DevOps and in support. I consider myself a
programming generalist, which I thought would be enough to at least get a
technical interview. Instead of working on a project that will most likely be
left incomplete due to fatigue or loss of interest, I rather spend that time
learning ways to improve my skills to make myself the best programmer I
possibly can be.

I've been considering starting my own blog and write articles about lessons
learned or an e-book to express my credibility. Does anyone have any opinions
with developers who write blogs/publications in lieu of side projects or OSS
contributions?

~~~
mixmastamyk
No hard data, but would just add I find quality writing of prose just as hard
(or harder) than the creation of quality software.

~~~
vram22
I agree. I think it is partly because the quality of prose is more subjective
than that of software. Not thought a lot about this point though. It is an
interesting topic.

------
localtalent
It depends where you want to work. Here in NYC my experience, the plural of
which is not data:

Enterprise-style jobs at non-tech-focused places (banks, pharma) don't care.

Big Consulting companies _really_ don't care, they just want warm bodies.

Startups and small companies care a lot. I've been on both sides of the table
and it's been a big differentiator. When I was screening potential candidates
at another company, if you didn't have anything at all we were less likely to
bring them in for an interview.

And it wasn't always tech stuff. One person did multiple research projects on
bird species and submitted them to science journals. One person made a book of
notes passed to tellers during bank heists. At a small company people spend
more time with their colleagues than their SOs, and you need to like each
other. Side projects are like cover letters, they let me know what you're
interested in and that you're an actual human being.

Currently on lunch at a job acquired through a side project. I built it
because I saw a problem, got upset enough about it to do something, and made
it happen. I think that's the key - it's a combination of being interested in
something and design/build/execute ability. Do it because you care, not
because you want a job.

~~~
pdimitar

        > Big Consulting companies really don't care, they just want warm bodies.
    

Could you please elaborate on this?

------
Danieru
I made a video game and I have had two jobs thanks to that code base.

The thing which is valuable is to show you can get things done. That's it.
Nothing special, just do what you want to be doing then show it to be who need
engineers to do that thing.

~~~
oeb25
If you don't mind me asking, in what field were the jobs? Does making a game
give you much credit out of the game industry?

I hear some say game development is the hardest field in software, but I'm not
sure recruiters in say web development sees much of a bridge between the two!

~~~
Danieru
If you want to be a web programmer then do not make games. Yes I got interest
in other fields thanks to my game but the idea is to work in games. Both my
jobs have been in the Japanese video game industry.

------
philipodonnell
Side projects can be amazing for building skillsets in areas that aren't a
direct part of your current role but will be in a desired next role. 95% of
domain knowledge for non-engineering interview purposes is lingo and plausible
applications from your past.

Anecdote warning: Some years ago (pre big data) I wanted to move into
analytics from more general strategy consulting because I found it more
intellectually challenging, but didn't have much on my resume to support it. I
started building database-backed sportsbetting algorithms (first horses, then
hockey) and trying to find profitable strategies. I never did find one, but a
year later when I found myself a part of the inevitable downsizing that
happens in the industry and applied for analytics jobs, the statistics,
probability and analytics strategies I learned betting on sports definitely
got me the job.

------
juanbyrge
For typical full-time jobs, whiteboard cording questions are all that matter.
Whether or not you have interesting side projects or experience does not
matter all that much.

For other type of work, such as freelancing or consulting, your previous
experience may matter slightly more.

~~~
ceeK
Maybe it's just my experiences (iOS development interviews), but whiteboard
interviews are actually quite rare. Most of the time it's either questions
about iOS, pair programming iOS or discussing your implementation of some
coding test.

I wonder if this is just a result of it being a more niche skill set than a
general software developer.

------
mindcrime
_I feel like the fact that they are demos rather than products make them
rather useless._

Why would you think that? Anything that shows off your skills has value. Well,
it would to me anyway. I mean, if I were evaluating your candidacy for a job,
I wouldn't care if your projects were demos or "actual products".

------
nickjj
It depends on what your definition of "getting jobs" is.

I haven't looked for a job for years but I get freelance / consulting gig
opportunities presented to me on a pretty regular basis.

Most of those opportunities come from a combination of side projects, open
source contributions, having a blog and teaching online courses.

Now, I'm not sure if that's what you meant but in the above life style you
don't need a resume or know how to take interviews. You don't even need a
formal education.

People just come to you, already knowing beforehand that they want to work
with you. You already have the job before you even know what it's about.

~~~
ryandrake
Congratulations, you're in a nice spot but your situation is extremely
unusual. Most people do not have jobs just being offered to them out of the
blue, so not sure if the advice is really that usable.

~~~
nickjj
Anyone can do it right now.

~~~
ryandrake
OK, I'll bite. What's the secret? Because nobody yet has E-mailed me out of
the blue with my next job offer.

~~~
nickjj
There's no secret. Just determination and a willingness to work hard under the
assumption that no one owes you anything.

You could start open sourcing some of your work right now and build your self
up on GitHub. Maybe start a blog too.

------
jjoe
The difference between a demo or prototype and an actual SaaS with paying
users is significant. The former can land you a technical job if it's well
done. The latter will getyou a C-level job for an upstart if it's well
executed (read: shows important growth). But you haven't explained what kind
of job you're applying for.

~~~
citizens
> The latter will getyou a C-level job for an upstart if it's well executed

Could you expand on this? Are you referring to an acquisition?

~~~
jjoe
Not an acquisition. If you can show you've built a XaaS from scratch, were
able to acquire a good number of paying users, and were able to keep them
happy, then chances are you're well worth the hire. You're high-end startup
material. Do this a few times in a row and you can be certain investors will
like you. Taking it up a notch each time.

People who can do this serially are never out of work.

------
chad_strategic
If you are just studying for a test interview, then might as well show them
your grades from college or your SAT score. Solving the interview test isn't
real life.

I agree with what is generally said bout side projects, nobody really cares. I
mean not even a little bit, it kinda of amazes me. But oh well, I do my side
projects for two reason, 1. to make money 2. to increase my knowledge in a
language.

I wonder if Bill Gates, Zuckerberg and Jack Dorsey would be around if they had
to go thru intensive code interviews?

------
jorgemf
I think it is more interesting for companies if you contribute in open source
projects relevant for your future jobs rather to single-person side projects.
It means several things: you can join a team working in a project, you know
how tools like git work and how make a pull request, you have experience with
something you might use in your future job and you can collaborate with
others.

If it has to be a single-person project, then it only has some value if you
released it and people is using it.

------
tytrin
A lot of responses I've seen seem to bag on side-projects. My experience has
been a little different, but I see the wisdom in 'Don't pursue side projects
if its purely for getting a job'.

Here's my story: I was a Junior in College, and had just learned Java. I was
bored with the class, so decided to do something with Java, since I'd just
picked it up. I decided to write a small mod for Minecraft, back before like
1.5 or something. It was a simple terrain modification, involving some basic
3D geometry. And after a few weeks, I was able to post it and had some
success. I was very pleased with my Floating Islands.

That summer, when I was applying for _Internships_, They asked about my work
with Java, and I mentioned the mod I had made, and explained the process as
well as the logic I had used to get it done. They later extended an offer to
me, and thus I started my first Internship.

As I got to know some of my interviewers, by working with them, I was given
the chance to ask what I had done which made them think to offer me the spot.
You see, I wasn't the strongest in CompSci, since I was actually studying as
an Electrical Engineer. The interviewer mentioned a small handful of things
involving problem solving, and the way I could handle changes in requirements
( they enjoyed throwing a wrench in the works during the interview questions).
And then he mentioned that my work outside of school had put me over the edge
because it wasn't just academic, it was personal.

So in summary, perhaps at the Professional Level side-projects of low-impact
have a low rate of return, but at the college level, I believe it is worth
investing your time in a side-project, to grow your skills and to show you are
interested in it beyond mere academia.

------
pjsg
When I interview someone, I always ask about side projects. Some have been
huge, and some small (and maybe half haven't done any). However, the passion
that the interviewee shows when talking about their project is very revealing.
Also, do they really understand the problem, do they have a realistic view of
what can be achieved.

------
daok
Most of my side project are spread on many months (years sometime). I try to
ship something valuable and meaningful, but the main idea remains to practice,
learn and get my hands dirty.

Small demos, most of time time, keep you on the main, easy, default road while
a bigger project let you see a lots of side scenarios which are more
representative of what you will hit in job.

However, I would recommend, from my experience to always scope down features
since at some point you may fell in the trap of adding feature and not
learning the technologies, hence moving away of the primary goal. I am
wrapping a 30 months project and will definitely not do any project that would
take that long. I aim project between 4 to 12 months for the future (at about
40 hours per month).

------
xs
For me, it's having a successful blog that is on topic to the position. When I
started my current job 7 years ago, I started a blog then which was simply a
repository of lessons learned, scripts I can reuse in the future, cheat
sheets, and videos. I still use it today to look up how I did something years
ago, but apparently a lot of other people use the site too. The blog
demonstrates the following to any potential people willing to hire me:

* A sample of my writing skills * A sample of my design skills * A sample of my engineering skills (shown in scripts and codes) * A sample of my documentation skills * Additional proof that I am passionate/skilled/interested about this type of work.

------
amorphid
I don't spend a ton of time mastering algorithms for interviews. Maybe I
should. But studying a canned set of specific formulas is about as fun as
memorizing a Math textbook. I've found that I become a better programmer by
focusing on what's interesting to me. Often times one can guess at a pretty
good solution in an interview by simply having tried to make enough things
fast enough, modular enough, DRY enough, etc. My basic hypothesis is that most
interviewers wanna know you can think how to make things easier to reason
about, faster, can ship something, and the you have enough depth to help them
in a meaningful way.

------
Bahamut
For me, my open source work has been a great way to establish credibility for
finding jobs, full time or freelancing. In addition, it is a way of giving
back to the software I use, and improve my skills by dipping outside my
sphere.

------
liquidise
The kind that you are/were passionate about and can speak knowingly about the
techs you used in the project.

In rare cases, your side project is addressing one of the businesses needs
directly, giving you domain knowledge. More likely is that it does not. At
this point, the value-add of that project is that is improves your
understanding of the techs you used. Can you talk about the pros and cons of
using Go/React/Angular 2/techBuzzwordDuJour? That speaks to your passion and
creativity, and stands to improves the knowledgeable of the team that hires
you.

tl;dr: Do something fun that you enjoy. The rest takes care of itself.

------
oelmekki
Leading a side project up to release is already a plus : it means that you can
build a product by yourself, which is actually quite rare among developers
(few even try, many of those who try never get it done).

On top of that, having a side project which actually has users is better :
this gives you street cred and also demonstrates you can communicate with
stackholders.

If you have a side project in the same field than the business you're trying
to get in, obviously, this is almost an instant hire. Developers often think
business domain is a detail, business people don't.

------
rolodato
Find a company that works with open source projects, and contribute to them on
your own time. Bonus points if you actually use them for your own projects so
you are able to provide real-world use cases and feedback to them.

This especially helps if the company is a startup, in which case they most
likely are understaffed to keep everything up to date and bug-free. They will
also be more likely to respond to your feedback in an actionable way besides a
"thank you" from a maintainer.

------
vram22
I would say any project that is non-trivial and is of some use. Does not have
to be large. In fact it could even be of no practical use, if it shows some of
your programming skills and knowledge (preferably on aspects that also happen
to be useful in jobs). But the projects with no practical use will likely have
less chance of getting you what you want - though some chance still. As with
many things, it depends - on the company / job / etc.

------
lordCarbonFiber
Beyond just showing potential employers you have skills and can apply/talk
through them (and demos work fine for this purpose; I would't worry), if you
want a specific job then it's helpful to have side projects in the target
domain. e.g if you want to do data science for a civic minded nonprofit, maybe
have a side project doing analytics on one of the census data sets, etc.

------
betadreamer
Side projects are great to get recruiters' attention and also a great filler
if you want to show what you can outside of your previous job. But even if you
have an awesome side project you may still get rejected. So in the end if you
want a job I will focus on getting really good at solving interview questions.
It is broken. You can optimize for it.

------
RomanPushkin
IMO anything you like. Could be library, jquer/react plugin, theoretical work.

Just released my side project: [http://libretaxi.org](http://libretaxi.org) \-
it is open source, useful for some users, code is kinda clean, plenty of
tests.

Just show how you can take an idea and implement it. So your employer will
know what to expect.

------
ojr
I get a few leads from my github account here and there and because I have
been working more on closed-source side projects, my activity on github has
been low for the past year, generally open-source projects that will be good
to show for a job would probably have software that shows you're up on the
latest tools and have some testing

------
etimberg
I'm going to second the library idea. If you have a library released and get a
few users, you'll start getting bug reports, feature requests, etc. You'll be
able to show companies that you were able to manage work effectively
(prioritization), write good code, write good tests, etc.

------
user5994461
What you need to get through the door is experiences at real companies, on
real projects, serving real users.

No one cares about side projects, outside of juniors who got nothing to sell.
It's very likely that noone even ask about it during the interviews.

Put a link to a random github just to have a link and you're good.

------
citizens
A side project may help you land a meeting, but it won't matter during a
technical interview.

------
halis
Think of a web application. Anything, Trello, Twitter, Harvest, Facebook.

Re-build said web application in your own image. Pretend you are going to
release it to the public even if you aren't. Develop everything a public app
would need.

As long as you learn a lot, that should be sufficient.

------
soreal
For me, coding simple games was extremely valuable.

First, you can publish them as apps, which is fantastic for resume building.
But also its the best way I've found to practice all the algorithms you'll
eventually be asked to implement in coding interviews.

------
maxxxxx
The only thing that would peek my interest when interviewing someone would be
something that is actually finished and does something useful. Having dealt
with a project long term and stuck to it is also a plus.

------
griffinmichl
Open source work impresses me the most.

