270

I have been working in software development for the last five years, and have had a number of jobs during this time -- most of them have been fixed term contracts, but I've also had a permanent position, and have been self-employed for a few months (with a couple of clients).

I finished my most recent contract a few weeks ago, and have started interviewing for a number of other jobs.

Something I've noticed over the years when attending interviews, is that I often get asked whether I have any of my own projects that I can talk about -- and the question is often asked with an expectancy that I'm going to launch into a detailed description of some application that I've developed in my own time.

Although I enjoy what I do -- mainly because I enjoy logic and problem solving -- I don't tend to do any software development in my own time, mostly because I have other interests that take up most of my spare time outside of work (sport, youth work, other voluntary work, socialising, etc). I find that while I enjoy the logic and problem solving that I do as a software developer, I have no interest at all in doing it outside of my office hours -- I would rather take a break by doing one of the things I've listed above, or simply relaxing.

That said, I know that a lot of people who work in software development do enjoy doing it in their own time as well as while at work, but my question is, why has it become almost expected that a software developer work on their own projects in their own time? I can't think of many other professions where it is 'expected' that someone does what they're paid to do for their own leisure, too.

I understand that it might make a candidate stand out more if they have some impressive bit of work that they've done in their own time, but if I were in the position to be hiring a software developer, I think I would value someone who enjoys other hobbies and interests as well, as it likely means that they will be a more rounded person.

When I've been asked this question at interview, I have answered it in the way I've given my reason for not doing it above. I would say that the responses I've had to this answer at interview, are generally 60/40, i.e. some interviewers seem to appreciate my point of view, but most don't seem too impressed -- I get the impression that they are expecting me to have worked on my own projects outside of my employed work.

Recently, I even had an application rejected because I didn't have any of my own projects I could show to the company posted on GitHub. This wasn't listed as a requirement on the job advertisement, but after applying, I had a call from someone at the company asking for the link to my GitHub profile, which I provided, but mentioned that I didn't have any of my own projects on there, and that all of the work that I had contributed to on GitHub was proprietary, and owned by previous employers, so I wouldn't be able to show them the source code.

So why does it seem to be accepted that software developers are expected to be working on or have worked on their own projects outside of their employment?

  • 2
    Comments are not for extended discussion; this conversation has been moved to chat. – Jane S Nov 28 '18 at 6:04
  • This does not seem like a productive Question for this site. Perhaps you could reframe as problem to be solved. Are you really asking how to handle questions during interviews? An open-ended discussion speculating about people’s expectations/stereotyping of programmers is not appropriate here. Voting to close as opinion-based. – Basil Bourque Dec 1 '18 at 19:53
  • I tend to assume the worst for this kind of expectation from employers, but an interesting analog to frame it with might be whether employers for roles in construction are interested in related types of work you've done yourself, and the quality of that work. – R.. Dec 1 '18 at 20:16

19 Answers 19

204

The negative view is that they want you to be so addicted to creating things, that you work 80 hours a week for them without regard to your health and well-being.

A positive view is that they want to see code samples and don’t know how to just ask for some

Employers want to see passion and drive. Some companies call those things leadership qualities.

Someone who is passionate, should be passionate about anything they set their mind to. So being well rounded is a plus.

