I have no side code projects to show you - <AUTHOR> https://www.codementor.io/ezekielbuchheit/no-i-have-no-side-code-projects-to-show-you-cz1tyhgdz <comment><USER4> I'm not mad at you, but as the dude on the other side of the desk, I have to decide whether you can cut it and I'm fine saying no. I could make you do some whiteboard problems, but I think whiteboard problems are pretty far removed from your day to day development and I am uncomfortable relying on them as a proxy for your ability to ship code.

I don't really disagree with your philosophy of working while you're working and NOT working in your downtime. I think the same way.

But I have a whole pile of stuff I can show you that I've worked on. I don't ask anybody to take my word for it. In computing, you just can't. The signal to noise ratio is too bad, there are too many guys out there making unmaintainable junk, if they actually ship anything at all. There are shops out there that can afford to hire a bunch of maybes and just weed out the duds when they wash out, but I don't have that luxury. Nor am I going to go on some weeks long hiring safari where I hire you for a week or two and see if you can cut it. No time man. Sorry, don't have it. I'm going to give you the job or I'm not going to give you the job.

<comment><USER5> On the flip side? As somebody who has _plenty_ of open source projects--the set of employers who actually looks at them is within epsilon of zero. I have not once, not _once_ gotten a meaningful question from anything I have posted on Github in any interview or client meeting even after suggesting up-front that it's worth taking a look. And I used to interview on a monthly basis just to keep in practice! No--instead you get dance-like-a-monkey "coding tests" (unpaid, of course) that are nonportable from employer to employer.

Employers don't care. Employers _say_ they care, but it's signaling. If I didn't write code on my own because I _like_ it, it would be a serious negative to do so on the off chance that you run into the black-swan employer who takes the question seriously.

<comment><USER6> Hiring manager here who reads Github profiles -- it just occurred to me that I've almost never actually mentioned it to the interviewee. It's flavoured the conversation for sure (except for the bootcamp grads who all have identical Githubs) but I tend to talk more about your process than the actual code.

<comment><USER7> As a software engineer who does technical interviews, I also regularly review GitHub contributions if mentioned on the resume. It's not a deal killer if someone doesn't have these things...but if you're up against another candidate who does (and their work is good)...then the other candidate is likely getting the job.

<comment><USER8> What % of candidates have side projects to show you? When I did interviews, I saw probably less than 10% have any side projects to show.

<comment><USER9> I work in consulting, almost entirely for federal and state government. Here that number is low single digits.

<comment><USER8> This is what I think most people fail to understand. It's not a _requirement_. The vast majority of people DON'T have side projects. Companies can't afford to simply auto-reject everyone who doesn't have side projects. The point is that if you do have any, it can help make you stand out dramatically.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> It's funny that the tech industry is so insistent on side projects. I mean - would you hire a marketing person based on their 'side projects' or a corporate lawyer purely based on their pro-bono work? Likewise, who on earth asks a building contractor if they have any side projects? You would ask for references or find a contractor via someone you know. What about recruiters themselves? How does one judge if a person is going to be good recruiter or not? What about sales guys? Does anyone ask them - do you sell stuff on the side - Y'know maybe you just do door-to-door selling as a hobby. Or what about other engineering disciplines? Does one really ask a Mechanical Engineer or a Civil Engineer about their side projects?

<comment><USER11> The next time I'm interviewing in front of a hiring manager who asks me about my side coding projects, I'm going to ask them about their side managing projects.

<comment><USER12> yeah and they are going to write in the slack channel how you were so aggressive and extrapolate how bad of an employee you would be for the company, challenging every little thing with abrasive non sequiturs

cute, but you'll adapt.

<comment><USER11> I'm sure they'll do that, and I'm sure they'll be happy they didn't hire me... and likewise, I'll be happy I'm not working for them.

<comment><USER13> You won't likely get hired anywhere without a work sample. Wether that be a side project, code from previous employment, or a coding test, you'll have to demonstrate you can do the work.

Many other professions also require work samples. Even salespeople are required to produce metrics from past jobs on the number of sales they made, and get put through practicals where they need to actually do a demo pitch for something.

</comment></comment></comment></comment></comment><comment><USER14> It's a very well-known fact that interviewers will often want to see some code.

Because of this, I at one point spent maybe about 15 hours putting together a small project specifically to use as a code sample. This code sample, which again took maybe about 15 hours to put together, served its purpose for years.

To avoid this tiny amount of easy work that has such a high potential upside is, to be frank, just dumb and lazy.

<comment><USER15> Counterpoint: In 10 years I have never had an employer ask to see a code sample so that 15 hours was better spent by doing pretty much anything else.

<comment><USER16> Nevertheless, 15 hours seems like good insurance for the time spent.

<comment><USER15> Maybe, but if I had spent 15 hours 10 years ago it is doubtful that it would still be relevant or useful now. If I come to the point where I need some code to show for a job that I really want I'll just spend the 15 hours then.

</comment></comment></comment></comment><comment><USER17> Meh, I agree in general and believe in work/life balance but you don't need a huge side project.

Just take a few scripts written already, write a readme, and an hour a year per script tuning them up and adding tests. Maybe a code golf problem or two.

In short, if you can't find four hours a _year_ to put into your career, maybe you just aren't interested. I think of it as page two of my resume.

<comment><USER18> Well said. These types of blog posts create the sense of a needless dichotomy where you either code 24 hours a day or 5 hours a day and there's no in- between.

I really don't have much of a github presence, but then again I'm not a day- to-day coder at work. The presence I do have I created in just a couple of hours and I could easily beef it up to something respectable by spending a couple of hours a month on it.

</comment></comment><comment><USER19> I sympathize with this guy. I think the "side projects" issue, like "write some code on the whiteboard plz" is a symptom of the dysfunction in our industry. Specifically, a startling proportion of people purportedly working as programmers cannot in fact perform even basic tasks and don't feel shy about pretending that they can.

A lot of my issues about the weird side project fetish come down to the fact that this is an award for the misaligned. I spent pretty much the first decade of my 'proper' career working on ideas that went into our regex matcher (now at github.com/intel/hyperscan fwiw). During some of the more intense periods I could barely take a shower or daydream without having to grab a notebook and start writing ideas down, many of which went into the product. When I wasn't doing that stuff, I really didn't have any energy left for building anything else. Reading these discussions, I often wondered what would happen if the associated startup (Sensory Networks) had tanked.

This isn't hating on people who do side projects; it's just to say that having the time/energy to do side projects often feels like it results from misalignment with your day job. I was happier than a pig in shit writing regex and literal matcher code (or designing algorithms) at Sensory Networks and I'm still that happy doing new software projects at Intel.

<comment><USER20> The main dysfunction I see with interviewing is that we've abstracted the interview further and further from what you will be doing day to day.

Code on the white board? Why not on a computer? Why not work on some real code for the project? Sign an NDA and work on an actual feature. Try to get closer to what you expect the candidate to do on a daily basis.

</comment></comment><comment><USER21> I think no one has said it yet, but I believe the diversity you bring with your non-standard hobbies is a very valuable resource. Diversity being missed by people looking "culture fits" of workers who like the same exact things.

For instance the fact that you write novels for fun suggests me you would be able to write good, long documentation or manuals if required. I've known good programmers absolutely incapable of communicating their ideas in writing to other human beings.

Some, when told that they needed to prepare a detailed, well written technical report on the software they are building for a client, looked like if they had received a death sentence.

<comment><USER22> Having a breadth of non-technical knowledge (dare I say, "soft skills") also improves your value as a developer insofar as you may be better positioned to discuss requirements with people, and to understand the reasons _why_ you're developing the things you are (i.e. not "tech for techs sake")

<comment><USER21> Also, people launching art projects, participating in active art communities, etc. have generally better "people skills" that introverts who prefer to spend the weekend at home doing technical side projects (like me!).

This is a highly valuable work skill for a technical worker if he/she has the need to work with clients, present updates or discuss requirements, much more than having a few small GitHub repos. By focusing in side projects you can be filtering out these skills in your workforce.

</comment></comment></comment><comment><USER23> I like to have side projects, but I still don't like to share them. People love to find reasons to reject, and an 18, 11, or 7 year long side project (the age of all my side projects) isn't really a fair representation of how I code today.

Even as someone who enjoys side projects, the prospect of sharing a side project, and being criticized by a potential employer about the contents of it, turns it from "side project" to work.

<comment><USER24> > Even as someone who enjoys side projects, the prospect of sharing a side > project, and being criticized by a potential employer about the contents of > it, turns it from "side project" to work.

You should be able to take constructive criticism of your work regardless if it's a side project or not.

<comment><USER25> Even if they dive into a corner of your side project from 10 years ago that works, but you realize isn't ideal, and you don't have the time to improve that part of the code?

<comment><USER26> I, as an employer would like to have a conversation about that and I'd absolutely take "I know this could be better, but it was written years ago and it works" as a perfectly good answer. Software can always be better, requirements change and so do capabilities and styles of the people writing the code. But we cannot rewrite all parts of all our software all the time for the sake of molding it to fit our current vision of perfect. Time is limited. Finding the line between "this is not perfect, but it does the job" and "this really holds us back and needs change" is in my opinion one of the most valuable skills a seasoned programmer can acquire.

