We're a place where coders share, stay up-to-date and grow their careers.
Templates let you quickly answer FAQs or store snippets for re-use.
This is a place where I think there's a huge element of privilege involved. If someone is coming from a background where they are single, have money in the family, only have to support themselves... almost certainly they can/should have some side projects that they've done.
However, not everyone has that level of luck and blessing in their life. Maybe they have to care for an ailing parent, are the first in their family to go through college. Maybe they're spending every extra hour they have dealing with immigration challenges.
I once worked with a junior developer who was a refugee, supported his mother (who didn't speak any English) and sister, while also having to deal with a sibling who would literally steal from them and was in trouble with the law. I didn't learn about all of this until long after I started working with him; these aren't exactly the types of things that would come up in an interview.
You never know the road someone else is having to walk. If that road doesn't enable them to be doing side projects, we shouldn't hold that against them... and neither do I think we should force them to wear their difficulties in public to "justify" their lack of side projects. We should judge them based on their skills and ability to do the job.
I came to the comments specifically to say something similar. While I generally recommend students do things outside their core coursework to differentiate themselves, it's a double-edged sword because there's a level of privilege that is required (and the more you have of it, the more time you have to spend on side projects...)
Making it a requirement (whether explicitly or not) is almost up there with unpaid internships - students from lower socioeconomic backgrounds can't always take opportunities and the advantage gap widens for reasons that have nothing to do with skill or passion.
Requiring side projects of experienced devs is just unrealistic. Once you've had demanding jobs for a few years you may no longer have time, let alone energy, for meaningful side projects. Add into that that age dictates we're more likely to be parents or caring for aging parents, and suddenly I'm reminded of why there's still a low number of women in technical roles - but aside from that it starts sounding like we expect both men and women to have no life outside of work even when they have 10 years' professional experience.
You are bringing an excellent point. There are many personal/social/economical circumstances by which a person won't be able to have personal projects.
So, I'm of two minds on this. On one hand, I've gotten older and value family/personal time much more. On the other hand, I still really enjoy hacking away on something in my spare time.
As mentioned, if you're a junior developer you need to show that you have the practical skills (limited though they may be) to perform the job. If you don't have any professional experience and no personal (or school) projects to show you've grasped the basics, I consider that a big red flag.
For seasoned developers, I don't think personal projects are AS important. But I think personal projects also show that a seasoned developer is working to keep their skills fresh and learn new things. That said, if they've worked as a developer for a high-profile project, that's just as good as having side projects in my mind. At some point in life, a person's priorities shifts. They're less about working on passion projects and more about maintaining professional skills.
That priorities shift is understandable (I've gone through it with family and children), but even if I don't get to do as much as before, I would be able to speak about old projects. That's why I found it a bit strange. These were people with 3-5 years experience and nothing personal to show. No side project, no github, no codepen...
Maybe it's a generational thing or I'm simply getting old, but I felt a bit like this meme :P
Heh, totally stealing that GIF. I know of at least four recent events where it would have been useful. 😂🤣
If an applicant says they have 3 -5 years of experience but have nothing to show for it, I would be suspicious too.
I'm not sure I would consider not having Github, Codepen, etc as a red flag. It's possible they used some internal VCS. And I'll admit I've never used Codepen myself.
But having no personal projects to show seems a little unforgivable to me. How is an employer supposed to gauge your suitability for the job if you have nothing to prove your level of experience? Even if your code is crap, at least the employer knows what to retrain you on.
I've heard people who work in government or corporate environments often can't publish or sometimes even talk about what they've worked on.
All the more reason to have a personal portfolio. Just like an artist needs a portfolio to show potential employers, so too a programmer should have a portfolio of work to show their level of proficiency.
Dont think I could have put it better.
I personally dislike the idea that you have to have a side project. I changed careers -- from art into tech -- and so my personal time is spent on my personal creative projects, which don't always involve coding. This works for me! I find that if I do all of one thing all the time I get burnt out much faster, and it takes some of the enjoyment out of it. Having a break is important. Having time where you aren't working and can recharge is important and helpful to prevent burnout. While some people may find side projects provide that benefit since they chose the project, not everyone does.
Also, when you have a family you don't see 9-5, I'd rather spend my time with them than more hours at my desk.
I'm inclined to agree. When I was much younger and newer to the field, I found it beneficial to do little else but build things but now my job is more demanding (and I learn a lot on the job) I find it more beneficial to get away from the computer for both a mental and physical break. I prioritise fitness because back when I did little else but work and study I developed horrible back pain problems at the age of 20 (which I now rarely have, aged nearly 30 and much fitter). Plus doing other things with your brain (such as creative projects, learning a hobby skill, or hey just binging on movies or reading books) helps stop the mental exhaustion that doing the same type of thing all the time can bring.
It doesn’t have to be a coding project.
As a personal anecdote: during an interview, I was asked about side projects, but at the moment I was not doing much. So I told them about how I was a cartoonist for the university newspaper, and explained how I did things, the process, etc. They hired me, and whenever there was a more creative opportunity, they thought of me because (half serious-half joking) I was the cartoon-guy. That small note in my resume made a mark they remembered.
Haha, that's fair! I think it depends on the company culture too. When I was first transitioning into tech especially I got really nervous about talking about anything non-technical because I thought technical was all they were interested in. Some only want to know you can get the job done. But some company cultures are a lot more open to knowing the other stuff you like. (Honestly, those tend to be better companies to work for too in my experience!)
Flatly, no I would not think it is a red flag to lack side projects. In fact, as a person who had side projects at times, I am more concerned that the company will consider it a case of divided loyalties. Or try to take ownership of something unrelated that I worked on in my spare time. (Because most US employment agreements say that the company owns whatever you develop in your spare time too. See here.)
I think the side project aspect comes more from the fact that new devs have no work experience to show their capability. So having something that you can point to like a personal project can raise your profile in interviews.
The "we own everything you do/think/build/breathe while you work for us" clause is kind of abusive and can probably not be enforced (for most personal projects). In fact, there are laws against it, but they change for state to state.
I don't live in California, and as far as I know my state (and most others) don't offer this protection. Fortunately or unfortunately, depending on how you look at it, my side projects don't make enough money to be enticing. And the companies I've worked for haven't cared about them anyway. But you can't be too careful. Best to get it in writing that the company will not try to take your existing IP when you come to work for them.
You make money with your side projects? :O
The most my company would get are some CSS drawings, some small web apps, and a bunch of fake Internet points.
I used to do some consulting with a partner who had created some business-specific applications. So I helped with that and sometimes was paid to consult or a portion of sales for what I developed. Side work with no big money involved. In fact, I don't like having side work obligations on my free time, so I have endeavored to transfer that work to other interested parties. I mostly get into side projects because people ask for my help.
The few things I developed on my own, like a Chess simulator or my personal finances simulator are not really sale-able as they are. So, those don't make any money at all. I started them to satisfy my own curiosity anyway.
In my opinion, this shouldn't ever raise a red flag.
The red flag is for the company applying this as a criteria.
If a company expects to have their employees well trained and up to date over time without spending money, that company is doomed.
Quality prospects will refuse the job if they notice, or will leave as soon as they notice. Current employees will leave the company also as soon as they have a better offering (something that eventually WILL happen). The company will end with poorly trained employees that generate more costs in maintenance than value.
100% agree with the first two paragraphs (a side project -or the lack thereof- should not be a disqualifier), but I got lost with the other two paragraphs: I don’t see how asking about side projects during an interview is related to a lack of training or excessive overtime at work.
I don't mean just asking. Obviously, you can't know if you are disqualified because of that specific question.
But if the company (or the interviewer) puts too much weight on that question, treats it as a key point (raises a red flag if the prospect doesn't do it) they will lose on the long term.
Put it this way: If you relay on your employees free time to train themselves, you aren't in control of what they learn. If you don't relay on their free time to train themselves because you want to be in control, why is this question important?
I think it would be very useful to use that question the other way around. Like a... green flag?. It can "add points" for a good prospect.
I see what you mean.
If a company is expecting people to do their training based on side projects on their personal time, they are crazy. And that would be a red flag on the company. That's a big no-no.
For me, asking about side projects is more of giving a chance for the candidate to shine. I mentioned it on another comment, people tend to be more talkative and knowledgeable about things that they are passionate about. In that sense, they could get brownie points by talking about one.
Also side projects are not only for training (because not all of them are related to coding/work), as Daniel mentions on his tweet, those projects (development, craft, hobby) build up character, and teach lessons that cannot be learned in a classroom... things that can normally be seen on how people talk about them.
While looking at applicants' CVs (mostly front-end) of course it's nice to see some fun thing they did/do on the side.
Still I can't let that be a yes/no criterium.
I don't see if they did it themselves, how long it took them, how good the code is etc. It doesn't tell me anything about their qualities on the job. You can't practise enterprise-level development at home. There are no stakeholders in your kitchen.
Their employment reference letter from their past companies, the list of their projects at work or uni, and the feeling I get from the interview—those I trust more.
I'm not saying side-projects are bad. The opposite is true. They are invaluable for learning and personal development.
But they should never be required or used as employment-criterium.
You know, like at any other job.
A (lack of) side project is not a yes/no criterium. They are a good talking point during an interview because people tend to speak confidently about what they are passionate about, giving them an opportunity to shine. If they have/had one that they want to talk about, great; if they don’t, let’s move to the next question.
With programming, my main motivation is not being able to find a tool to do something I want. So far...everything has a better tool than I could make in a side project. Programming is a means to an end for me, and outside a script here and there, I have little need for it.
But I enjoy it when I find a reason, and I'm decent at it. This way of seeing programming doesn't really produce side projects in my experience.
I want to write: Scrivener, Evernote. I'll never outdo Literature & Latte or the Evernote crew solo.
I want to make music: Reaper + Serum. The Winamp folks and Steve Duda have it covered.
I want to design: GIMP, Affinity Designer. Serif has all the resources and made a solid piece of software. I'll probably replace GIMP with Affinity Photo in the future.
I want to do a blog: there's so many great options already.
If I were at a company, that company would have needs and problems, and I could write code for that purpose. But personally, every need and problem is taken care of. It's not 1980 anymore. All the low-hanging fruit is taken and most of the broad problems are well-solved.
I have tons of side projects, but they're not code. Software is a means to an end for me, not a hobby.
Side projects that are not code are good too. The fact of having one is a positive thing, beyond their size or nature (as long as they are legal :P)
You are right, generally, a developer is not going to program something like Facebook as a side/personal project. Nor Evernote, GIMP, or WordPress. Those are humongous projects that cannot realistically be achieved by a single person carving some time here and there. Not in a thousand years.
But I disagree with the part about it not being 1980 anymore. It may not be 1980, but it is 2019, and there are plenty of opportunities to do things. Technology is everywhere and there is not a single task or job that doesn't need some type of software/app. And as the world evolves, the needs change. There may not be a need for (re)developing Evernote or Facebook, but someone needs Jilpop or Fredsoom.
I hope there's not a Jilpop or Fredsoom web/application already
I think it really depends on what you consider side-projects, it is not always about code. If you did something interesting before like international exchange, interesting hobbies that can show some commitment like learning languages (not programming languages) and stuff can help as well, it is kind of side-projects to improve as a person. As a developer when I was a junior people asked me what I did on college, etc. I didn't have much code to show at that time, but I had some of the "side-projects" I mentioned above. It really depends on the person and his/her overall experience, not only in coding, but in life.
I’m looking for some different things in an interview. I’m looking to assess a client’s skill for the job (which is always going to be difficult to do reliably and consistently) and I’m looking for what motivates them. What makes them want to get up in the morning? What do they care about, what excites them and what lengths have they gone to before to chase a passion? How do they talk about things that really interest them and how do they learn more about those things?
Side projects are only one way that manifests (regardless of what field that project is in) and we, as an industry, put far, far, far too much emphasis on them. If someone’s time is limited or their non-work commitments are heavy, they might simply not get a chance to do more than listen to podcasts about a subject or read magazines/news snippets about it. And for me that’s fine.
If they can convey their interest in something, indicate their willingness and ability to learn, they’re giving me far more about themselves than someone who shows you a solid dark green GitHub activity chart and says “Look at me!”
Personally, I'm looking for developers with genuine passion for programming. I would even go so far as say that I'd hire a passionate yet inexperienced person over an experienced yet indifferent one.
Of course you can't directly ask for it in an interview so one of my main tools to gauge passion is by looking for unpaid, purely hobbyistic side projects.
When I was working as a CTO and interviewing people I have never ever asked for a side project or a technical test, I sat down with that person having a conversation for as long as necessary in order to see how this person analyses and solves subtly presented problems.
I can teach you how to code this and that but I cannot teach you how to think with logic, pragmatism and identifying the levels of abstraction for each solution.
Search for people that can solve essential complexity.
Software is a particularly interesting industry. Everyone wants in, it's the future of jobs, etc. Some go in to Software for money, others for passion, and others for a mix of different reasons.
Let's pretend you're the Kitchen Manager (KM) of a high-end restaurant and you have been tasked with hiring a new chef. Interviews have been difficult, I'm sure there have been a few whiteboarding sessions, 😂, and now it's down to the final two candidates. Both have similar knowledge and went to the same school but one has their own recipe book, or a blog, and the other doesn't feel they need to experiment with new flavors.
Who do you think is going to get the job?
Now, I know that's not your question but it's easy to see the similarities that software and cooking have in common. Personally, I feel like the less experience you have the more of a red flag not having personal projects is going to throw while the more experience you have and having a track record delivering successful projects is going to be less of a red flag. Just think back to the chef example. Would you prefer a candidate that has a history of success, or would you prefer that history of success as well as a recipe book?
I have plenty of projects hosted online that I never present to prospective employees as it ties my in-person and online identities together. As far as I'm concerned, what 1) I do in my own time and 2) my online presence outside of work are none of their concern. I recognise this puts me at a theoretical disadvantage; luckily it has not been an issue whatsoever.
We're a place where coders share, stay up-to-date and grow their careers.