Beware of companies that want to squeeze you for all you’re worth until you’re just a hollowed out lemon. There are lots of them out there.

  • 43
    @PaŭloEbermann I think you missed the point. In the negative view, the company couldn't care less about you having free time to code -- they merely want to see you love coding so much that you do it in your free time as well, so you're more likely to get addicted to the workload they give you. Once you get hired, their goal is to get you so addicted to their project that you want have time (or desire) to do your own project – Brevan Ellefsen Nov 28 '18 at 1:18
  • 20
    I don't see the correlation between an employer asking about side projects and expecting you to work 80 hours a week without regard to your health. Could you please explain the correlation? – ESR Nov 28 '18 at 1:32
  • 50
    @ESR People who code outside of work generally have a great passion for coding and find it recreational - why else would they do it in their free time? Someone who spends 3 hours a day after work coding is more likely to work overtime than someone who doesn't. – Ralt Nov 28 '18 at 7:35
  • 29
    @Ralt For me at least, coding for work is something entirely different than coding for my own projects, and doing the latter does not impact my view on doing overtime for work. – rubenvb Nov 28 '18 at 9:10
  • 10
    "Beware of companies that want to squeeze you for all you’re worth until you’re just a hollowed out lemon" - are you, perchance, a Led Zeppelin fan? (I'm looking at you,verse 5 ;-) – Mawg says reinstate Monica Nov 28 '18 at 11:26
114

As other answers have already touched upon this is a route towards being able to provide code samples that a free of any restrictions upon the candidate (no NDAs or anything to worry about).

By far the larger factor however is that companies expect it simply because it's very often the case. Those who go on to become professional software developers often start out as hobbyists and retain the hobby as they grow up. And since people don't generally do hobbies they hate doing (at least that's not exactly Plan A!) and people who enjoy doing what their job entails are less likely to be half-checked out and clock watching all day.

Personally in 15 years of working as a dev, with quite a few of them spent managing and hiring other devs I've never seen any strong indicator that those who have their "own" projects are "better" workers than those who don't.

For every developer who loves writing any code so much that they spend 12 hours a day in the office working on company stuff until the cleaning crew kicks them out there's another who can't wait to get home and work on what they want to be working on rather than whatever it is the company asked them to do that day, and that's not someone who's bringing their A-game in to the office!

Of course the way job hunting works has meant that now many devs do outside projects more for the CV then for the fun. Which of course only re-enforces the "need" to have external projects you can espouse at interview time. Which of course gives you the poor sap behind door #3 - who doesn't really want to be doing personal projects for hours every evening/weekend but fears not getting hired if they don't!

  • 43
    Cue They Write The Right Stuff, which describes the team with one of the best track of records (bugs-wise) of the world: the Lockheed Martin team working on rocket flight software. Composition of the team: middle-aged men and women working 9-to-5, with families at home. Professional and hobbyist development are VERY different. – Matthieu M. Nov 28 '18 at 10:09
  • 35
    I've usually found people working 12 hours over time leads to less well though-out code and more bugs. Working long hours doesn't equate to 'bringing their A-game' – Lio Elbammalf Nov 28 '18 at 10:10
  • 9
    File under YMMV: Knowing myself, I only have a certain amount of creativity in me, between any two sleeps --- If I expend this creativity on my hobby projects in the evening or early morning, its unused at work that day. Because even while away from the computer, a resource-hungry background process is puzzling away at the open problems. So any hobby projects are testament to unfulfilling jobs, for me... but I don't have Death March coding skills anyway. Thus (unexpected or not) lack of hobby programming may or may not tell the interviewer what they want to hear: Spin it your way!! – user3445853 Nov 28 '18 at 11:59
  • 8
    @Strikegently: Well, they probably have excellent test coverage; however if you read the article you'll notice that they also spend a lot of time on specifications, and drill into them, as a team, until they expect to have covered all angles. They are also much more diligent than the average on pursuing bugs: it's not find a bug and squash it; it's find a bug, understand why the process allowed the bug to get there, search for all potential bugs this could have allowed in, fix the process, fix the software, etc... Of course, this also means the cost is prohibitive ;) – Matthieu M. Nov 28 '18 at 12:40
  • 8
    @Voo: I have. It's actually estimated in the article, and my very last comment mentioned the cost was prohibited. Still, it's interesting to me that the highest quality software is created by middle-age fathers and mothers in a 5-to-9 job. It puts a dent in a number of myths. – Matthieu M. Nov 28 '18 at 17:30
92

Speaking as a R&D SW engineer who also does SW recruiting and interviewing (and who asks exactly that question)...

  1. SW often involves absurd levels of complexity and training. I want to hire someone who is going to be productive for years or decades. If SW is just a stepping stone to get inside the company and then leave for sales (a RL example) then all the time spent training you and all the SW-specific legacy information you have is lost and my time was wasted.

  2. Similarly, life is too short to do something you hate (or even don't like), I've seen lots of people burn out after five or ten years.

  3. Experience Matters. If you're a Junior in college then you have X amount of exposure from college. If you have been doing this since high school then you have X+Y. If you've been doing this from high school and also do it as a hobby then it's X+Y+Z.

  4. The difference in productivity between a good SW person and a bad SW person is like 10x or more. Which you are is hard to tease out during an interview. Classwork is useless to me for this for multiple reasons. Hobbies are often months or years of work (classwork is often weeks) and give a better idea on accomplishments.

  5. People like to talk about their hobbies, it's a way to relate and relax.

  6. I tend to treat all interviews the same, I do a lot of students. Many/most students have horrible resumes. They'll have tons of useful experience in FIRST Robotics Competition and leave it off their resume because they didn't get paid, and instead talk about their minimum wage job mowing lawns or waiting on tables.

    I don't care how much you got paid (my company has money, we can pay you), I care about your useful experience regardless of whether or not you got paid. Students don't get that so I need to ask.

  7. It's a good way to give someone the opportunity to bullshit me... or dazzle me. I'm also in this field, I'll probably know the difference.

Advice: If you like to mental/logic games in your spare time and view SW as that sort of thing, then mention that.

  • 3
    I hope by "I want to hire someone who is going to be productive for years or decades." you don't mean you want us to work for years or decades at your company, because that's growing less and less common (and for good reason). – Seiyria Nov 29 '18 at 16:12
  • 5
    @Seiyria There are still a few companies around for whom it's a reasonable (and good) idea, mine is one of them. – Dark Matter Nov 29 '18 at 17:16
  • 1
    @DarkMatter I would argue code should be requested as part of job listing (verified with a plagiarism check service). But I understand real-world constraints. But if you don't have code submissions to look at, you are hiring them to do a specific type of work. There are direct, job related knowledge questions they should be able to answer (maybe not have the vocabulary memorized, but at least the concepts). Ask directly relevant, targeted questions. The concern I wanted to point out though is "Do you code as a hobby?" does not really meaningfully answer any of the concerns you listed. – Tezra Nov 29 '18 at 19:00
  • 1
    When I started reading the "Experience Matters" point, at first I was considering if I should comment to complain about the almost universal lie that experience can be best judged by your most recent actions (if you're in college, you have only X experience)... instead I was pleased by how that paragraph went. For some people, experience is best judged by what you did before college or work slowed you down. The best ones I've known had less complex college and professional software than their high school hobby work. – Aaron Nov 29 '18 at 21:08
  • 1
    ... and then once again, now that I have a fair number of years of professional experience, nothing in my professional time, not even government or military work, comes close to what I did as a hobby as a kid. Professional software engineering has been dulling my skills. – Aaron Nov 29 '18 at 21:16
42

I'm going to re-interpret this question a tiny bit into:

Why is it 'expected' that software developers do continuing education in their spare time?

So, when I re-frame it that way, that makes a whole lot more sense. Most professionals are required to do continuing education. Doctors are an excellent example of this, but they aren't the only ones. Lawyers as well require this sort of extended education.

In fact, software development, is exceptional in that it DOESN'T require continuing education or licensing to be done and if you think about that, that's kind of alarming. The doctor is required to do continuing education, the nurse is required to do it but the software developer that builds all the tools they rely one, doesn't...

So, while it might be the case, that a company is trying to squeeze more work out of an individual, what is really happening is the industry is slowly learning that maybe we need to mandate continuing education.

I'm not alone, Robert C. Martin (Uncle Bob), one of the the authorities in our industry, suggests roughly 20 hours (about 3 minutes into the video) a week MORE of continuing education. So on average you're coding or learning about development about 60 hours a week. For Uncle Bob, this is a prerequisite to being a good programmer. In fact he goes even further and suggests you should learn a new language each year you're a developer.

Software development, is the HEART of the knowledge economy. You cannot be good at it if you're not actively learning and building on your skills and there comes a point where the job you do at the office simply doesn't cover enough for you to expand your skills. So you need to, outside of work, create the conditions for you to sharpen and practice those parts of your skill set that aren't used at work.

Often, the best way to learn is to build things. Hence the push to work on personal projects. But really it all boils down to learning the high level (design pattern, architecture) and low level stuff (generics, languages) and to keep an eye on the industry and grow with it because things move quickly.

  • Comments are not for extended discussion; this conversation has been moved to chat. – Jane S Dec 2 '18 at 6:59
16

It simply happens that software development can be an extremely low cost but rewarding hobby. So it is very common to see developers with their personal projects on the side and that is sometimes seen as the norm.

Another part of the reason is employers want to see proof of skills and asking for code you have written is one way to go about it, a lazy one IMO. Also doing programming on the side means you can be easily convinced to work overtime since you already like it.

I would say you are not missing out by not getting offers just because you cannot show personal projects. Interviews are a two-sided process and you are naturally filtering out companies with cultures that would not fit you, since seems like you want work-life balance.

  • The overtime argument is used quite often, but tenuous. At best, what you do at home might have some relevance to the work you do, but then it's more like finding a great library than doing overtime work. Keep in mind that if you code in your free time, you do it to relax etc.; the only reason why that would make you more likely to do overtime work is if your work is really really interesting and you can't keep from playing around with it after hours. In which case, everybody benefits anyway. – Luaan Nov 29 '18 at 11:25
  • The first paragraph is a very important part of the answer (at least to the "I can't think of many other professions where it is 'expected' that someone does what they're paid to do for their own leisure, too." aspect of the question). Maybe the answer could even make this a bit more explicit by juxtaposing some other professions. For instance, mechanical engineers may be just as passionate about their field as software developers. But what mechanical engineers design in their spare time is usually a unique copy that will remain in the engineer's home and is limited by a less sophisticated ... – O. R. Mapper Nov 29 '18 at 23:41
  • ... toolset used in production than what would be available for an industry-level manufacturing. What a software developer creates in their spare time is, by the very nature of virtual things, inherently ready for "zero-cost mass production", can easily be spread to users around the globe, and may have been created (generated, written, compiled, ...) with the very same kind of tools the developer would also use at their workplace. (Feel free to integrate this example into your answer, if you like.) – O. R. Mapper Nov 29 '18 at 23:43
16

My answer is the assumption that these managers and interviewers went to conferences.

I've been to various developer conferences and one of the themes there is community. They push this idea that a solid developer is someone who contributes to their overall product base. In my situation, I went to php conferences and they heavily push people to commit to open source projects. Pushing to commit to the actual php source code base wasn't a top agenda, but pushing into framework and so forth is really a huge agenda they strike up at various talks.

The reason behind this is obvious when you look at their credentials. They're into the framework community so keeping it alive and getting people to use it are big points for them.

On the attending guests side, I think a lot of people take it into heart without regard to the background of the speaker who is presenting this idea. At my last company, we went to several of these conferences and when we came back, it was a big deal that each of us started to contribute to open source projects. They even had their own internal conference pushing the very same idea that a good developer is someone who contributes to open source. It's even on job ads they post out that committing is a huge plus.

So I think that is why it's "expected." The people pushing these frameworks getting the idea out that you should be committing and contributing. It also falls into the old Unix idea of the past. That's how Unix got so popular thanks to open source and community contribution.

  • That's not the "old Unix idea", it's the GNU idea. Back in the golden Unix days, software wasn't sold anyway - you bought computers, not software. GNU tried to keep it that way, albeit in a bit convoluted and hostile way. But in any case, "hobby project" is not the same thing as "open source". Indeed, having your own project (open source or not) is far more indicative of your ability to create a product and maintain it over time than contributing a patch here and there to an existing code base. Both may be worthwhile for the company, of course, but from my experience, the former is preferred. – Luaan Nov 29 '18 at 11:22
  • 1
    @Luaan Indeed it was a different era of computer users. I recall a time when you bought a computer, you had to consider what software you want to use or what it had. Compatibility was limited (a 286 wasn't a 386 wasn't a 486, etc), drivers were limited, and cross platform wasn't really a thing. I also recall a era when you could buy software magazines and code in BASIC games. In today's world, you're buying a computer and you know you have access to unlimited software and hardware. – Dan Nov 29 '18 at 14:55
11

I will admit, I am an old timer and attitudes have changed. When I was junior however, this same question would have been asked in an interview as a disqualified, not as a qualified for an applicant. When I was starting out, running side projects on your own time would have been viewed as someone who was more interested in their own goals rather than team and would likely not stay focused in team efforts. The same was viewed at that time for gaming. An additional fear was that if a person poured out 8, 10, 12 hours a day at the office, and then went home and did more then they were a prime candidate for burn-out.

Again, I fully admit times and attitudes have changed, but I also have still never asked an applicant for prepared code samples, and I have never had any requested. I certainly have asked for, and been asked to generate, on the spot short samples that display style. Being old school, it actually caught me off guard when applicants offered git or similar access to samples and such access did not interest me. I always felt I learned far more for talking than claimed ownership of pre-written code.

In general I would be of a mindset similar to what I hear in the OP's question. My free time is to clear my mind from work and refresh it, not engage in more of the same to be honest.

  • "My free time is to clear my mind from work and refresh it, not engage in more of the same to be honest." Completely spot on! Also, experts are coming back to the idea that "if a person poured out 8, 10, 12 hours a day at the office, and then went home and did more then they were a prime candidate for burn-out." If I do programming projects on my own, I'm trying to get out of "the rat race" and work for myself. Also, most of the code I produced 10 years ago doesn't represent my skill today, so I don't want it public. – computercarguy Nov 30 '18 at 22:10
10

I agree with the basic points of RibaldEddie's answer, but its loaded with enough negative value judgements that I think it misses the mark.

Some passionate, talented engineers are driven to build and create even when they're not being paid for it. Asking about extracurricular projects is way to probe for that passion and talent by giving the candidate a stage to brag about a project they chose for themselves.

Is extracurricular work required to be a passionate, talented engineer? Of course not. However, those people who work on their own time may look for that same characteristic in others.

  • 9
    But the OP has a point, what this mostly demonstrate is the lack of a significant personal life. Not passion, and certainly not talent. – user90842 Nov 27 '18 at 23:20
  • 3
    How many budding, world-class musicians have vibrant social lives? How about practicing, world-class athletes? Sacrificing other parts of your life in service of your craft doesn't make you the best, but the best often do just that. "Experience" is a better word than "talent." If you work 8 hours at work and 4 when you get home, you stand a good chance of having more experience than someone who doesn't. – Damouse Nov 29 '18 at 0:08
  • 4
    @Damouse They better be paying way way above the average if they want a world class programmer who dedicates all of their time to programming. Enough that they are paying for those hours the programmer is at home practicing. – Qwertie Nov 29 '18 at 0:34
  • 3
    @George M In what way is practicing my art by elaborating my own vision not a significant personal life? – Mark Wood Nov 29 '18 at 18:15
  • 2
    @GeorgeM "and that nothing much new comes out of the CS kids these days" I wish you the best in whatever you do, sir, but you're out of touch if you think advances in software have slowed. "we came up with most of the stuff you're using now" Most of the tech I work with is not even 10 years old, so no, you didn't. And I don't mean "fluffy" engineering. – Damouse Nov 30 '18 at 2:00
6

I think you're confusing two aspects of that question. Yes, there is a (sick, imho) fashion for developers who breathe code 24/7. But what you're overlooking is that your contributions on github give a publicly-accessible code sample. And that can be very important to a possible employer. It also talks to your ability to work cooperatively, in a way that's not mandated by your employer. And often throws in a bit of a writing sample as well.

So maybe offer to give a code sample when the question is asked? And do consider contributing something to some public project so that you can give interviewers what they're really after.

  • 3
    A code sample tells someone little about the ability to pull together in a large project. It takes a good deal of commitment to demonstrate high-quality large-project skills in any meaningful way. My private projects are all relatively small individual efforts, and don't tell anyone how I work in a team. – David Thornley Nov 27 '18 at 23:06
  • 5
    Well, good for you. But still I would hesitate to hire someone without seeing some sample of their code. There are a lot of 'developers' out there who can't write their way out of a paper bag, much less organize themselves to completion of anything (although we were not discussing project management here). And all that might show even better when you're seeing a small project that they've worked on alone. – user90842 Nov 27 '18 at 23:18
  • 2
    You're both right. – Lightness Races with Monica Nov 28 '18 at 11:21
6

Developers that write code their own time, at least in my eyes, are far more likely to be ahead of the curve looking for new/better ways of doing things which they can bring back to work with them and benefit the company.

I guess the tl;dr would be that it's essentially free R&D which any business would be mad to turn down.

  • 1
    I want to down vote this answer, but I won't. I find that many people who "research" on their own tend to play with a library/language/etc for a simple project, that they throw away, then try to convince the boss to convert the app to it, not realizing it's full of bugs or just how really horrible it is. They may even try this for something they heard about as a fad, not realizing it's a fad that burns out when people start really hating it. The thing about "free R&D" is that you get what you pay for. :-) – computercarguy Nov 30 '18 at 22:14
  • @computercarguy Must admit, totally guilty of this! The fear of implementing a fad just for it to burn out is certainly a valid one, jumping blindly into unchartered territory without doing any extra research into something is begging for trouble. I'd argue however that it's absolutely worth throwing things at the wall occasionally and seeing what sticks just in case it's an absolute corker of an idea – DLMousey Dec 2 '18 at 3:41
6

In my day job I train software developers, mostly in a less popular technology. When we hire new junior or trainee developers, we ask for a Github or Stack Overflow profile. We make it clear that it's not required to have one though. We hire people with a general STEM background who want to become software developers.

The various reasons that not everyone wants or can have their own side projects, or contribute to open source in a meaningful way have been included several times in the other answers. Time is the main one. Often, that entails family. One has to respect that.

However, seeing that someone junior has something on Github (or Bitbucket or Gitlab or anywhere else) is incredibly useful. It shows me that they really want to become a developer. Just like someone who knows nothing about cooking, but feels it's their calling to become a chef, I believe a young person who wants to become a software developer would naturally be drawn to trying this at home. You would cook at home while looking for that first kitchen job. Of course you would do tutorials at home.

What does it tell you about how serious someone is, or how motivated, when they don't do that? Assume they have a degree in (and I chose this randomly) biology, and they've not written any code at all. But they try to convince you to hire them instead of the 200 other people that applied. The 50-odd software development or computer science grads will all have their coursework on github, but it will mostly be just one commit per project, and massive copy and paste.

But if there are one or two candidates that actually have a proper interest in coding already, before formal training, and they show that off on github, then that makes them stand out. A seasoned developer looking at this code will tell the difference between a project that's done in uni, or just for the CV, or one where actual passion and tinkering went into it. That's the kind of project I want to see. That tells me this person means it.

But if you don't have that because you don't have the time to do it, that's fine. It's just one of the many things I look at, and you can convince me in other ways.


The above was targeted at junior people. I personally do some open source. I have modules in the repository of my language of choice, and I've contributed to many others. I mention this in my CV because it makes me stand out. I like to think that it helps me, but I've noticed that many companies don't care, because often the people in charge of hiring don't know what it means.

I therefore conclude that it is not really required. But it helps. Just like good grades or a prestigious university are not really required, but they help.

3

I think what makes software development special is that it solves a broad range of everyday problems. Be it modding computer games, customized home automation, the web portal for your hobby-club, or fixing a bug in the open source software you use - there are so many opportunities to use your skills. Those are also very diversified ways to apply your skills - free from many restrictions you have in the professional context.

If I see an application without any personal projects, it makes me a bit skeptical. It means I have a harder time evaluating the skills of the candidate - but I certainly try. For better or worse - having hobby-software-projects is common among software developers. This does of course raise some expectations.

  • 3
    "broad range of everyday problems" that is a good way of putting it, and thank you for mentioning games, though I would go farther and include creating games as well. I did not learn programming from college, I learned it from making my own games as a kid. I did not learn SQL from college, or graphics programming (even 3D), or trig, or matrices, or introductory physics or network programming from college or professional work... no, it was all learned from making video games as a kid. Game programming is far underrated, especially if it was done before modern "game makers". – Aaron Nov 29 '18 at 21:52
3

I see a lot of "employers want you to work a thousand hours a week" and think those answers miss the mark.

While there are those employers that want the prospect of "free labor" (assuming you are salary and just work obsessively on one thing).

PASSION!!!

One thing employers want to see is PASSION!

I would ask the same thing if I was a manager hiring a car mechanic - tell me about the cars you've rebuilt.

Or hiring a carpenter - tell me about anything you've built in your free time.

Do you enjoy! doing what you do so much that you do it outside of work?

Your own projects

If you have code you've done outside of work

  • It's not hidden behind "agreements" and "owned" by MegaCorp. It's YOUR code and YOU can share it.
  • It's extra stuff you've done - and presumably will continue to do. Baring enforceable contracts saying "your spare time code is ours" ("enforceable" because not all locales allow those contracts) - that means that this code is presumably NOT free work for new MegaCorp.

They can't ask to see MegaCorps code. It's not YOUR code to share. I can't count the number of projects that I personally can't show because either I don't have access to it outside of the network or I'm legally barred from sharing it because it is not mine.

End Game

They want to see passion, knowledge, proof. Having publicly accessible projects that you can talk about in depth is covered by "private projects" because you can actually SHARE the base code.

They can see the code, see the ideas (OOP, IoC, chosen algorithms, libraries used, etc). They can hear you describe the code that they can see. They can inquire about choices made. They can actually KNOW you have the knowledge beyond a degree and a job title that doesn't say much.

There are companies that want free work and companies that will abuse the idea that you'll work more... but please don't assume "show me something that you can show me" is ONLY because of that.

Car people can talk about rebuilding an engine in their own garage and carpenters can talk about building the bedroom set that they sleep on at night.

Programmers should be able to similarly talk about - and show - projects they've produced - and projects "outside" of required work are a good source of that knowledge, experience and passion.

  • My passion is not for sale, and there is no reason why it should have any part in business negotiations. – canhascodez Nov 29 '18 at 21:38
  • 3
    Good answer, but too much ALL CAPS. Maybe that is why it got some down-votes. +1 from me though. – Aaron Nov 29 '18 at 21:59
  • 1
    @sethrin Your "passion" is for sale by extension of demonstrable experience - and that experience is directly related to "business negotiations". All things equal, who do you want to hire? No matter the job - programmer, mechanic, lawyer... I bet you want someone who loves what they do enough to actually do it outside of work. More experience? Check. Better knowledge base? Check. Worth more to your customers? Check. "Your passion" is part and parcel of YOU and YOU are absolutely what's being traded in a job negotiation. So, I'm sorry, but I respectfully disagree 110% with your statement. – WernerCD Nov 30 '18 at 0:13
  • 1
    @Aaron I'll poke at it and tone it down. Most of it might as well be italics - because that was the intent - and I've not had issues with this sort of writing before. – WernerCD Nov 30 '18 at 0:14
  • 2
    The downvotes could also be the conclusion. Which is that it's justifiable and to be expected that employers will do this. I read this answer and, though I didn't disagree, I was annoyed by it because I feel similarly to the OP, that I don't want to be obligated to do the same thing all of the time in and out of work to be competitive, but, particularly in your comment that followed, your logic is gold "More experience? Check. Better knowledge base? Check. Worth more to your customers? Check." and I think some or all of that comment should have made it into your answer. +1 – Brent Hackers Nov 30 '18 at 8:36
2

It's only expected of you if you are expecting a top-tier job as a programmer. Because the demand outweighs the number of available position, they have the luxury to be picky. And being picky, why wouldn't you want someone who loves code so much that he also code in his spare time. Meaning that he also challenges himself to new things and is basically learning faster and is more current in knowledge than most.

  • 1
    Hm, in Europe the demand for experienced developers is higher than the supply. (Still finding out who is passionate about their work is not easy. It does helpmate see if someone is rooted in community projects and their work there can be observed) – eckes Nov 28 '18 at 6:48
  • 4
    Welcome new user. I really don't see this. When you hire top, leading people, the last thing you care about is some hobbyist crap. You're talking about 10 million, 100 million, billion dollar projects - it seems inconceivable the person would even mention (or indeed be involved in) some hobby coding – Fattie Nov 28 '18 at 6:59
  • 1
    Just because you throw out most of the candidates you get doesn't mean there's more candidates than positions - there's plenty of people who just don't have any programming skills or aptitude and yet apply for programming positions. Every company I dealt with has problem finding decent people, certainly not vice versa. – Luaan Nov 29 '18 at 11:41
  • @Fattie That appears biased but is common. I would like to think of myself as a great developer, and the last thing many people want to look at is what they consider my "hobbyist crap" (I've even been told by some that they don't care about it), yet they are missing out on so much because that hobbyist code was a far better indicator than anything I've done professionally. I've done work for academia, government, military, and more, and it has been dulling my skills. I could have done it before college with my eyes closed, and my old hobby work is a better indicator of what matters. – Aaron Nov 29 '18 at 21:47
  • hi @Aaron - by the way "hobbyist crap" is a bit rough language, I'm sorry for that :) You can't edit comments after awhile. I was just reacting, or overreacting, to the (to me) wildly opposite viewpoints which seemed very unrealistic ... – Fattie Nov 30 '18 at 3:37
2

This is the reason.. Employers wants you to work more than 40 or 45 hours per week so if you can't spent more time in your work they want to know if you are able to do that out of work time. There is a simple example by Elon Musk (Tesla CEO): https://www.telegraph.co.uk/technology/2018/11/27/elon-musk-workers-should-put-80-hours-week-change-world/

Good issue !

  • 4
    Most employees aren't employed/led by people like Steve Jobs or Elon Musk. Don't focus on the outliers unless you're considering working for them. – Luaan Nov 29 '18 at 11:43
  • 6
    “You can keep people in the office for 80 hours a week. You can’t make them work more than 40 hours a week”. – gnasher729 Nov 29 '18 at 13:24
  • But many blue chip employers own your dreams and want to know what you already have under way when you join them. Anything after that is theirs even if you developed it in your own time. – mckenzm Nov 29 '18 at 23:23
2

My answer is not all what I think about the matter, but rather limited this site's topic.

There are companies who prefer their developer to have hobby projects. There are companies which prefer they not (yes there are).

I think you should anyway avoid companies which are too insisting on this matter to either direction. After all, it's you own business how do you spend your spare time.

Otherwise, I think you should be ok if you just say that you do not do hobby programming. Just make you you stay respectful to those who chooses to do hobby programming.

2

There's several possible reasons why companies might ask about personal projects, and prefer candidates with them.

  • I work with mostly small businesses. Its a very creative, entrepreneurial atmosphere. Are you creative and entrepreneurial? If you are, you have side projects and and actually create things. This might not only be programming related, but there's a good chance it will be.

  • Can you spec out and actually finish a project (or reach a goal post) on your own? That is, can you take initiative and actually deliver?

  • Breadth of experience. I can't tell you the number of times things I learned on a side project that was completely unrelated to a work project helped that work project. Having exposure to a wide variety of technologies and industries can be very beneficial. Are you the kind of person that can bring out of (our) box thinking?

That said, its been my experience that just as many companies don't want candidates who spend a lot of time on their own projects, as do.

0

Many questions about why interviewers ask a certain thing can be answered by recalling that almost all job interviews are tournaments, not qualifications. What do I mean by that?

  • In a qualification, a bunch of people are judged on their qualities to see if they make the cut or not. Depending on who enters, they may all pass, or none of them may pass. All those who pass are "good enough" in the sense of meeting the requirements set for qualifying.
  • In a tournament, a number of people compete, but there is only one champion. Just because he is a champion doesn't mean he's good. Perhaps everyone else who entered is a loser. And just because you're good doesn't mean you will win - maybe there's another guy who entered who is also really good. The one who wins the tournament is "the best".

Qualifications result in an unknown number of people passing, whereas when companies try to hire, their goal is usually to fill a given number of positions. Even if you do get resumes from 5 really good engineers, if you're only looking to fill one position it makes no sense to hire them all. After all, you only need one. Therefore, in job applications, people are ranked to see who is the best, and many important questions are to get data on which to rank them.

Interviewers for software jobs ask about your hobby projects for the simple fact that a lot of people who apply to such jobs do have hobby projects, and it seems like an important basis for comparison. If you had two otherwise identical candidates, but one had an extensive github portfolio in addition, does that not make him better suited than the other? Maybe, maybe not, but the point is that it would be silly not to ask such a thing, thus many people do. Just the asking does not necessarily mean that you are expected to have them, in the sense that you will be instantly disqualified just for not having them. Usually hiring decisions are holistic. But it is expected in the sense that the hirers expect that many applicants will have their own hobby projects, so they ask everyone to make sure they have a chance of bringing this up.


Now of course when you find out something is a significant factor in your career success which you had ignored up to now, it is not a happy occasion. One naturally wishes to construct an elegant argument about how it shouldn't matter anyway, tell the world about it, and bask in the pride of having argued away an uncomfortable hoop instead of just jumping through it. Alas, such is not the way of building a career. It is very unlikely that you will be able to convince your prospective employer to stop caring about hobby projects at the interview stage (they probably already had a system in mind for filling that opening and will be very resistant to making changes when they've already started interviewing). You could seek out the ones that don't ask about it, or regard them negatively, but they will be a minority since this sort of thinking is very common in software.

But if you want some possible reasons why it's a good thing for an applicant to have a portfolio of personal projects:

  • It shows they're truly passionate about their work since they've done it even when not paid
  • It lets them show off skills they have despite not having had worked in a position that employs them (say you know Haskell but no employer let you use it)
  • Many consider academic degrees, or even past experience, an unreliable measure of programming skill so projects give them a better idea of what your work is like
  • Having a hobby may make you a cool, original person in their eyes who would fit better socially

These don't necessarily have to be true, it's enough that the interviewer believes them. Finding the best applicant for a job is ultimately a subjective thing, not an exact science. Hobby projects are also not a universally interesting, or even positive thing to have as an applicant: Some think that doing skilled work without pay cheapens the value of your skill, some think that it shows you're distracted or too ambitious, some may have company policy forbidding using it as a criterion for whatever reason and so on. Although I would say that on average, in the software field, you are probably slightly better off if you have a good portfolio of personal projects than not.

You could say ask how it came to be that most people even have a noteworthy portfolio such that interviewers bother asking. That's easy: Software is very democratic in that anyone with a computer can write programs (at least in theory...), you do not need any special equipment or infrastructure to do it (actually, you don't even need the computer, strictly speaking). So most people interested in the profession end up developing on their own, before getting a job. But it is not the only profession in which this is the case. Artists, musicians, photographers, writers and many other such professionals tend to have extensive portfolio they made in their own time, and they do get asked about them.

-2

"is that I often get asked whether I have any of my own projects that I can talk about..."

I have never asked anyone this (and certainly never been asked it).

Could it be that you're thinking of your experience more when you were an absolute beginner (ie, at a time when you did not have any actual products that you have worked on, to discuss).

"why does it seem to be accepted that software developers are expected to be working on [hobbyist crap] "

Maybe it is a regional thing, but I don't see that as accepted or usual.

Who cares about hobbyist stuff?

Maybe it's a quirk of your particular field, OP?

I think the good news is, if you've had this experience it's "just bad luck". I would forget about it.

  • 4
    @Badgy wow that is completely uncalled for. – rubenvb Nov 28 '18 at 10:01
  • @Badgy please explain how your comment asks for more information or suggests improvements. – Philbo Nov 28 '18 at 12:20
  • 2
    @Fattie Thanks for the answer. No, I still get asked that question at interviews despite now having 5+ years of professional experience in software development roles. It certainly doesn't seem to be a quirk of a particular field (I've worked in several industries including military, financial, energy, architecture, health...). I would say that the question comes up pretty regularly in interviews (probably at least once in every 3 interviews). It does seem to be unique to the software industry, I guess probably because so many people who work in the industry also enjoy doing it for fun... – Noble-Surfer Nov 28 '18 at 15:51
  • @Badgy You are more than welcome to hold that as your opinion- can I ask you to point out where I've talked anyone down in my OP? I have nothing but respect for people who spend all day working in software development, and then go home and work on their own projects in the evenings/ on weekends- if that's what they enjoy doing, who am I to judge? My point is that while (probably) a large percentage of software developers do enjoy that, there are a number of us whose hobbies/ interests lie in things other than software development, and yet because a lot of people do enjoy it, it seems expected. – Noble-Surfer Nov 28 '18 at 15:59
  • 3
    I would not call contributors to Apache, Eclipse or Spring hobbyists and would be very glad to hire more of them. The connections to such projects is immensely important for software companies. – eckes Nov 29 '18 at 16:46

protected by Community Nov 28 '18 at 14:13

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.