</comment></comment></comment></comment><comment><USER27> > I ran 50+ miles a week. I pushed myself to excel. To excel within the > boundaries of the time and life-balance I had set for myself.

Part of excelling at your job is learning new stuff - something that I am absolutely certain you do all the time, even if you only do it during work hours. Maybe this week you are starting a new project and need to learn Vue.

Publish those 100 lines of code to GitHub. Just like that you've demonstrated that:

* You are willing to learn new things.

* You know how to use a little Vue.

* You know how to use a little Git.

Make it clear that it's a learning project - call it "Learning Vue," "Learning C#," "Learning Node" etc. When a hiring manager looks at your profile they will see dozens of technologies that you have at least some experience with.

Edit: if they turn around and demand side projects; you would be completely correct to ask about how many office hours they allocate to side projects. Interviews are a two-way process and the more you stick your neck out, the more you get noticed.

<comment><USER28> Better check your employment agreement. My company owns what I write on company time, I don't have the rights to just "put it on GitHub", and yes, I take that seriously.

<comment><USER29> Ditto. At my current place my employment agreement doesn't allow me to publicly post code I write in spare time.

My previous employer was a defense contractor, so... yea.

I don't have any side projects that I can share. Sucks, but that's the reality. If I get fired/quit and can't find a job without side projects, I have a list of things in my head to build in ~months if that's what becomes necessary.

</comment></comment></comment><comment><USER30> Sounds like you weren't a fit for that company asking you for some code. And that might be a blessing in disguise for you. If you are a decent developer in Austin, you probably have lots of opportunities, so no need working for a company with those kind of requirements.

Just know that as a company in Austin, they have lots of employees to choose from probably too and this is their narrowing approach. No biggie, y'all aren't a fit. Just know that this becomes circular, because many of the types of companies that ask for this also allow you to open source some of your work-hour code which helps that visible resume.

Also, if you are in demand and have leverage, consider trying to work at places that encourage making at least some of your work visible to the world. Many other professions benefit from this. If you don't have leverage, I'm afraid you may be stuck in an endless loop of invisible, hard work you leave behind.

<comment><USER31> Yeah, I agree with you. Many job seekers go to a job interview with the approach that getting the job is the only good result.

Finding out they require more coding hours than you want to put in is also a good result from an interview.

</comment></comment><comment><USER32> I really enjoyed this post. I feel the same way, I do love coding and working on software projects doesn't feel like work to me. I spent my high school years and college years(and I graduated years after I should have from taking two years off after freshmen year) working fast food and grocery stores. I know what work feels like.

However, I don't and won't spend every waking hour I have doing one thing. This life has so much to offer and experience, I do not have a drive to spend 80 hours, nights and weekends like that. However, if the project calls for it every once in a while, fine, it's not a big deal until the company comes to expect that.

<comment><USER8> > However, I don't and won't spend every waking hour I have doing one thing

Why does everyone think that it requires every spare second you have to write a couple programs and post them on GitHub? Can you spare 1 hour per week? Why would it require every waking hour you have to write a couple scripts and throw them in GitHub?

<comment><USER33> Some "programmers" are just not good at programming. Actually, that is a vast majority of them. This is why they think it's so hard to have a side project, and it's the same reason companies that actually care about who they hire have to do 20 interviews to find 1 viable candidate.

There are plenty of new people entering the workforce, too. I can't remember the last time I took an Uber/Lyft where the driver wasn't in a coding bootcamp. It scares me just to think about having to be the engineer "training" the new hire at a company that didn't make its interviews hard enough.

(As a corollary, this means that if the engineering interview at a company is objectively easy, that's a RED FLAG, and you should not work there.)

</comment></comment></comment><comment><USER34> I often feel like there's a silent expectation that you _should_ enjoy certain things if you're a good software developer. Here are some of these things that I definitely _don 't_ enjoy:

\- Side projects

\- Developer conferences

\- Meetups

\- Hackathons/hack-days

\- Tech podcasts

\- T-shirts/stickers for frameworks and technologies

I do enjoy software development though, and from what people tell me I'm pretty good at it, so I don't think it's necessary to enjoy these things to get a decent job. It does concern me when I feel like I'm the only one who didn't stay up late to watch the Google I/O streams live (I'm based in Australia)

