DEV Community

Cover image for Do I need to do private side projects to be/become a professional web developer?
Owlcowl (he/him) for SinnerSchrader Engineers

Posted on

Do I need to do private side projects to be/become a professional web developer?

Disclaimer: professional in this case means making a living as a web developer.

This is a question I asked myself and discussed with other developers over my career multiple times. It seems like most web developers have at least one private side project ongoing or they are planning to.
For me personally I also felt some need in the past to have a side project because all the cool kids I follow on Twitter have some and they have fun with it and are successful, at least that is what it looked like for me. And I wanted to have fun and be successful too.

If you were on the job hunt in the last years as a web developer or talked to some devs that were you might asked yourself the same. 
It often even feels like if you do not have an open source (e.g. GitHub) account and add that to your CV nobody will even look at it.

So that specifically developers that are new to the profession get the feeling there is a need for private side projects to become and stay a web developer, is no miracle to me.

From my experience, after more than 10 years of software development, private side projects are not a good indicator if someone is a professional web developer. Over my career I had years with and without side projects and I wasn't the only one, even the cool kids take breaks from their side projects.

But I will say that private side projects can be quite helpful if you want to improve your coding skills or want to get into some new technology because you can do everything on your own terms.
They are no requirement though.

And please do not forget there are web developers out there which do not have any private time to spare for side projects and this does not make them any less a professional web developer.

What are your thoughts and experiences with this?

Discussion (27)

egilhuber profile image
erica (she/her)

I think the short answer is no, with a very large asterisk.

You can get a job without side projects, but they sure do help, especially since they're becoming such a huge part of tech hiring culture.

Side projects are like if you had to show your work on your resume. If an employer is looking for React proficiency and your portfolio is built with React, that's your skills speaking for themselves. Having clean repos with good commits shows some of those softer tech skills (we've all tried to decipher a teammate's bizarre commit message). These projects can also help you in your job when adding a new feature or tech - "I've worked with this before in my project, I can handle it!"

On the other hand, not having side projects doesn't make you any less of a developer. I don't have any side projects right now; I work full time as a developer! If anyone tried to tell me I'm not a real developer because of that, I'd scoff and send them back to 10X land. A mechanic is still a mechanic, even if they don't work on their own car.

Overall, I'd say side projects are important for those looking to break into the field as juniors, especially coming from nontraditional education backgrounds simply because there is so much weight being put on them right now. And if having a lush and green Github graph saves you from one interview whiteboard, then that's a win.

moopet profile image
Ben Sinclair

Do you need to?

Absolutely not. In fact, I think people put too much weight on them when talking about applying for jobs.

I think they can help, career-wise, when you don't have much professional experience, but most companies are going to see that you did a year here, a couple of years there and so on and talk to you in an interview anyway. Side projects "for show" run the risk of making people overly critical of you before they even get to the interview stage. People love to pick holes :)

On the other hand, if they're projects you genuinely want to do, and you have the time (i.e. they're a hobby) then go for it. Challenge yourself. But don't let failure in your personal projects make you question your professional ability... or vice versa.

jcfausto profile image

I don't think so. As you mentioned, people have very different lifestyles, and starting having a side project as a requirement for the role of a web developer doesn't feel right to me.

There's one aspect though where I think having a side project could help you during a job application for instance which is the possibility for the hiring manager to take a look at your project and understand how you write code, how you deploy it, what have been you playing with lately, etc. For this purpose, I find side projects interesting, but I don't believe they should be a requirement for dev jobs.

owlcowl profile image
Owlcowl (he/him) Author

I see what you mean but I also think it's a double-edged sword.
Some of my side projects have a terrible style because I was playing around and wasn't taking it too serious. If a hiring manager would see those they'd probably never invite me.
When I'm interviewing new candidates I'd like to see side projects as a possible point of discussion but not as an indicator how good they are.

jcfausto profile image

Sure, I agree with you on that. I'd also see these projects more as an opportunity to discuss technology, approach, etac. I'd also not judge how good a dev is just looking at side-projects, for sure. :)

winstonpuckett profile image
Winston Puckett

It doesn't hurt. I had a small number of well done side projects when I interviewed, and people told me after I got hired that it was one of the reasons they wanted me. They said it felt like I was passionate about coding vs looking for a job. That being said, I may have gotten the position either way. I think the question for me would be, is there a reason not to do side projects?

Course if you have years of experience, I think it becomes less important in terms of interviews

rickmills profile image
Rick Mills • Edited on

The short answer: Absolutely not. But if you do then you'll have a clear advantage.

The long answers complicated and full of disagreements and arguments, but the way I see it is that if you do choose to take on side projects it gives you full ownership of something, which forces you to look at a project from all angles. Be it planning, development, delivering within a timescale, etc.

Then theres the obvious benefit of more exposure to coding and trying out things you might not get to do in your daily job, which gives you a higher chance of discovering new and better ways of working, with new tools, methods, etc which you can then bring into your day job.

The effect that ownership of your own project has can't be understated. Over time it helps with all sorts of things, from general knowledge of a whole project to things like debugging and figuring out how not to waste a day fixing a 2 line bug.

