12 ms·
Ask HN: What sort of side-projects are useful for getting jobs?
Most of mine are more of demo'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.
- mindcrime 10y agoI 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".
- Danieru 10y agoI 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 10y agoIf 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 10y agoIf 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.
- lordCarbonFiber 10y agoBeyond 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.
- zad1 10y agoI'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 10y agoHow did you get a job?
- UweSchmidt 10y agoLol. 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 10y agoOne of my problems is finding junior jobs. It seems whenever I go searching I see only mid-senior level jobs
- grovegames 10y agoApply for the mid levels anyway. I never post for a junior position, because we don't have the time and money required to train you up to where you need to be. However, part of this is also about confidence. If you're fresh out of school, but you code as a hobby, and are really into learning about how code works, and have some chops, then depending on the hiring round, you can easily score higher than a mid level dev that has simply worked with Visual Studio his whole career and is inept if an IDE isn't there to hold your hand the whole way through. That's beyond useless to me.
- daok 10y agoMost 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).
- jjoe 10y agoThe 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 10y ago> 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 10y agoNot 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.
- deleted 10y ago[deleted]
- DanHulton 10y agoFinished 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.
- krabpaaltje 10y agoI agree, finishing a project is pretty huge. Also have a portfolio website to show how and why you made certain choices. I have one (very bare bones) for my mobile apps but it helps the employee to see what you're capable of.
- grovegames 10y agoThere is no such thing as a finished project. Just one you no longer work on.
- T-hawk 10y agoI 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 10y ago`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.
- cocktailpeanuts 10y agoHere'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.
- jamesmp98 10y agoSo what do you do if you lack a degree and professional experience?
- pjc50 10y agoYou need to get one of those two. Which means getting the experience somehow. Unpaid work is one (expensive) way of doing it, but so is getting into a related position and working your way across. QA is potentially a good path for this: hired to do simple things without the degree requirement, move into test automation, move across into development. Then you have it on your CV.
- pmiller2 10y agoIt's actually pretty tough to go from QA to dev.
- liquidise 10y agoThe 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.
- juanbyrge 10y agoFor 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 10y agoMaybe 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.
- citizens 10y agoA side project may help you land a meeting, but it won't matter during a technical interview.
- ojr 10y agoI 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
- bsvalley 10y agoFrom 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 10y agoHow are you categorizing these companies? What's makes one A, B, or C-level?
- bsvalley 10y agoThis 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.
- curiousDog 10y agoUmm, Airbnb interviews are much harder than FB and Google.
- bsvalley 10y agoFrom what I remember so far at Airbnb it used to be tough when they were small. I don't know today if they still attract a lot of rock stars. But still, all I had to do was to write up a mini-web app and connect to their API in order to pull out some data, in about 2 hours. Then after this interview they had an onsite with classic CS and culture fit. They were very tough on culture fit and you had to meet with the 3 founders. I don't know today if it's still the case. At FB and Google it's all about mathematics, advanced CS, etc. So... They're looking for generalists and it's harder to find because in real life you don't really use this stuff anymore.
- RomanPushkin 10y agoIMO 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.
- Bahamut 10y agoFor 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.
- jorgemf 10y agoI 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.
- maxxxxx 10y agoThe 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.
- xs 10y agoFor 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 10y agoI 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.
- SmokyBorbon 10y agoRelated question: Everyone is commenting that studying for the CTCI bar exam is more important than personal projects. Is something like HackerRank more or less important than personal projects? Thank you.
- nickjj 10y agoIt 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 10y agoCongratulations, 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 10y agoAnyone can do it right now.
- ryandrake 10y agoOK, I'll bite. What's the secret? Because nobody yet has E-mailed me out of the blue with my next job offer.
- nickjj 10y agoThere'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.
- user5994461 10y agoYou have no experience; no linkedin; or you're not in SF/SV/NY/London. Link to your linkedin/resume please?
- bourbondd 10y agoInteresting 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 10y agoNo hard data, but would just add I find quality writing of prose just as hard (or harder) than the creation of quality software.
- vram22 10y agoI 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.
- user5994461 10y agoFork a random GitHub and you'll be fine. Then you can watch the GitHub stats and see that noone opened your link :D If you're DevOps you should probably have an updated LinkedIn. Its getting crazy over there.
- vram22 10y agoIn my personal experience - side projects, blogging and technical articles all help; done all three, seen results from all three (for getting both jobs and consulting / training work), and intend to do more. Ebooks are pretty sure to help too. Obvious caveat is that all have to be at least reasonably good. Blogging can take more, time though, you have to keep doing it for some time before people notice it. Every little bit helps, though, IMO.
- griffinmichl 10y agoOpen source work impresses me the most.
- rolodato 10y agoFind 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.
- philipodonnell 10y agoSide 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.
- etimberg 10y agoI'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.
- betadreamer 10y agoSide 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.
- seanwasere 10y agoi built http://birdmmo.com http://birdmmo.com to show of my node, socket.io, paper.js skills
- deleted 10y ago[deleted]
- localtalent 10y agoIt 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.
- halis 10y agoThink 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.
- user5994461 10y agoWhat 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.
- oelmekki 10y agoLeading 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.
- soreal 10y agoFor 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.
- vram22 10y agoI 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.
- pjsg 10y agoWhen 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.
- tytrin 10y agoA 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.
- chad_strategic 10y agoIf 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?