</comment><comment><USER35> How would you go about putting a personal side project up on github if you are stuck with an employment contract that says your employer owns all your intellectual output, even that which you produce on your own time? Yes, I realize that stipulation is there for general protection of the employer and not typically intended to be used in a draconian way, however it still leaves the door open for you to get sued into oblivion for posting proprietary code that "belongs to your employer" (even if they've never seen the code before).

<comment><USER36> I had a side project that I wanted to make into a side business. I worked with my employer to write up a doc that said they'd have no claim on it and would let me own it. My employer did have the "we own everything you make" in my contract.

<comment><USER37> I know someone who tried that - the company fired him, plus the company fought paying him unemployment. You gotta watch out!

<comment><USER38> They fired him for just asking? Then they're horrible, and he's better off far away from them. Most employers are not actually cartoon villains and will be reasonable.

<comment><USER35> He may be better off in the long term, but short term unexpected unemployment hurts. Can hurt long term too, since you will have to take whatever job you can get as soon as possible (unless you have enough savings). And that job you get may not be at the same point as you were in your career progression, since many employers prefer to hire someone who is already working.

<comment><USER37> Yes, pretty much what you say -- it took him a while to find another comparable job, and that had negative consequences in his personal life.

It was a small company doing the firing, they definitely "took it personally". Bigger companies are more likely to have uncaring bureaucrats I think.

</comment></comment></comment></comment></comment></comment><comment><USER39> I identify pretty strongly with this. I am good at what I do, but it's not my passion or my life. It's what I do so that I can have a life.

<comment><USER40> Agree. I've been in tech as a developer, dba, sysadmin, architect, all of the above, etc. for more than two decades, and I don't even have a personal github account. I don't write code at home.

</comment></comment><comment><USER41> My open source projects have gotten me all but 1 of my last 4 jobs. Hands down.

Yes, I still had to pass the interview, but when you can claim that your NPM package ballooned to a million monthly downloads suddenly the conversation changes from writing code to architecture, product management, and leadership.

Essentially you are telling the guy on the other side of the desk that I can solve problems nobody else in the world is capable of solving (or willing to try) and here is my proof. The clear response from that guy on the other side of the desk is to refocus on the things involved with that level of effort/output.

I have never had to worry about competition from other candidates. It has nothing to do with what I think of myself (ego or arrogance) and everything to do with how they perceive the potential I could deliver back to the company.

Second and third order consequences of this, that nobody but the interviewer sees, is that you won't need your hands held like a child. You don't need all the popular abstractions, frameworks, and mountains of tooling that other candidates cannot live without. The reason for this bias, and it took me a while to see it, is that you are spending all that extra time outside the office solving many of the same problems as people at the office except that you are doing it without a financial incentive, greater time constraints, fewer resources, and often in a more portable way.

\---

Now let's look at the candidate who only works at the office and has no open source projects to demonstrate and they are competing against somebody like me who would rather be working on open source for free than doing the job they are (well) paid to perform. What does the interview have to ask that guy to assess their skills?

It isn't about the code that is on Github. Nobody has time to scrutinize that. It is about the product, product quality, market penetration, the kinds of problems you have solved. It is about how you achieve popularity where other people did not and with a budget of 0 (maybe spending on a web server). But since you don't write open source and don't do work outside the office this conversation never arrises. The interviewer is limited to asking you about how to write code like you are a newb.

<comment><USER42> This comment really rubs me the wrong way. Realistically there are maybe, what, a couple hundred "million plus" downloaded npm packages, that are useful per language. That would almost seem generous. Now compare that to the number of programmers.

What you are essentially saying is that it would be a reasonable expectation to only get a job as a software engineer if you are the absolutely in the top .0001% of programmers in the world. Which, sure, I'm glad you're successful, that's nice. And as advice for one individual it's good - showing good work is a positive indicator for an employer. But in the aggregate we can't ALL be the best.

I went to school because I had thought that my chances of making a stable living were higher than playing basketball and praying that I would make it into the NBA.

<comment><USER41> You are correct that everybody can't get a first place trophy, or else it isn't really a first place trophy. We cannot all be the best.

That doesn't really matter though. In most cases you aren't competing with the rest of the world for a job. Typically you are competing against other applicants. In this more common scenario you just have to be better than the applicant pool, which is far less lofty (not that it matters). If there are 30 people that applied for an open position we can probably assume that between a third to a half are probably less qualified than the interviewers hoped for, so then you are realistically just competing against the remaining candidates that which is a lower number still.

In my original comment I mentioned my open source projects got me all but 1 of my last four jobs. The first of those occurred well before my software was popular and the company didn't even realize they were using it until it went up broken to NPM and broke their build. That madness didn't happen until after they interviewed me. During the interview I showed off my open source software just to demonstrate where I put my interests and how I am making effort to increase my personal productivity and solve original problems.

The software only became super popular during the prior employment.

\---

On a different note I don't consider myself something special like a 0.0000000000001% programmer or anything like that. The popularity of open source software projects is a unique spiral death trap. Keep in mind you are doing this on borrowed time at personal expense and for years people will ignore you (or tell you that your software is garbage and that you are completely wrong) and use inferior products that have a more familiar brand name.

Your software becomes popular if you can solve original problems and refocus continual effort on product quality. It took me years of effort and lots of people telling me I was wrong. I just did my own thing anyways and kept doing it because it was a personal project that worked well for me. And eventually it works for a couple of other people. It is extremely rare, but there are people who like to experiment using unknown software just for the hell of it (or simply because it is free). Those people create word of mouth recommendations. Rain drops become a trickle and if the rain never stops on a long enough timeline it becomes a flood.

It is a death cycle because as more people use it the demands upon the product greatly increase. Your available time does not scale proportionately. You prioritize and do what you can. You can mitigate some of this, though, if you are able to close defects at the speed of light and can get to a point where maintenance and improvements are faster enough to allow deeper engagement with your users.

The attention is nice and the idea of breaking promises or letting people down crushes my soul. That is how I feel about unfulfilled enhancement requests even though it is completely irrational. Completing those efforts are what made the software popular, so you feel a need to not let people down and to continue to complete the requests.

</comment></comment></comment><comment><USER43> Seriously now, how many hours does it take to start a simple project in a technology you're familiar with? I get it, you want time for your hobbies and programming might not be one of them. However if getting a job is important to you, is it so hard to spend some hours writing a piece of software that's maybe related to your hobbies?

> The silly art project that I launched in Austin. My dog business. Running, > painting, writing.

Take any of these hobbies and write a small application related to it. Don't do it because "code speaks to you", do it because it's important to get a job. Do one application, spend some hours on it, and be done with it.

> It's important to me that these attributes be valued by my workplace.

I don't think that's reasonable. I have many great people at my workplace, some of them have become good friends. But really nobody gives a damn I do 3D modeling in my spare time and I don't see how that would make things better. People know I enjoy designing visual stuff, and they always come to me for advice on colors and UIs, but that's about it. And my design hobby is valued because it brings value to the team and the project.

Interviewing is a contest. Some people prepare more than others. Some learn body language, some study the company before interviewing, others prepare side projects to show. If you're unwilling to do anything that puts you one step ahead of the crowd, don't complain about the interviewing process. It's a game. Within reason optimize for success. Don't just complain about how unfair it is.

<comment><USER8> This is basically the sentiment that I share. If you aren't willing to put in a couple hours on one Saturday of your life to putting up one script in an effort to help your career, you probably don't care enough about the job you are applying for.

<comment><USER43> > you probably don't care enough about the job you are applying for.

It's not even about th particular job you're applying for. Is having a job in general. If it's important for you to have a any job, then surely you can do something to help yourself.

</comment></comment></comment><comment><USER36> Getting hired is a game. People that have side projects usually have a leg up in that game. Whether they actually should is debatable. It's probably bad to correlate side projects with better employees. But since this is the game we have to deal with, it can help to have a side project and maybe a blog.

</comment><comment><USER44> When it comes to open source on GitHub, what most people miss is that you don't necessarily need to do it in your _free time_. This is in general a misconception.

There are actually two scenarios which don't involve coding in your free time:

1\. As software developers we are generating by-products all the time. And the trained eye can recognize reusable scripts that can be packaged and placed on GitHub. If you don't have a GitHub account with such by-products, then you probably have rotting folders on your hard drive with reusable stuff that will eventually wither away.

Good companies encourage or at least tolerate employees that do this, because it leads to higher quality code (by putting it out there, preparing it for the scrutiny of others), because it's good marketing for reaching job candidates and because once in a while such a projects ends up having other users, which end up contributing feedback, bug fixes or even features, aka work for free.

2\. We end up using a lot of open-source libraries and tools and we don't have the resources to pay for support for all of them, plus if we are honest about it, we are cheap bastards in terms of wanting to pay other people money for the tools we depend on.

Open-source is a about having control. Does it have a bug, or a feature missing? You can code it yourself and send a PR. Which in many cases is quite easy if you've been working with the library or tool in question for a longer time — all it takes is for you to know what's needed.

As a software developer, you might work in an industry that doesn't benefit much from open-source, or in a company that doesn't allow such contributions.

Which is fine, but know that in many companies the people that have public projects to show the world will get picked over those that don't. It's simple market economics really — in absence of open source contributions, all you have to show for your work at that cool startup is a nice story of how it died or went sour. And some ranty blog posts.

</comment><comment><USER45> Good for you, I'm jealous I guess. I am constantly developing and learning on my free time, and it's a problem really. It consumes me often, tires me out over time. What do I have to show for it? Not much of real essence. I should probably focus on projects non computer related. If I only had all the time in the world

</comment><comment> m-i-l From what I have seen, most developers aren't working on anything particularly interesting in their day jobs. At best they are developing a new CRUD application using the latest framework, but at worst they are maintaining legacy codebases, battling management incompetence etc. It can be very hard to sound passionate about these things in an interview. In my view this is where side projects come in - they're the chance to do something actually interesting, which can be a great talking point in an interview.

</comment><comment><USER46> I wouldn't hire a sales guy that sells comparable products in his own time. Why would that be different for programmers?

You should only do sideprojects if it's your passion or if you think it will help your career. If you're passionate about other things: do that instead. There's more to life than work.

</comment><comment><USER47> There are a lot of things being conflated in this post. Side projects Geography Running a side business

1) I agree side projects do not define a good developer (frankly, I don't have any outside toy ones). But given 2 equally good choices, I can't blame an employer who chooses a Dev with side projects as opposed to one without (since they can see their code). That being said, a better interview process would involve real coding which would eliminate this situation altogether.

2) I'm not sure where the rant about geography fits in. If you are limiting yourself to Austin you're limiting yourself to an even smaller pool of developers than the Bay Area, NYC is Seattle. And there are many families with dogs living in all these areas.

3) Is suspect the fact that the author is running a side business may be a bigger concern. The author's specific business may not, but as an employer, I'd imagine there is no way my job could compete with your side business since you actually have money invested in. I wouldn't be surprised if this would, more than the lack of side projects, affect someone's employment opportunities.

Just the way the author has setup the discussion it seems they basically left the company with no code to see at all.

I can't show you the coding I have done, because it's at work. I can't show you any other coding I have done because I have not done anything outside work. But I did start an art project once.

I think a far more useful tack (which I have used in the past) is to ask the company to provide you with a task, and give you a week to solve it. This allows them to actually see that I can code and solve a problem.

</comment><comment><USER48> Honest question: do you use open source at work? Do you contribute to open source _while at work_? If not, why not?

A couple days ago I spent several hours puzzling through how to use an open source library. When I figured it out, I made a PR for documentation. Our closed-source app will benefit from having its dependencies better documented.

I do very little coding outside of work anymore, but I still have public contributions to show.

<comment><USER49> Many employers take the stance that they own all the code you write while at work, and therefore you don't have the right to release it under an open- source license.

<comment><USER48> Proper response: "OK, so I found a problem with one of the open source tools we use and I know how to fix it. Do you want me to 1) not fix it, in which case our code is broken, 2) put a workaround in our codebase, which you'll have to maintain forever 3) create a fork of the codebase which you'll have to maintain forever, including merging upstream changes, or else forego future bugfixes and improvements or 4) contribute the fix back to the original project on company time, which means you'll never have to pay to maintain that code?"

</comment></comment></comment><comment><USER50> "And when I said I have no side projects to show, what they heard - <USER3> interviewers hear - is: I am not the best. I am not a passionate developer. I don't spend the necessary time to keep on top of my education and skills. That development is "just a job." "

Are you sure you are not just projecting your own insecurities and opinions into interviewers? Majority of developers don't have side projects. According to FOSS survey, owerwhelming majority of linux (especially) and open source contributions is paid work. Sometimes it is that they work so much in day job, most of the time they work normally (which is enough) and do other things in out of work time (exercise, care about children, read books, socialize - social skill matters, craft). If you are coding 6 hours a day (generous 2 hours for meetings and chatting and organizing), then you should code plenty.

You could have loose that interview due to many other reasons, you could have run into that one company that does not hire without outside code.

But if you really worry about this one, maybe create an account with sample project and be open about that project purpose (e.g. dont be afraid to say that you created this project to show how I code, because previous interviewers asked for that). If it is really about code sample, then something you create withing two days should suffice.

And if they demand real contributions to real open source projects, ask them whether their company gives employees time to do such a thing on the clock. After all, they expect your previous employers to be so generous with time, so they should put money where their mouths are. If you dont hire me without having full public profile, it is only fair to demand that being employed by you makes continuing that work possible.

</comment><comment><USER51> This really resonated with me. I am passionate, or at least I think so. But all my subprojects are for work. I work at a place where the problems are interesting, and we are encouraged to randomly skunk works things in the background. So I do.