So while you don't need to, and should never feel pressured into doing it, it can help if it's something you enjoy doing. If you see it as a chore then it'll likely just cause burnout.

ianwijma profile image
Ian Wijma

I personally don't have many finished project. I love thinkering with new and excited tools until I'm done thinkering. I have a full time job where after a work day, I'm tired and during the weekends I spend time with my partner doing other fun stuff. Once a month I pickup a framework or library to play around with. But I never force myself to finish a project, unless I feel passionate about it of course!

I do have some private long term projects where I work on when I feel like it. These are projects that I personally would use, but because of my work, I do not feel like I need to finish it NOW.

khburnett profile image
Kimberly Burnett (she/her)

I think something like this could be a great description during an interview. Letting them know that you actively start/create projects as a means of learning new technology. They're not full-fledged projects- just opportunities allowing you to keep growing and learning. If you can talk with enthusiasm about what you've learned by working on them or what you might want to try next, you'll certainly impress.

rajeshkumaryadavdotcom profile image

I think the more you will practice the code the more you will be fine in that. Apart from practice, theoretical knowledge on subject is also required to know why and how the code worked. If you don't have such side projects; at your free time you can try working on pet projects just for practices, good luck!

shamblingblindly profile image
Karen Carter

I feel like this post, as well as a number of the comments, are conflating very different things. Becoming a dev and staying a dev are two very different things, as are portfolios, side projects just for fun, and side projects for pay.

The entry- and junior-level web dev job market are currently extremely competitive and oversaturated in many (maybe most?) places right now. Many people are reporting a year plus long job searches while trying to get that all-important first dev job. Those folks are going to be at a severe disadvantage without a GitHub full of projects for a portfolio. It wouldn't be a stretch to say they need side projects. You can't compare the market of a decade ago to what's going on now.

After getting that first job and working a few years, no, at that point you do not generally need a portfolio, nor do you need fun or paid side projects in order to get new jobs or continue advancing. At that point your work should speak for yourself, unless maybe you are trying to get back into the market after a long break; I think at that point a portfolio is again necessary to show you've kept updating your skills.

owlcowl profile image
Owlcowl (he/him) Author

Thanks for pointing out the difference between applying on entry-level vs more expirienced level.

I can understand that most on entry-level feel they need to have a good portfolio of side projects. As you well described there's pressure from different angles.
For me as someone who is from time to time part of interviewing processes I've asked myself how fair it is evaluate someone based on their side projects and I concluded for myself it is not at all. Not all entry-level devs have the time to create a good portfolio of side projects, one reason could be because its a career change.
Since then I'm only using the side projects as a topic to talk about but not to evaluate coding style or anything similar.
I know that view is not common (yet) but I hope with discussions about this topic it becomes a bit more mainstream.

shamblingblindly profile image
Karen Carter

I agree, it's not really fair to require everyone to have a huge portfolio and I don't personally require this of candidates either. But listening to people who are on the hunt for their first job, it seems like most employers are requiring more and more out of entry level candidates. It's a huge problem with the industry right now in my opinion. Seems like many candidates are going to be entering the field already burned out, the way things are going.

dansilcox profile image
Dan Silcox

As everyone else has said, short answer, "no, but it helps". From a hiring point of view it makes the decision much easier when you have a point of reference for what someone can do/has already done. If you don't have a portfolio of some description it's much harder to convince potential employers of the high quality of your code, particularly when you're very early in your career. Not sure about elsewhere, but a lot of roles here in the UK stipulate 'salary up to X depending on experience', so the more you can do to demonstrate that experience the easier it will be to justify starting on a higher salary.

That said, everyone's situation is different and employers are seemingly recognising that more and more - and also recognising that non-tech skills are just as important as the actual coding skills in terms of the perspective they give you. Posting on here doesn't hurt either ;)

cmiles74 profile image
Christopher Miles • Edited on

In my opinion, if you're working a full time development job you probably do not have a lot of time for side projects. After a day of engaging work, you likely want to eat dinner and spend time with your family or zone out in front of the TV.

That said, I think it could be somewhat beneficial to have some activity on your GitHub (or similar) page. There are some work related activities that could help with your activity! If you run into an issue with a library or framework you use, often that project is on GitHub and you can add your two cents to an existing issue or open a new one. If it's really critical to your work, maybe you can fork it and offer a pull request to the project. In my experience, most managers don't have an issue with this as long as your other work isn't neglected.

While it happens less often, there may be code that you've worked on that your company will let you open source. A specialized parser, for instance, could be orthogonal to your company's business and community patches can only help keep the code up-to-date and relevant.

Certainly none of us should feel pressure to create a project just to increase our activity on GitHub.

msk61 profile image
Mohammed El-Afifi

I'm going to talk from the perspective of a software developer in general, not a web developer in specific. Side projects do help improve your skills but they're by no means a mandate and there are definitely other ways to hone your skills.

khburnett profile image
Kimberly Burnett (she/her)

So I'm going to agree with Erica below me, but with a twist.

