When I was in school and starting my professional career in software development, I got advice from many people. Several of them suggested the same thing: "Build something!"
That piece of advice was not really needed: I was so excited about programming that I grabbed any opportunity to build and create new things with both hands. Websites, small applications, web apps for mobile... you name it.
It was something that I was (am) passionate about, and a great way not only to practice what I learned, but also to learn new technologies and languages that were not taught at school.
Later in interviews, I was able to talk about these projects to compensate for a lack of professional experience.
Fast forward 15 years.
Even though I have considerably slowed down (life happens), I still create new things and talk about these projects (past and present) in interviews if the opportunity arises. I still see the "Build something!" piece of advice everywhere... But something has changed.
I have been performing some interviews for technical positions lately, and one thing that has shocked me is how most interviewees didn't have any side/personal projects. Present or past.
Considering my past experience, the everlasting "Build something!" recommendation, and that many companies ask for a GitHub/code/portfolio sites as part of the application, it puzzled me that the candidates didn't have anything to talk about on this topic.
Notice that this lack of personal/side projects is not a disqualifying point in the hiring process. In addition, its concept goes beyond software development: woodworking, cross-stitching, even salsa dancing... almost any hobby that would require some learning/practice.
Wondering how others perceive a lack of side projects in interviews, I turned to Twitter:
In a Software Developer position interview, would you consider it a red flag if the candidate didnít have any personal/side projects? (Please explain if possible)— Alvaro Montoro (@alvaro_montoro) June 20, 2019
The Twitter poll will close in a few hours, but the results so far are quite interesting: a majority of the answers (60%) consider that not having side/personal projects should not raise any type of flags when interviewing.
The listed for not having side projects range from different priorities (family first) to lack of time or ideas, to companies shouldn't own what developers do in their spare time...
Family time is precious. People can be ambitious, but if they lack of time they will probably prefer not to start new side projects.— Johnbo(y) (@Johnbojaen) June 20, 2019
That would be discrimination against something useless. Jobs don't own employee's free time. They should spend it as they want.— Carlos MuŮoz (@cmunozrodriguez) June 20, 2019
People deserve to have lives that arenít working. But I like people to have opinions on current goings on in the industry and around certain languages and technologies.— Ronald Diemicke (@RonaldDiemicke) June 21, 2019
Others defended personal projects as something normal, even basic and important (especially at certain levels):
I think it depends on the level. Junior dev with no experience should probably have projects outside of what was explicitly required in school/boot camp. If they've been working in the field though then it wouldn't be an issue at all.— Cecelia Martinez (@ceceliacreates) June 20, 2019
Regarding on the value towards the interview: I think it's valuable nonetheless, these projects outside of work (even if non-code related) build up ones' character. They can highlight what is important to us beyond delivering. Whether that's other people, or craft, or learning :)— Daniel ? (@sadasant) June 20, 2019
Iíve always had *something* that Iíve messed with that wasnít my day job. Didnít have to be on GitHub to be a real thing....— Mike Kiser (@_MikeKiser) June 20, 2019
Both sides have valid points. So, why this big difference? Is there a disconnect between what the companies ask/expect and the candidates in this topic? Is time to move away from the old "Build something!" advice? Do different generations of developers have different expectations? What are your thoughts?