None of those things are things that I can give out or show to anyone at all. I'm really interested in the field my company works in, and all my side projects are related to it, at least elliptically.

The only thing I can show you after 35 years are things like abandon shareware products from the late 80s and some really awful code written for no purpose long ago. Nothing that relates it all to what I've done for the last 20 years.

I also work in one of those companies that asks applicants to do some code problems and turn them in. On the other hand we really don't care how you solve them or even if you solve them. What we want to do is get in a group setting with the applicant and the code and four or five of us and talk through the code. The problems tend to be simple, the interesting part is talking to to a candidate and getting a sense of how they code/think.

</comment><comment><USER8> The bottom line is, each developer is responsible for showcasing their own skill. One of the best ways to do that is through sharing programs you've written on GitHub. If you don't want to do that, you better find some other way to show off to an employer.

If you are unwilling or don't have time to create a public code repo or your own blog/website, you should be willing to take a skill assessment test from the employer. If you aren't willing to do any of that, I don't know how you can expect an employer to gauge your skill. You can't just provide a reference and expect them to hire you just because someone vouches for you.

You may think it's unfair that you have to go out of your way to make yourself look good to an employer but...that's the way the world works. I think the misconception is that people think 'having a side project' means writing a prolific open source project. You can spend 1 hour per week on coding small programs and have a great GitHub profile.

</comment><comment><USER52> What if you work 16 hours a day because your current employer is highly dysfunctional and you are constantly putting in hail mary efforts to save them from themselves?

How is one supposed to have time for side projects then?

<comment><USER53> By quitting. 16 hours? What the fuck.

<comment><USER52> Most sane folks would like to find another job to quit into rather than just leave their job, but if you have a great financial cushion to rest on, sure, go ahead.

Having been poor most of my life and worked full-time since I was 15 years old (with an odd break or two), I can tell you that that is a luxury most people do not have.

<comment><USER54> Work the hours in your contract. No more, no less. If you aren't being compensated, why work longer?

<comment><USER52> It's not happening to me, but it happens in plenty of places.

crunch time is very real.

<comment><USER11> Crunch time is real, and I don't object to it. Working 16 hour days as a matter of course is not "crunch time", and no employee should tolerate it.

</comment></comment></comment></comment></comment></comment><comment><USER55> OK. That's fine. I have friends that will spend a month committing code on github everyday for the sole purpose to having greens on the page. It does help to get an interview because most often then not, all the employer sees is the green. No one is gonna go ahead and read the code. And if they do, what are they going to get out of it?

I've seen people fake it, adding trivial changes everyday, uploading public tutorials they followed, or just formatting.

I never ask for a github page myself because I don't know what to do with the information. But I do ask for a side project, and answering yes or no is not what makes or breaks a candidate. Instead it leads to a conversation about their coding and work philosophy.

If you don't have a side project to show for, well you must have something to talk about in our field that can convince someone that you are a good candidate.

If you do have one, well it has to be something that can convince someone that you are a good candidate.

</comment><comment><USER56> My way of getting better was always to read about things around the subject I wanted to learn or understand. In my case Design.

I always look for how things are the same compared to the subject matter I am interested in.

What has given me the most ever is learning to play music and compose music. Once you understand how music work you understand how/why rhythm works, proportion, harmony, consistency etc.

But both music and design informed my cooking. When you boil things down (no pun intended) the underlying principles are all the same it's only the execution of those principles that's different. Philosophy is also something I have found ways to incorporate into something tangible in my life.

I also have side projects some of them do really well but i try to do as many different things in my life while still being involved with design and music. You need to have some strongholds.

There are no rules.

</comment><comment><USER57> What strikes me as weird about this is the assumption that it's an either/or proposition.

I am passionate about playing traditional dance music. And I have supported this by writing a program to generate high quality sheet music from ABC scores; scripts to download collections of scores or MP3s off the web; scripts to handle tagging/naming my MP3 files; etc.

I am passionate about RPGs. Back in the day I supported this with a script to convert a simple text markup to LaTeX to generate print quality copies of my RPG stories. (This was about a decade before Markdown.)

Etc. The idea that a programmer could have an entire second business and not write any interesting code in the process strikes me as really odd. There are NO tasks for the company that could be usefully automated?

<comment><USER58> A lot of code you can't just toss up on Github. Is that your _best_ code? It better be because that's all the code the interviewer is going to see!

<comment><USER59> Code quality is overrated in a side project. As developers we love to inflate this fantasy that someone else is actually judging our line-to-line code.

Unless you're incompetent and making glaring mistakes, someone reviewing your code would have to credentialize in your codebase to identify things like bad architecture. Nobody is doing that.

I'd put your energy into polishing a quality README. That's actually something that someone else will see, and I'd assert that it's the most important part of a project for someone flipping through.

In fact, in the hiring position, when I see someone with projects but not a single README, I have to wonder if it's a bad signal. Sure, they could do the easy part of slapping code against the wall, but they stopped before the hard part of documenting/introducing it. Something to think about when you're competing with other applicants for a job.

</comment></comment></comment><comment><USER60> Passion is a code word for free labor.

<comment><USER61> I often laugh at people who use passionate not realizing the root of the word more or less means suffering. You want me to suffer for your company? No thanks, thats beyond the bounds of employment imo.

<comment><USER62> Given the choice between someone who's just doing the job to get paid, vs someone who's doing the job because it's what they enjoy doing, I'll pick the second guy every time.

In both hiring, and working with.

<comment><USER61> > it's what they enjoy doing

Sure.