I think the short answer is yes, with a very large asterisk.

This topic came up the other day when my colleagues and I were interviewing a candidate with no side projects. For me, it was something of a red flag, but for the others, it wasn't. If you have a long list of full-time work, I wouldn't expect you to be devoting much time after hours for more projects.

However, if you are just starting out, side projects will definitely set you apart from other candidates. We love looking through GitHubs and seeing fun projects.

One of the questions I often ask in interviews is, "What are you learning now?" or "What do you want to learn next?" People with side projects consistently provide better and more interesting answers.

Side projects show me that you're committed to continual learning and demonstrably interested in technology. Even more, if you're passionate about a project that excites you, it's thrilling to listen to you tell us about it. When you have candidates with equal qualifications, I've regularly seen the candidate who spoke with enthusiasm about their project receive the job.

If you don't have time for additional projects, I'd at least recommend taking time to stay on top of what's going on in the industry. Subscribe to newsletters and dedicate a little of your time to keeping current about trends and emerging tech. Maybe have an answer ready about the kind of side project you'd like to build (with tech stack details) if you had the time.

owlcowl profile image
Owlcowl (he/him) Author

Thanks for taking part in the discussion Kimberly.
You confused me for a second because it seems you and Erica are not on the same page, she said no with an asterisk and you said yes with an asterisk. 😁

Form me you made some good points here and I also love to see the passion when I interview a candidate.
From my point of view we (devs doing interviews) need to be careful though that we don't accidentally create a toxic hiring process.
Erica said it quite well in her post: "A mechanic is still a mechanic, even if they don't work on their own car."
Our area is one of only a few where professionals are almost required to improve their skills constantly in their private time and that puts a lot of pressure on us and even more on new starters.
And I think if we (devs doing interviews) should work against it. That was one of my motivations to write the article above.

khburnett profile image
Kimberly Burnett (she/her)

I definitely understand the confusion. I loved Erica's answer and agreed with a lot of what she said. I think the details were in the asterisk :D.

I appreciate your perspective that expecting side projects may create a toxic hiring process. I hadn't thought of that before and it's a really good point.

Some of the other questions we sometimes ask are, "Is there technology you'd like to learn more about" and "tell me about the favorite thing you've built - either professionally or personally or in school". Maybe these are better ones to lean on that capture the same information: whether the candidate has a GROWTH mindset and likes what they do.

Thank you for sharing your article and your motivations behind it.

rfaugusto profile image
Rafael Alberti Cantoni Augusto

I follow the same steps as Cristopher Miles: "In my opinion, if you're working a full time development job you probably do not have a lot of time for side projects. After a day of engaging work, you likely want to eat dinner and spend time with your family or zone out in front of the TV".

I think that two huge points about this are (impressively):

  • Where do you live at;
  • How do you measure success and define "having a good life standard".

For the first point, I believe that there are places across the globe where you probably won't have a good salary (depending on what technology you use and seniority level, but that's another story). So people refer to side projects to raise their income, and have the opportunity use different technologies as a side effect.

For the second one, I think it really comes down to the point where you are satisfied with what you have or not. If you are the kind of person that needs to have the latest phone and the most recent Apple Watch (just an example), probably you will need to have an extra income to pay for these things... 70 inch smart TVs, latest gen iMac, an expensive car, etc. I guess that people refer to side projects to earn more so they can afford these things (if this will eventually work out is, also, another story haha).

u8nc profile image

if I was a Hiring Manager, and a wannabe was showing me her/his side projects, I would question very much whether the client that the side project was intended for would be happy their project was being paraded all over th' manor.

very unprofessional.

owlcowl profile image
Owlcowl (he/him) Author

Maybe I should have put in a definition for side project.
What I mean with a side project is a project you do in your free time for yourself or a community.
Not a paid project for a client next to your work.

yoursunny profile image
Junxiao Shi

I started a side project when I'm in grad school: NDN Arduino library for ESP8266 and more.
Five years later, it becomes a dependency of my main project (not yet published).
This is so messed up.

dastasoft profile image

It's not necessary but if you want to do something beyond work and explore other technologies or different projects that may not appear in your day job, why not?

I'm sure it can help you get a new job and if you are at the point of looking for new opportunities it can be a good habit, especially if you go to a different area, for example from back-end to front-end.

Generally speaking I would say do it if you enjoy doing it, there are many different lifestyles and maybe this doesn't fit your current habits or you already have other habits that bring you value.

I think we can compare this to going to the gym, is it necessary to stay healthy to go to the gym? No, you can work on healthier eating habits, or take the car less and walk more, but if you like the gym, do it :)

anshumanxda profile image
Anshuman Pathak

People do side projects to improve their skills and learn new things that are currently new in the market. I really think everyone should do that. It enhances your skills and you will be one of those COOL KIDS as well.

alexan1 profile image
Alexandre Konioukhov

why private? it's better public

owlcowl profile image
Owlcowl (he/him) Author

Private in this case means private time, so next to work. I didn't mean the project settings, tbh I didn't even thought about that interpretation when writing the article.
Thanks for the hint will be more precise next time.