But, passion ~= "suffering". "suffering" IMO is mutually exclusive with "enjoy" (unless that's your sort of thing)

</comment></comment></comment></comment><comment><USER63> I've found that the companies that insist on a thriving github portfolio are also the companies that expect you to work 16 hours a day on their code.

Normal places with normal expectations on work/life balance don't expect you to be pumping out code every second of the day.

</comment><comment><USER64> I like to write side code projects. You might think I do not have a life outside coding, but I do. I do not spend more than 3 to 4 hours per week on side projects. I play the guitar and saxophone. I go out in the weekends. I love mountain climbing. Like the author, "I loathe hackathons" too. But unlike the author, I do have side projects.

As someone who has been doing personal as well as public side projects for possibly 20 years now, I think I can share some insights about why I (and perhaps people like me) work on side projects.

I grew up in a time when we had computers with 3 MB of memory and 300 MB of hard disk were considered powerful machines in my school. The students would get only 30 minutes of computer time per week. These were times when you boot your computer, type GWBASIC, press <ENTER>, and start coding. This was one of the very few ways to use a computer meaningfully. Writing code in GW-BASIC became like a mindsport for some of us. I would write tiny games, draw diagrams or solve math equations with code. It became a hobby.

I guess everyone has hobbies. I have some too. Coding is one of them. It's not the only one.

About 10 years later, I learnt that this hobby could become a career and I chose programming and developing software as my career. Is it fair to now be considered a "human machine" who "work 80 hour weeks" and have "absolutely no evening or weekend plans" just because my career also happens to be one of my hobbies?!

</comment><comment><USER8> Here are the sentiments that I took away from this article, even if it was not the intention.

\- "If I don't have the time to be THE BEST, I won't bother even trying to be great." \- "I am okay, even proud to be a mediocre developer. I don't want to commit lots of time to programming." \- "I would rather have an employer who accepts me for being mediocre because I have interesting things going on in my life." \- "I'd rather work on a team full of mediocre devs as long as the company had a great culture"

I'm not saying it is an "incorrect" attitude. Someone may want to put together a team of developers who don't really care about their craft, as long as they like to hang out together. I feel very differently though. I would much rather hire a developer who is mediocre but wants to get better than a mediocre developer who has the attitude of 'I don't want to put in all that time to be good at my craft. Did I mention I had a dog business though?'

As someone who has interviewed developers, I can tell you that most candidates do not have side projects. If you have side projects, it is a huge bonus. Not having side projects is not a big deal. Plenty of people get hired who don't have side projects.

But, if a candidate said no they don't have any side projects, and then followed it up with something like 'Yeah, I'm not one of those people who really likes coding enough to do any in my free time, plus I care more about my dog business that I run' that says to me 'I don't really care about this job."

</comment><comment><USER65> I'm personally in line with the OP where I don't have any fully formed side projects that I would feel very comfortable as a reflection of my current ability. I really like stackoverflow for this exact issue. Spending time with family is just more important than coding, but I'm able to easily/quickly contribute to stack overflow during work or in the off time. If someone is interested in seeing examples of how I think, help or code I can say, look at the 1000 answers on stackoverflow :p

</comment><comment><USER66> I always prefer being able to look at someone's work. I'm an adult - I don't expect to see that for someone coming out of defense or certain other industries. But, I will be clear: I want to see your work, and whiteboarding is kind of awful. So is coderpad. Take home projects are nasty because of time commitments and time pressures. How do I solve this problem?

For my sake as an interviewer, I need as much information about you as possible, as realistic as possible, as fast as possible.

For my sake as an interviewEE, github gives me the ability to do good work, on time of my choosing, and present it in the manner I see fit.

As a _social awareness_ question, I prefer to work with people that have the social awareness of the broader software community to go, "yeah, this is how the community is rolling, I can play the game a bit". Whether that's github, or Haskell, or Rust, or assembly, or retro Pascal. I sort of don't care. The social cues matter a lot in The Work.

At the end of the day, passing on someone with no portfolio and a preference for doing art over spending time learning a bit more about a topic and doing a quick demo project is an easy pass.

(Personal note: if you're gonna just throw your novels out, maybe write code instead? worst case is you learn something fun)

</comment><comment><USER67> I feel conflicted about the side projects thing. Yes, you shouldn't absolutely have to have some to be considered for a job.

But on the other hand, I look at my wife (who is a special ed teacher). She makes a fraction of what I do but to keep her certificate, she has to take for credit college classes, submit them to the state, etc.

This is ostensibly to prove that she can still do what her degree says she can do.

Most other lines of professional work have some form of continuing education requirement.

And that's what I look at side projects like: some form of public effort at trying to improve your skills, show that you can do what you say, etc.

Comparatively, side projects [1] feel incredibly egalitarian. They don't care what school you went to, they don't require much in the way of cash payouts to get going. They author seems to disdain Github, but they'll give you a free account and let you push code to it.

1 - I think we'd need to collectively define what this term means. But I think of it as bit size projects that scratch a particular itch. The author likes dogs? Great spend $1 and use AWS Rekognition to do image search over a bunch of dogs. They have kids? Work with them to put together a little project you do together. You like working at the art collective - GREAT! - do an awesome online art thing.

</comment><comment><USER68> This is simple. It's Economics 101: Supply and Demand.

1\. You work hard to improve yourself and gain more skills that people will want to hire you for.

2\. More people will want to hire you

3\. Demand goes up, while supply (yourself) is fixed.

4\. Your price goes up.

On the other hand, if you care so much about your "life quality" and put absolutely 0 effort to improve yourself outside of work,

1\. You don't have much to show other than what you did at current work

2\. You are making yourself completely dependent on the company

3\. When the company fires you, you have NOTHING to show to others. It's not like you can show people the code you wrote while you were at the previous company (the company owns the code and you're not supposed to share it outside publicly)

4\. Since you have nothing to share, less people will get your value and less people will want to hire you

5\. Demand goes down, supply fixed.

6\. Your price goes down.

You can keep bitching about how the world is unfair and harsh and write some blog post that sounds almost like a beautiful piece of poetry, but that won't change anything, because that's how the world works.

It's not about companies "exploiting" employees by telling the m to work on something during the weekends. It's actually for yourself. If you don't believe that, that's fine, but you will stay a shitty developer and the law of supply and demand will kick in.

<comment><USER69> Yep, pretty much this. If the interviewer didn't think a person who had side projects was waiting in line behind you for the next interview slot, they wouldn't have passed.

I tend to be skeptical of most forms of software engineering interview tactics, but work samples is not one of them. Strong side projects is a strong indicator of skill. FWIW, for those who do not have projects like the OP, its important IMHO to offer a take-home variety. If you do not have side projects, and are not willing to do a few hours of take home work, then I usually screen you out since there are plenty of other candidates that fit in either bucket and will be easier to make an informed hiring decision about.

A strong work sample is an unnecessary but largely sufficient condition for assessing hands-on-keyboard coding skills (a subset of the skills needed to be a good software engineer), so screening out people who don't have them, when there is a glut of supply of skilled labor, as it might be in Austin, is a rational strategy.

</comment></comment><comment><USER70> Hmm, I suspect I'd have the opposite problem if I were to go interviewing again. As I teach students, there's an awful lot of whipped-together-in-an- hour demos on there from answering student questions by writing tiny non- meticulous examples.

To be honest, though, I've tended to find interviews go well when the interviewer goes off-piste. Probably because you've both decided your each reasonably smart, and are letting the conversation go where it leads.

</comment><comment><USER71> You have to look at side projects as helping to build you up in ways that are not explicitly paid for. This isn't limited to software. Consider physical labor; if it's someone's job to do lots of work that requires massive strength and endurance, is there _ANY_ employer that will pay you extra for the time you'd be spending at the gym to meet the required strength? No; they'll simply ignore the person demanding that investment, and hire the person that already fits their needs. School is another example of something you work hard on without really being paid.

On the flipside, I do hope that employers are good at actually _understanding_ open-source project pages. For instance, GitHub is terrible about letting people create profiles with prominently-displayed forks of dozens of projects _as if they're contributing_ when those people may actually have done _nothing_ on _any_ of the projects they've displayed. Similarly, having a single project should not be an indication that you're worse than someone with 10 projects; there are some legitimately huge problems and "one project" might be a full-time job in itself.

</comment><comment><USER72> Some of the best most useful skills I've learned I've learned making side projects using technology that I wouldn't dare try to introduce at work. (too new / bleeding edge / untested)

With that said, I don't make any of those projects public since they embarrass me. No unit tests typically, poor documentation, etc.

With that said as a hiring manager I would never penalize someone for not having open source projects.

</comment><comment><USER73> Having recently endured a few horrific interview processes, I considered writing an article titled, "No, I Won't Run Your Fake Work Gauntlet."

Take home assignments, coding as performance art, timed puzzle solving, obscure technical questions, full day interview gauntlets—these are what I had been through. These processes are designed primarily to avoid false positives. False negatives are okay. This is unfair to the candidate, but the company gets to pick the tune. Rather the candidate _lets_ the company pick the tune.

About a month ago I landed a job. The interview process consisted of two steps: an hour phone screen with the CTO followed by an on-site show-and-tell of a side project of my choice. (Coincidentally, the company is in downtown Austin, but is definitely not the company mentioned in the article.)

The process was a joy to me. I have side projects to show. In fact, I showed two. The audience was approximately 10 developers. My impression is that the CTO was looking for a lot of thumb to go up.

Here's what I liked about it. First, it was not a time suck. Second, it made me the driver, allowing me to draw attention to the best parts, not just of my code, but of how I think about problems. It was downright relaxing.

To be sure, this is just a different way to prevent false positives at the cost of false negatives. If you don't have side projects but consider yourself a great developer I can understand why you would consider this process unfair. It sucks to be a false negative. But for me, it's way better than the alternative.

Not every company needs to draw from every talent pool. I've happily taken myself out of the pool of companies which use those other methods. I'm glad there are some which use a method that suits me.

</comment><comment><USER74> I agree that it shouldn't cost you a job if you don't have side projects. It shouldn't guarantee you a job if you do—like any other demonstration of who you are, it should cut both ways. I always ask to see them if someone has them, and it's hurt in about as many cases as it has helped. If you can't program but have some side projects up on github anyway, I will be able to tell.

</comment><comment><USER75> It's not that you _must_ do side projects or else there is no possible way you are a great software developer. It's that lots of people are just as good as you are and also do side projects. Given the choice, why would you choose someone who is equally skilled but is less interested in the field?

When you are hiring people, you really have insufficient information to know how good they are. You can't see any larger projects they have done or get a feel for how they solve problems that aren't toy scenarios by a whiteboard. Having side projects too look at dramatically reduces the uncertainty in your estimation of their skill level.

So there you go, all else being equal of course you want someone who is 'more into' their field, and all else being equal side projects dramatically improve your confidence in their skill level. So to a competent hiring manager the author of this looks like he has less passion than his competition, and even his skill level is very poorly understood in comparison.

</comment><comment><USER76> I'll take a look from both sides. But let me first explain the motivation and drives for some people to push them what they do, why they do etc.

We all have secret reward mechanism which triggers our dopamine receptors. Time to time randomly or intentionally we create those circuits in our brain. For example, for some people, it's really important to talk about baseball teams some likes football.

That's being said, we need to be in the flow also to self-transcendence (remember Maslow's pyramid last step ;)

Some people their motivations are not clear and they find themselves very in the middle of everything and it can be more then one specific skill like the guy's example in the blog post, he likes tracking, drawing, spending time with family etc.

After having a motivation towards one subject for long time you develop flow and being in the zone for this occupation that's why managers tend to see person with enthusiasm for coding and being in front of computers all the time.

It's exactly how it supposed to be! I recommend being stoic about it.

</comment><comment><USER77> Is there a marketplace where one could buy a side project and post it on github?

See a job add for a Go programmer, buy a Go side project...and so on.

<comment><USER78> As a teacher of mine used to say, you got there a business idea.

</comment></comment><comment><USER79> I had a difficulty getting an appropriate role because I am bad at answering Q&A format of questions. I have a decent github profile and side-projects (the recent one is halfchess.com). So I am coming from the opposite camp but I can relate to the author very well.

I think the problem is with the interviewers. It is a difficult task to interview and when everyone is allowed to lead an interview, it just leads to very random outcomes.

Companies don't really focus on developing interviewing skills for the people who are inside. Maybe they are just too scared to do that - pulling people away from their gut feel and not having an even distribution of people who can interview properly (across teams). It probably feels much safer to say a bunch of No's and then say Yes.

The lesser experienced and the hard-headed experienced ones are worst interviewers. They probably are looking more for people like us.

</comment><comment><USER80> I enjoyed reading this.

You do have side projects, just not ones that require coding.

</comment><comment><USER81> Am I the only one who likes side projects? I'm addicted to the idea of starting new projects in new languages. How many of them ever get completed or push into an environment is a different story... It's fresh, clean and filled with possibility. An existing code base is usually filled with hacks etc.

<comment><USER58> Some of my side projects exist only long enough to understand/solve the deep technical challenge required to make it work. Completing the project after that is just unfun _work_.

</comment></comment><comment><USER82> Interesting discussion here. Excellent post.

If coding is such an art and so important to the industry, why are all people at the top do not have a git hub account to show? They must still be "passionate" about coding, no? Or is it a function of how much money you have?

Facebook worked not because of some guy wrote great, highly maintainable code. It worked because of the idea. Same with others great companies.

If there were these unicorn people who did not write "unmaintainable junk" there would be no security bugs, hacks, leaks etc.

All big companies have recruited "the best" for forever. Can any one of them guarantee a bug free software. They can't. Suddenly, all these passionate people with their github account do not look sexy.

Insisting on a side project is similar to people insisting on TDD and i am sure TDD does not solve the problem of bugs in code.

</comment><comment><USER83> The "side project" culture is a by-product of not having a standardized approach to professional development in software engineering. Doctors, teachers, and pilots are all expected to refresh their skills, and their time to do this is baked into their salary. Software engineers need to do the same, but it's not baked into their salary, so they have to do it independently. You wouldn't pay a tax preparer for his time spent learning this year's tax laws, but you also wouldn't hire him if he didn't. So his hourly rate has to include the time that he will spend off-the-clock learning about the new laws that year. Software engineers should do the same, and treat their on-the-clock time as only one of the components of maintaining their professional readiness.

<comment><USER84> An independent tax preparer, sure. A tax preparer that works for a firm would almost certainly be allowed to spend their paid working hours learning this year's tax code.

</comment></comment><comment><USER85> Why do hiring managers believe that github code was actually written by the applicant?

People lie incessantly about their ability to code; that's why he industry considers things like fizbuz to be valuable. Why assign so much value to a public github account if you don't trust their word in the first place?

</comment><comment><USER86> Getting a job is a competition. There is no absolute criteria for whether you should get a job or not. So why should an employer prefer you over someone who loves programming and problem solving _so much_ that they do it as a hobby? If your excuse is that your previous jobs were so invigorating that you had no free time for personal software projects, then your reward is the higher pay you've received at those jobs compared to other easier ones you could have taken. If you decide to hike and paint instead of work on software for fun, that is perfectly fine, but those activities are simply less valuable to an employer. To me, this article is a textbook case of the "I do less work than my peers but should receive the same opportunities" complaint.

</comment><comment><USER87> I'd like to point out two aspects to this outside of workhours vs online profile/portfolio of work. Sometimes you can contribute to online tools during work hours. I've collaborated with Python folks to fix bugs or upgrade to new frameworks, or to Python 3, things that my work and libraries depended on. This was on the company's dime because I needed to get things done and didn't consider them ultimate obstacles. These are one off a few days investment sort of tasks, nothing super long term, but it's worth mentioning these are not mutually exclusive efforts.

Another detraction to working at home on side projects right now is just physical. I need to really take a break from the monitors to keep my eye strain budget reserved for work when I need it.

</comment><comment><USER88> Just make a whatever tiny commit in your own public github repo. Its just the way interviews work these days,in a sense its like lying on your resume, its there and only 1 out of a 1000 will check it. I get you are pissed at the concept but as i said just work around it.

</comment><comment><USER89> Since there is no standard definition of "engineering" in software, it is mostly driven by individual employers. If a potential employer wants to see you constantly programming in your spare time and have a GitHub account than that's how they view their "engineering" practice. You don't necessarily have to agree. But put yourself in an employer's shoes for a minute. If you, as a candidate, are not a certified engineer who practices what essentially amounts to a form of pseudo-engineering and works in a field where a large number of people don't even have a relevant degree yet claim to be "engineers" how else is one supposed to make a decision about your technical chops?

</comment><comment><USER90> I'm curious about the companies where the author has worked, because they must be using a lot of open source libraries internally. If the author's GitHub profile is completely bare, then it means they've never forked a library to fix a bug, or added a new feature and submitted a pull request.

I don't care if you don't do that in your spare time. I don't know what languages or frameworks the author uses, but I probably won't hire a Rails or React developer if they'v never contributed to any open source projects. If they've never come across a single gem or npm package that needs a bug fix or a new feature, then they probably don't have enough experience.

</comment><comment><USER91>
        And when I said I have no side projects
        to show, what they heard - <USER3>
        interviewers hear - is: I am not the
        best. I am not a passionate developer.
        I don't spend the necessary time to
        keep on top of my education and skills.
        That development is "just a job."

This isn't how I interpret it at all. Gauging how you write code, structure commits, and talk about your work cannot be done solely through face to face interviews. When I talk with someone who cannot show me any code, I feel like I'm lacking a signal for determining how well they'll be able to produce. It's not a deal-breaker by any means, just a complication.

</comment><comment><USER92> I have a decent amount of side-projects and I build projects for fun (I even blog about them), but that doesn't land me any offers or opportunities. My Github has a decent number of samples that I've built. However, I get rejected more often than not because of my online coding interviews. Being a new grad, I don't have many other options but to oblige. We live in a world where nobody will talk to you unless you pass their coding challenge first. So I'm not fully in agreement with this article. If there are companies out there who truly want passionate developers, I'd love to know! Clearly, the big 4 aren't the right places to apply to.

</comment><comment><USER93> I like to work with engineers who are passionate about software not someone looking for a 9-5 job – so I would pass on him as a candidate.

In my experience people who are passionate about software have something to show for it, even something small.

</comment><comment><USER94> Funny because I'm on the other side. I do side projects. I enjoy it. I also think of them as resume builders. However, not one company I've interviewed with cared about them. They wanted to know what I got paid to do.

</comment><comment><USER95> I have this cooking website I started some time ago ([http://cookarr.com](http://cookarr.com)), and apart from that I have some smaller projects, but I also say "No, I don't have side projects except of these, I don't have to do open source, I just... don't". It never did sabotage my interview though, because I am a specific kind of full-stack developer (good at prototyping and whipping up complete "MVP production apps" in a short time), and it's somehow valuable to many startups.

</comment><comment><USER96> I went through majority of the comments here and it seems to me that for many programmers, their life revolves around side projects and they consider that other programmers should also do the same. There is more to life than just programming. It was not even a job until 100 years ago. Richard Feynman did not only do physics all his life. He learned how to paint, how to play music etc. Why restrict yourself to the programming bubble? The OP seems to me a sane person in this world of overworked zombies with fat bellies who call themselves passionate programmers.

<comment><USER8> I think you missed a lot of the comments saying, you don't have to live, eat, and breath code in order to have some code you've written up on GitHub. You don't have to spend every waking breath coding in order to write a script that will order you a pizza or something. You're life doesn't have to revolve around programming to find one weekend out of the year to write a program or spend 1 hour per week working on something.

I am a developer and I like to do plenty of things outside of programming. I ride motorcycles, read books (and writing a book!), play guitar/violin/piano, learn Russian, digital paint, make 3d art models, play video games, go out to eat, karaoke, go to meetups, blog, etc, etc. Most developers I know have plenty of hobbies outside of programming, but still manage to squeeze in some time for side projects. It does not have to consume your life...

</comment></comment><comment><USER97> This again?

Hello, I'm your peer. You're showing _me_.

Not HR, not the Engineering Manager, not some mythical burn-down chart, but your _partner in crime_.

What sort of jobs have you pulled? I don't care about the minutiae, but about the overall scene.

Code smell is a factor, like it or not. Same story for by-catch and "gore" in the form of spaghetti, inheritance and commentary.

If you can't be bothered, I get it. Punt, shift blame, cross your arms and dig your heels in.

I don't care, because without a portfolio, I don't have an opportunity to appreciate the qualities of your work, good or bad.

</comment><comment><USER98> Pet projects need not take up all of your time. All you need is a few hours every so often — an evening or so once every couple of months, or one weekend a year would set you head and shoulders above a lot of people. The whole thing of dark matter developers with no pet projects at all, versus "passionate programmers" who eat, sleep and breathe code, is a completely false dichotomy.

All employers are looking for is some publicly available evidence that you actually have the skills that you claim to have listed on your CV.

</comment><comment><USER99> I agree that it shouldn't cost you being able to have a job that you like. That being said, I don't see why you shouldn't have a couple of side projects on Github or even a personal site. The side projects I've shown to employers were not gargantuan MVPs but simple applications that did one nifty thing well. It's fine if you don't want to do any of that; I personally would want to do things that give me an advantage with a company that values interest in coding and innovation.

</comment><comment><USER100> I have this bad habit where I don't do side projects for me, but for work. I get excited about ideas I have to improve our product/infrastructure at work (I'm an SRE) and given that I am more or less autonomous I work on those instead of some personal GitHub project.

This means that I write a lot of software out of hours that makes it to production, is well tested and maintained, but I could never show it off in an interview. I need to break the habit, but I just don't get the time during the week to work on this stuff.

</comment><comment><USER64> > That "the best" is happy to drink into the Earth every Friday and has > absolutely no evening or weekend plans.

This looks very much like deflecting the disappointment experienced at the boutique app firm to all people like us who do love to code in spare time. I believe it is unfair to paint all of us with the same brush. I know plenty of people (myself included) who love to code in their spare time and still have weekend plans that have nothing to do with computers.

</comment><comment><USER101> Unrelated to the topic:

I'm super excited about this guy, looking at his background we had to have worked in the same computer science lab at Texas State. We're the underdogs in Texas and it's cool to see people that were successful in the typical ivy- league environments. Incidentally enough, I'm now getting into mobile app performance and worked at Amazon around the same time.

Related:

I find that interviews are mostly a crapshoot. I'm currently looking for a new job in SF, so I have a few experiences from this last week that stood out:

* Onsite with a ~100 person startup last week where the guy asked about my past experience ("Wow me with a past project") and then I caught him looking out the window as I explained a particularly gnarly problem we solved at Amazon. I was asked 5 coding questions (that I more-or-less solved), never spoke to a manager and then got a canned rejection.

* Onsite with a ~2000-10000 person tech company and met my would-be team, my manager and his manager. We discussed the projects I'd work on, did coding and architecture problems and I left super excited to work with them in the future. I received an offer from them within a few days, having already built a relationship with my team and management, that makes me feel much better about the opportunity.

* I'm currently going through an interview with a really great company (~60 engineers). I spent an hour talking to my maybe-future manager and we left both excited to work together. The follow up was a realistic technical project and pair programming with my future teammates- all of whom were awesome to work with. I'm still awaiting next steps, but I've really enjoyed getting to speak to my future team.

A litmus test I've found: Does the technical hiring manager talk to you before you phone screen? Do they seem engaged and ask follow up questions? If your only point of contacts prior to the onsite is a random engineer interview and a recruiter whom repeats a script, your past work is not going to be a major factor. Most likely your hobbies outside work won't be considered (I'd suspect for legal bias reasons?) unless it's a small startup that's looking for a friend-as-a-coworker fit. I experienced this at my last startup, we went from 5 engineers to 50, and the values started to shift.

</comment><comment><USER102> Why doesn't he mention what he thinks interviews should be about? Does he think that asking a bunch of dry-erase-board-questions about algorithms is better? What about just a company going with their gut?

It's tough to agree with a post that doesn't offer an alternative. All I get from this is that he wants to talk about how his life is more balanced and hobbies are better than ours, and that alone should be enough proof that he deserves every job he wants.

</comment><comment><USER103> It doesn't make sense to volunteer extra information that could be potentially used against you.

Unless you have done your time consuming best to ensure its 'perfect'. And this directly leads to a culture of resume driven development.

For those who are actually active on projects most interviews do not provide the context to absorb the information of your contributions; coding style, tradeoffs, constraints of these projects etc. They will all end up sounding like excuses.

</comment><comment><USER104> I too don't have any side projects primarily because I find creating projects is a slower way of learning. The fastest is reading documentation, books etc. Creating side projects doesn't guarantee that you will learn anything more than what you already know. Looking at codebases of high quality frameworks/libraries, reading books about best practices, taking online courses are some of the faster ways of learning.

</comment><comment><USER105> There's nothing wrong with spending a bit of time developing a portfolio for yourself. It doesn't have to be a full time job that you do for free.

</comment><comment><USER106> In the free time that I can set aside to code, I don't use it to write complete programs. I poke at stuff that's intellectually interesting to me. It's not good code. It's not structured well, the variable names suck, it's buggy. But none of that was the point of the exercis. I don't put that stuff on GitHub because I don't want some hiring manager thinking it is my best code. My best code is my professional code.

</comment><comment><USER107> It seems to me there is an enormous chasm between "lives to code" and "can show a side project".

</comment><comment><USER108> If someone posts a link to their GitHub on their resume or makes mention of it during the interview process, I take that as "you are giving me free range to look at your code and potentially make a hiring/advancement decision based on what I see," and I definitely peruse and ask questions.

</comment><comment><USER109> I wrote something about this:

"How to write about your open source experience when you have none"

[https://codeformore.com/how-to-write-up-open-source- experien...](https://codeformore.com/how-to-write-up-open-source-experience- when-you-dont-have-any/)

</comment><comment><USER110> I feel quite mixed on the article.

Mostly I'm on the side of - sure and if we go for the same job and have the same skills I should win out because I have tonnes of code to show.

If you're fine with that then meh.

My other thought was that you sound too busy to be on the on call roster which is another black mark.

</comment><comment><USER111> I'm also in this boat. Most of the places I worked did not allow open source contributions because of the NDAs I needed to sign.

The boutique place in Austin failed you. At the very least they could have assigned you a small project and given you some time to complete it.

</comment><comment><USER112> My motivation for (and lack of ideas for) side projects has dwindled over the years.

Most of my "side projects" are throwaway pieces of code or scripts that do silly things, or ironically are solutions to "cracking the coding interview" style problems.

</comment><comment><USER113> Additional reading: [https://www.hanselman.com/blog/DarkMatterDevelopersTheUnseen...](https://www.hanselman.com/blog/DarkMatterDevelopersTheUnseen99.aspx)

</comment><comment><USER114> I wish companies cared about side-projects as qualifications for hiring. I send full projects and they never seem to peer into them when I query. I want them to look so we can have a discussion around them.

In the last 10 years I've built 40 web-apps and that doesn't include ~20 codebases of my own

I don't understand how you can be a programmer without having side-projects or at least contributions in open-source.

I end up contributing open source or creating my own libraries via work, so I'd still have things to show outside the scope of standard hours.

I can get not wanting to do CS algorithm puzzles in interviews since thats a specialized discipline rarely applicable to web-app development but this I can't get behind.

</comment><comment><USER115> I've definitely had my blog mentioned in interviews. My github is rather sparse. I'd rather do a coding interview in person, or better yet find a job through a referral.

</comment><comment><USER116> It is hard to believe they would waste your time or theirs with an onsite interview, if they decided apriori a candidate with no side/opensource projects is unfit for them.

<comment><USER8> This was my hangup too. The author implies that it was simply because they didn't have any side projects that they were rejected. I find that hard to believe though because why would they bother bringing them in for an interview if they didn't have any side projects? Plus, 90% of the applicants I ever saw didn't have side projects, so they'd have to auto-reject 90% of their applicants. Why bother bringing in one of the 90% auto-rejects for an interview?

</comment></comment><comment><USER117> > I lost the job for a boutique app firm in downtown Austin

Towns awash in startups and those types of developers have a different cultural expectation than say Dallas or Houston.

</comment><comment><USER118> Emotions aside and logic in place, it would be easier to say no to someone like this, you're just making it easier for recruiters to filter you out.

</comment><comment><USER119> Honestly when hiring I think the exact opposite : I would only look to side or open source projects for an inexperienced candidate who would have no other way to demonstrate competence and a track record. In the case of a candidate with more experience, their having a body of work outside of their paid employment would be perhaps interesting and something to drive a discussion with them but it would also make me wonder if they were engaged in their day job.

</comment><comment><USER120> Sounds like you've found a good weed-out criteria for a hiring company that isn't a good match for you!

</comment><comment><USER121> I don't understand you could get a job at a boutique app developer without a portfolio of work to show off.

</comment><comment><USER122> I don't like the implicit assumption that only a person who's passionate about programming (and [nothing:little+1] else) can be a very good programmer.

I own the book "Pragmatic Programmer", a widely respected book about general programming principles. The bit about its authors:

"Andy Hunt is an avid woodworker and musician, but, curiously, he is more in demand as a consultant. He has worked in telecommunications, banking, financial services, and utilities, as well as in more exotic fields, such as medical imaging, graphic arts, and Internet services. (...)"

"Dave Thomas likes to fly single-engine airplanes and pays for his habit by finding elegant solutions to difficult problems, consulting in areas as diverse as aerospace, banking, financial services, telecommunications, travel and transport, and the Internet.(...)"

Isn't tunnel vision focus on programming a bit limiting ? What about a different perspective provided by different experiences and skills ?

 _A fox knows many things, but a hedgehog one important thing_ \- attributed to Archilochus

"(Isaiah) Berlin expands upon this idea to divide writers and thinkers into two categories: hedgehogs, who view the world through the lens of a single defining idea (examples given include Plato, Lucretius, Dante Alighieri, Blaise Pascal, Georg Wilhelm Friedrich Hegel, Fyodor Dostoyevsky, Friedrich Nietzsche, Henrik Ibsen, Marcel Proust and Fernand Braudel), and foxes, who draw on a wide variety of experiences and for whom the world cannot be boiled down to a single idea (examples given include Herodotus, Aristotle, Desiderius Erasmus, William Shakespeare, Michel de Montaigne, Molière, Johann Wolfgang Goethe, Aleksandr Pushkin, Honoré de Balzac, James Joyce and Philip Warren Anderson" (Wikipedia)

I think modern society and job market places too big an emphasis on hedgehogs. While backend programming is my profession, I feel more of a fox than a hedgehog. It works well for hobbies, but not really for jobs as currently available. For example ladies tend to compliment me I have a nice voice. I also like books, fantasy and science fiction, and prefer short stories to novels. So I can connect the dots and... record some audio books. I look for old short stories no longer covered by copyright, and intend to record them as "audiobooks". For instance about a village fool who became a werewolf. Another example: I like animals, I'm precise, patient and have an analytical mind. Anwer: Origami. Another example: I can't draw much (I really tried with Gimp and some hand drawing... admittedly, without a good teacher), but I'm somehow attracted to visual arts. As mentioned, I'm analytical, and I'm not too bad at math. Answer: Vector graphics, .svg, Inkscape, writing images in vim. It takes some introspection and observation, but you can figure out what new hobby would give you satisfaction. If you have many interests, try to think what they have in common, or how you could possibly connect them.

</comment><comment><USER123> Yes, that's why he'll get a job at a large and average software company, but not at a modern, small software company that still has to make a name for itself and has to rely on people living for code, having work life in their top 3 priorities being able to pull out the company out of closing down if needed.

Each their own.

</comment><comment><USER124> It's great you're a passionate person, but this article's tone and implication is saying that's enough, and that projects shouldn't be viewed as a just ask.

As a career professional and founder of a career related company, I have some news for you: you clearly have the time and passion to create, but _at nearly every chance_ when you have additional time, you're not putting it into programming.

Yes, you've found a job. That's great, but you would be experiencing more pay and a more accelerated career if you were spending 1/5th your free time on coding as well. If you want to blow glass, or draw, or write -- fantastic. But it's not wrong for a company to give the job to someone else, and...

BUILDING SIDE PROJECTS DOES NOT REQUIRE YOU TO BE IN THE TOP 1%.

More often than not, side projects are just a requirement. You don't have to love code like it's your calling to create a side project.

I recommend this to all software engineers: build side projects, and don't listen to this post as a calling to infer them as unjust.

Statistically speaking, building side projects is one of the best things you can do for your career.

<comment><USER125> Please don't use uppercase for emphasis: [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html).</comment></comment>


A New Photo Experience: Your Photos, Happier - <AUTHOR> http://blog.flickr.net/en/2010/06/23/a-new-photo-experience-your-photos-happier/ <comment><AUTHOR> 6 years of being the fastest growing photo sharing site while being terrible for actually _looking at photos_ proves that social features can be far more important than domain features.

Flickr was originally explicitly an MMO MUD with a photo-sharing feature in the chat, and it never stopped being an MMO when after they removed the MUD stuff.</comment>


Mozilla to crack down on add-ons that slow down Firefox - <AUTHOR> http://blog.mozilla.com/addons/2011/04/01/improving-add-on-performance/ <comment><USER2> Interestingly, the slowest-performing add-on they show is the well-respected and popular Firebug, which adds 75% to the start-up time. I expected to see some low-quality add-on at the top.

I don't think they're going to drop a banhammer on slow add-ons with Firebug at the top of the list.

More listed here: <https://addons.mozilla.org/en-US/firefox/performance/>

<comment><USER3> Firebug is well worth it, in my opinion. I installed FF4 recently and was happy to notice that Firebug was a lot faster. Unfortunately, either FF4 or Firebug is leaking memory like crazy. I'm talking 800MB in 20 minutes with only two tabs open debugging a simple local application. I had to go back to FF3.6. Hopefully they'll fix that soon.

<comment><USER4> The memory problem is pretty serious. I've been using the Memory Restart addon ([https://addons.mozilla.org/en-us/firefox/addon/memory- restar...](https://addons.mozilla.org/en-us/firefox/addon/memory-restart/)), which shows memory use in the bottom corner and lets you click to restart when it goes over a certain amount.

<comment><USER5> Wow. I leave FF open for weeks with many tabs on a netbook with 1GB of memory.

<comment><USER6> hmmm... I have to reboot daily - sometimes more than once a day - on an ASUS Eee 1GB running XP

</comment></comment></comment></comment></comment><comment><USER7> People in the comments need to realize the article, the shit list, etc all of that is about effects on START-UP time only.

Who cares about start-up time? My FF browser is ALWAYS open, it never closes.

<comment><USER8> I don't see many people failing to realise this.

Also I think most people close their browsers from time to time, even if most people on HN don't. (I've heard rumours that some people even turn their computers off at night.) These people care about start-up time.

<comment><USER9> Does the average person actually shut down to the point of doing a cold boot the next day? I have the impression most just tap the power button (which hibernates to disk by default), or else simply walk away and let this happen automatically.

<comment><USER10> As a quasi-average person regarding computer usage, I can tell you about the way that less tech-savvy people around me deal with their laptops, as I deal less and less with people with PCs: If it is an older model, it tends to be a matter of "hibernate until it runs so slowly that I have to restart." Other than that, there is always some hard-core believers that you really need to shut off completely every time you use it.

</comment></comment></comment></comment><comment><USER11> Chrome has the Task Manager tool which helps you track down tabs which are being resource hogs (CPU and RAM). I was curious if something like this existed in Firefox 4 or there was an extension for a feature like this? (I looked but couldn't find anything promising)

<comment><USER12> Totally agree, and even before Firefox gets any sort of strong tab isolation, I would love a readout that provides any sort of vague 'blame' for CPU/memory usage to individual tabs.

As FF runs for a long time with many tabs, I get longer and longer pauses doing simple tasks -- scrolling, switching tabs, popping the right-context menu, setting focus into a field, etc. Sometimes, this sluggishness seems linked to (and fixable by closing) a few tabs of the most Javascript-heavy sites (those with many ad inserts, background status polling, etc.). I'd hoped FF4 would help but it's just about as bad as 3.X. Generally restarting, even with the exact same tab set, helps (for a while).

Separate but similar, sometimes I'm doing nothing and no tab is visibly busy but Firefox is reported as using 50-100% (out of 200%) CPU time. Give me any proxy for tab activity (object allocations, timer callbacks, method- dispatching, whatever) and I can probably kill the miscreants.

</comment></comment><comment><USER13> Hopefully they'll start with FF4 itself - IME it's a lot slower at eg switching heavy-content tabs. I conjecture it's trading CPU for memory usage, I'd prefer the reverse.

It's also very slow at shutdown and startup. With my profile (including cache) encrypted, restarting the browser takes over 10 minutes. I see the CPU pegged and the Firefox process reading through the entire cache as it shuts down, and again on startup - CPU limited by lsass, the process in Windows that runs EFS operations in user mode, but single threaded.

<comment><USER14> That would indeed be a bug. Filed: <https://bugzilla.mozilla.org/show_bug.cgi?id=647479>

<comment><USER13> I voted for it.

I had reported feedback to "support" - <http://support.mozilla.com/my/questions/802844> \- but it seems a bit of a black hole. I've had occasion to measure it more precisely since, it really is on the order of 10 rather than 5 minutes.

</comment></comment></comment><comment><USER15> I don't understand why they can't give us a profiler that shows memory consumed by add-on and start up time by add-on . This shouldn't be difficult. Then everybody can see where the problems are.

<comment><USER14> Breaking down memory usage by add-on is very difficult. Objects in Firefox's heap don't track the ownership of the module that created them.

This should be fixed to some extent by out-of-process Jetpacks.

</comment></comment><comment><USER16> Curation is the new Open.

<comment><USER17> Did you read the article or just the linkbait HN submission headline?

</comment></comment><comment><USER18> With [https://addons.mozilla.org/af/firefox/addon/configuration- ma...](https://addons.mozilla.org/af/firefox/addon/configuration-mania-4420/) we can configure hidden features of Firefox

</comment><comment><USER19> How about addons that eat tons of memory? My Firefox still periodically OOMs and crashes, despite the update to 4, but it's impossible to see which addons are responsible.

</comment><comment><USER20> If they're finally throwing out Flash, that could really improve the internet. We'll take our HTML5 video now, please.

<comment><USER21> Flash is a Firefox plugin made by Adobe, not Mozilla. It's not installed by default, it's added when you install Flash on your computer. If you want it off, just uninstall Flash from your computer or type "about:addons" into your address bar and disable the Flash plugin yourself.

This article is about extensions, not plugins. The names are confusing, but they're not the same thing. <https://developer.mozilla.org/en/Plugins>

<comment><USER7> Actually the article is about add-ons, which according to FF terminology include extensions, themes, and plugins.

Of course there's not a chance that Mozilla will stop supporting Flash in its browsers, but I thought it was a funny comment on the performance of HTML5 video/interactive content vs Flash.

<comment><USER22> Mozilla _doesn't_ support Flash in its browser -- Adobe does. Anyone can write a plug-in for Firefox.

</comment></comment></comment></comment><comment><USER23> Work on Core now, Core later and Core last. That's all. Ps, if you find firefly too big, try Dragonfly. It's here <http://www.opera.com/dragonfly/></comment>