12 ms·
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 whit
by warcher 9y ago
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.
- kelnos 9y agoYou're espousing a false dichotomy. The options in evaluating a candidate aren't merely "give them whiteboard coding problems" or "examine their side projects". Give them a take-home assignment. Give them an in-person assignment where they have several hours to complete a smallish design-and-build task. There are a lot more options, and I'm getting tired of people claiming they don't know how to evaluate technical candidates when it seems like people are just saying "whiteboarding is a bad test" and throwing up their hands and giving up. Sure, you can use side projects to complement other data, but if you're relying on it as the primary measure of a candidate's programming skill, you're doing it wrong.
- icebraining 9y agoThis seems like a weird position to take from the employee's side. I'd much rather work a few hours on my own schedule and on projects I choose and that I can then show to multiple companies, than to have to write multiple custom hours-long projects for each company on a fixed day.
- deleted 9y ago[deleted]
- bad_user 9y agoGiving a candidate a "take-home assignment" is actually the most disrespectful of the options listed. Unless you're an awesome company, with really cool projects and offering me a jaw dropping salary and benefits, then no, I'm not going to do free work for you. Even if you are an awesome company, people probably have to actually work for you to see that, so no, I'm not going to do free work for you. I'd rather spend those hours doing work that I expose on GitHub. > in-person assignment where they have several hours to complete a smallish design-and-build task That's another proxy that's as useful (or as useless) as a coding exercise.
- calibration263 9y ago> I'm not going to do free work for you Our industry could follow after the restaurant industry and implement stages/trialing. You come in and work a full day. If you get the job that days pay shows up on your first paycheck, if not they send you out the door with a check.
- dmoy 9y agoThat does not work for anyone who currently has a job, unless your current employer has extremely lax moonlighting policies.
- delphinius81 9y agoTrue, but a paid short-term contract to do an actual task for the company would work. Knock out a small feature during the night/weekend. Keep it something contained and relatively straight-forward. If they can get it done, it demonstrates the candidate's ability to parse your codebase (so they are learning something they'd need for the job anyway) and they have contributed. I think most companies just don't want to take the time to set this kind of thing up. Easier to just pass on people that won't do the requisite song and dance.
- pm90 9y agoIts a good idea but speaking as a non-citizen on a work Visa such kind of work would technically be illegal for me to do.
- pm90 9y agoI would say take-home assignments complimented with an assurance of an in-person interview is the trade-off that I'm willing to make. I recently interviewed with a company that gave me one and told me that my solution would be the basis for the final onsite interview, which made a lot of sense to me. After I submitted my solution though, the company came back to me and said that they had received a lot of submissions and would not move forward with my candidacy. This made me intensely angry as I had spent an entire evening coding up the solution. To add insult to injury, they even asked me to remove the solution from Github where I had posted it (I had not posted the question so it wouldn't really make sense to someone just glancing at it). At that point I stopped all communication with said company.
- marksellers 9y agoYeah, it's not ethical to give those out without basically already having committed to interviewing the candidate.
- eropple 9y agoOn 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.
- bad_user 9y agoI don't share your experience and my guess is that you're not advertising your projects enough. If you have projects that you're proud of — mention them on your website, on your Twitter's bio, on your LinkedIn profile, mention them everywhere. Even better, once per year go to a conference and talk about those projects in front of an audience, such that you can then have videos on YouTube too. We like building things and there's absolutely no shame in marketing ourselves or in talking about the things we've built.
- eropple 9y agoI think maybe there's a miscommunication here. Of course I've had conversations about my projects. Of course I've discussed them at length and in public spaces. Prospective employers have never asked. And, yes, it's clearly highlighted on my resume and my LinkedIn profile, with an entire section of my resume calling out interesting and high-quality projects. Employers do not care. Other people? Sure. Employers? No.
- GoToRO 9y agoThere are also employers that downplay your achievements just to have a reason to offer you less money. The decision to hire you was already made and they advanced to salary negotiation but without telling you. You just have to know your real market value, how good are you compared to others.
- zachwill 9y agoI agree 100% with this viewpoint. I would much rather sit down with a potential hire and go over some scripts and projects they've written than go to the whiteboard. I don't care how big the project is, I think it's just much more pragmatic to share ideas and stories over code than algorithmic gotcha questions.
- walshemj 9y agoDude as a Dude who knows a little about employment law all your work code belongs to your employer.
- DarronWyke 9y agoYep. I've built quite a few useful shell scripts over the years for various employer tasks or demands. Only one of those have I taken with me, which was a quick 5-minute job to figure out what was causing a system to crash in absence of a significant monitoring solution that could give minute-by-minute specs. At my last gig I spent a few days writing and troubleshooting a script that would perform automated tasks for setting up servers for DBAs given their specs and demands. Easily one of my most shining examples of making bash work for me. It's back with the employer since it's their property.
- warcher 9y agoSure, sure. And if you followed the letter of the law I’m sure you deleted it all from your laptop promptly and is unavailable to you no matter what. But if you didn’t, for whatever reason, and you happen to have an illegal copy of some production CRUD app hanging around so I can look at how you organize your thoughts, nobody I’ve interviewed has ever gotten even a whiff of heat for letting me look over their shoulder and see how they wrote their schema. I don’t want a digital copy and I could give a shit about your illegally retained IP (and there’s a whole lot of it floating around). I want to know what you name your variables. The best way forward is absolutely some open source code, folks clean up better in public and you don’t have to make apologies for things that weren’t your fault. But this smells like folks just wanting me to take their word, and it ain’t gonna happen. I’m flexible, but when in doubt I choose ‘no’. If the next guy can prove it and you can’t, hey, plenty of fish in the sea.
- rco8786 9y agoYou start off relationships with potential new subordinates by asking them to break the law in order to demonstrate their value to you? Wtf man.
- 9y ago
- carlisle_ 9y agoIf you want people to show up with code why aren't you asking them to take home something and show you their solution in the interview, working through it step by step?
- warcher 9y agoI guess I see that as disrespectful of their time, but I could probably work something like that out. I run a small shop. I am allowed to use my good judgment.
- tiggybear 9y agoI think the expectation that I have random projects that I'm passionate about to be more disrespectful of my time. I have to compete against an unknown, I don't know what the other people interviewing will be doing for their projects so I have to try and make it more impressive than projects I don't even know about. It's much less stressful and takes much less time to give me a basic to intermediate coding problem to solve on my own with a pre-set number of days/hours to work on it.
- delphinius81 9y agoI think many of the people on HN that say they won't do a take-home assignment would actually do a 30-60 minute take-home assignment if it meant avoiding the "code some algorithm on a whiteboard while the interviewer glares at you" situation. Then on the on-site, you can focus on the design/behavioral type things appropriate to the role's level of seniority. Also, if you give the same assignment to multiple candidates, you'll get a better sense of how people use different approaches to solving a problem. You can still use discussions around side-projects to complement the process, but having a standard approach for all candidates is helpful.
- ryandrake 9y ago> I think many of the people on HN that say they won't do a take-home assignment would actually do a 30-60 minute take-home assignment if it meant avoiding the "code some algorithm on a whiteboard while the interviewer glares at you" situation. Except it never means this. It's always "and" and not "instead of". Many companies do these irritating programming challenges now, and then when you pass them, will still bring you in for the standard Whiteboard Hazing sessions.
- pjmlp 9y agoLikewise the companies that think they are more important than my private life are not worthwhile for me to apply. If the HR isn't able to evaluate my skills from my references and the projects I helped my employers and customers to earn, there are also lots of companies to apply for. Just like employees, companies aren't special snowflakes. Besides most of my github stuff is useless for my type of work, because I am forbidden by contracts to publish anything related to our projects.
- pm90 9y agoI don't understand the haughty attitude with which many companies treat potential candidates. And there are some truly terrible ones out there. Its worked well for me since I wouldn't want to work in a place that treats potential future employees that way. But in most big orgs, HR and hiring is somewhat divorced from the actual day to day so I keep that in mind as well.
- freshhawk 9y agoI feel the same whenever I have this discussion. The "Look man, I have a life and I don't want to do extra unpaid work just to get a job" attitude is misunderstanding the motivations (to be fair, there are some situations where they are not). I look at what people do outside of work that isn't writing code. Having something means you are probably healthier, less likely to be burned out and more likely to have experiences that let you better understand what solves real customer/client/user problems. I don't want to hire someone who only writes code, they aren't as good at solving problems. Now I have to know if you can actually code. The best way to do that is to look at some code you've written. That's basically the extent of it. I'll do some extra work to come up with a take home project if I have to but if there is a great candidate already, and they have a github with good code in it ... I have to manage my time and I'm often chasing them when hiring, not the other way around. Open sourced code on Github is just the most common way to do that, and it does get bonus points for having examples of dealing with actual users in issues and involves giving back to the open source community that you almost certainly take from. But honestly, I really just want to see some actual working useful code you wrote.
- maxhallinan 9y ago> Having something means you are probably healthier, less likely to be burned out and more likely to have experiences that let you better understand what solves real customer/client/user problems. I didn't learn to write code until my late twenties. I have a fine arts degree. My early and mid twenties were focused on activities unrelated to technology. I have a reasonably large amount of life experience unrelated to programming. I haven't found that this experience gives me an edge in solving problems in my job as a programmer. Can you provide concrete examples that demonstrate this idea that people who code less outside of work are more effective problem solvers? I've seen this truism floating around quite a bit lately but have yet to see it demonstrated.
- gxs 9y agoThe reason you have a hard time with it is because often the skills acquired through disciplines in the arts are less tangible then something technical. If nothing else, you might be more interesting to work with, have a clearer communication style, better taste in evaluating what "looks good", etc. etc. These aren't a substitute for skill, but past a certain skill threshold other things start play more significant roles. Edit: I really don't understand this pattern of down voting comments without offering a rebuttal of any kind. What exactly about this comment was against HN guidelines? Last time I checked, disagreeing with a comment wasn't grounds for down voting.
- dba7dba 9y ago> 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. So WHAT weeks long safari do you go on for your company? Product management? Raising fund? Sales?
- warcher 9y agoOn boarding. Training. Professional development. Pair programming. It’s much more cost effective to invest in your existing people. That’s one thing I never skimp on.
- deleted 9y ago[deleted]
- rco8786 9y ago> unmaintainable junk Isn't that what pretty much every side project is anyway? Unless you're an active OSS developer the chances of any of your projects being worthy of judgment is pretty slim. I've got 10-12 repos on github I can show you...they're all half baked weekend projects that I did just to tinker with some new technology or idea I had. None of them are production quality, and most of them I'm appalled at anytime I go back and look.
- warcher 9y agoA lot of programming is real grimy and there’s a lot of skeletons in every closet. Par for the course. I’ve seen it all. The code isn’t the code, it’s a conversation we have about how you think. So many people dragging me in this thread think it’s about the code. It is not. I’m interested in the person. The code is just an artifact and a conversation piece.
- rco8786 9y agoThen certainly it’s replaceable, no? Could just as easily say it’s not about the whiteboard, the whiteboard is an artifact and a conversation piece.
- warcher 9y agoMost assuredly. But what are we talking about on a whiteboard? Not the things that I personally am interested in, or the things in my opinion most important to the success of a project. Honestly the code review isn’t for the obvious rock stars. Anybody can pick them out. It’s for the sleepers who might not get a fair shake but who can deliver.
- convolvatron 9y agonone of my private doodles have gone through design review, actual testing, user feedback, deployment, and the 500 (or 1000 or 5000) closed bugs it takes to make them representative of professional work. neither does that 1 wk coding exercise you made me do unpaid which I'm pretty resentful of. If you have an open source project and want me to fix a couple bugs and do some reviews to see what kind of work I do, thats pretty fair (Rethink asked me to do this, I couldn't afford the time, but I thought it was a good plan) Otherwise, I really don't know what you expect to learn
- ifhd 9y agoI work on internal tools for a major company. You can't see them, some I probably shouldn't even tell you about. When I get home I play video games and watch tv and play with my dog. sometimes I'll screw around with a new language or something else. I don't post stuff on github and keep a blog or anything else like that. I think your view is pretty myopic. Ask me to talk for 30 minutes about one of my projects and force me to answer some tough questions about it. whiteboard some designs. Maybe I should just hire some guys off a freelance site to write me some side projects.
- warcher 9y agoThis will sound flippant, but you can’t win them all. There are hordes of false negatives in any hiring process, anyplace. My process is more accurate IMHO but it’s indisputably more work and it does not scale at all. Ultimately everybody is going to beef with any criteria they don’t align well with and I have to remain flexible enough to not throw the baby out with the bath water. I don’t mind getting drug a little on HN— I have a good team, and their open source contributions might not be as impressive as you assume.
- rhizome 9y agoYou work at a major company, you have some different quality signals available to you that can obviate all of this.
- 59nadir 9y ago> When I get home I play video games and watch tv and play with my dog. sometimes I'll screw around with a new language or something else. I don't post stuff on github and keep a blog or anything else like that. Presumably you also don't think people should stop thinking side projects and public code is important in hiring. You've made a choice to not have these things and asking the world to change one of the few sane things in hiring because you just don't fit the mold is a whole other story than just accepting that this is something you lack that could potentially sway an employer. As another comment said: You can't win 'em all. By chance, I happened to have a pretty productive few years on GitHub and having no degree I still managed to land the first job I went to interview for, in part because of my GitHub profile. Am I "for" the current situation because it benefited me at the time? No, because I think it's a clearer indicator that a colleague won't be a nightmare to work with than a degree or if he can implement the correct data structure on a whiteboard.
- Pica_soO 9y agoEh, the Duds can fork github projects too, add some minor feature and release the "project" to rot. You do not get to see people who get stuff done- you get to see people who optimized their "work"-life for the impression of getting stuff done. Not beeing ready to pour unreasonable hours in- actually is a good sign. Such a person values his/her time- and thus will think on there own, for example when handed ridiculous feature requests. Such a person will stand up to me, and ask questions that might save month of development time sunk into unnecessary work. Sorry, but we are not building the pyramids here. We are making software- and for that a lazy-loading brain with a clever work-avoidance Algorithm, in a un-passionate mercenary can be very effective as a development tool.
- always_good 9y ago> the Duds can fork github projects too Sounds like a boogeyman. Since you can see right there in Github's UI that something is a fork and that they are not the main contributor to the project, the dishonest applicant would have to go through some trouble to fake it as a sideproject. The same dishonest person can also just lie about their work history.
- rhizome 9y agoEh, abandoned forks will just have all "6 years ago" under the updated column. It's not a good look as I see it, but it's not hidden.
- deleted 9y ago[deleted]
- deleted 9y ago[deleted]
- yowlingcat 9y agoIf you hire explicitly based on code with no way to gauge ability to collaborate with others, design, or probe business requirements, I really wonder how strong your team is and how competent you are as a manager.
- vonnik 9y agoI think the author is confusing the search for passion with the search for better information. If you can’t share code from past and current employers, and you don’t believe that your quick and dirty solution during the interview represents your best work, then a side project that shows a little carefully crafted code is one way to give a potential employer better information. And better information derisks hiring decisions. With perfect information, hiring decisiInd make themselves. It’s perfectly fine to prefer art projects to side projects in code, as long as you also accept the informational disadvantage and its repercussions.
- nanodano 9y agoEveryone is responsible for showcasing their skills and selling themselves. People who refuse to do that are only hurting themselves.
- onion2k 9y agoPeople who refuse to do that are only hurting themselves. If an employer passes on candidate for the wrong reason then the employer is hurt as well. A good hiring process shouldn't rule out people for reasons that aren't related to their capability to do what they'll need to do in the job, and very few jobs require a good github profile. It's a useful proxy for development ability and passion, but that's all. You can be an awesome developer and never touch Github.
- jordanpg 9y agoThere seems to be a weird inversion in the minds of many commenters here: that they are somehow entitled to dictate the terms under which they are selected to work somewhere. Isn't the point that if you want the job, you do whatever it takes? Why are we not celebrating the fact that we work in a kind of meritocracy where it really is possible to showcase your skills without any credentials or reference to your past? All of this bloviating about "wasted time" in the context of demonstrating skills reeks of bitterness from lost opportunities to me.
- deleted 9y ago[deleted]
- adamqureshi 9y agoOur client always ask for code samples. Code samples we use from projects. When we hire a dev. The dev needs to at least have a github and "some" code samples. its what the client wants ( i know ignorant but here me out)We work with the project owner, who's boss ( signs the check) applies pressure on him ( blames him really) for any fuck ups in code / app failures) Meanwhile the boss changes the app features on a daily basis. So the PM does not know any better since he has to have the code approved from another teach lead. So if you want to make money you have to provide ( proof of work / code) which may take the form of a side project ( demonstrates your not in it for the money without passion) I don't know, just my experience with hiring a dev.
- mrtree 9y agoM-o-r-o-n
- WWKong 9y agoSure. But you seem to be approaching interviews as a one way street like, "I hold this thing here which I will give it to you if I deem you worthy". That is not how things work these days in tech, especially in hot markets. If you are not willing to carve out time there are plenty others who will. Sorry dude, just the reality of the rare market situation where the power is balanced between companies and talent.
- ratsimihah 9y agoI agree and would like to emphasize all of your points. It's somewhat ridiculous not to hire someone because she has no line of code to show, as there are plenty other ways to poke at their knowledge. But I'm bewildered that this person has zero line of code to show. The only case I could think of where that makes sense to me is that the developer is still in college. Imo even recent grads generally have something to show off for what it's worth. You don't even need to be hacking every night and week-end for that to happen. If you're a minimum into what you do, chances are you put at least a night or week-end aside to hack together something. Personally, I'm far from behind a great developer, but you can find loads of "unmaintainable junk" in my GitHub (github.com/hery). And as many pointed out, when you're prolific, you tend to accidentally produce valuable things, and I do have some decent projects in there that I explicitly pointed out in the process of interviews, which helped me skip technical challenges or interviews straight to offers. A bit extreme huh? Most developers have a life and hobbies outside of coding, and I believe it holds even truer for the best developers. But with decent priorities, it's easy to invest some time in hacking side-projects. Otherwise it feels like you're putting 99% into other hobbies, and 1% into coding, i.e. you're just doing it to make money. Balance is key.
- coldtea 9y ago>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. So, are architects and engineers expected to have built side-houses, and side-bridges, and side-cars?
- deleted 9y ago[deleted]
- rootlocus 9y agoArchitects and engineers can usually show you what they've done in the past. Software developers can't if they don't have side projects. Artists have portfolios. Why shouldn't software engineers?
- coldtea 9y agoBecause artists are usually sitting on their asses waiting for work, not already working 60 or 80 hours per week churning code.
- rootlocus 9y agoIf you're working 60 or 80 hours per week churning code, surely you have some code to show. </sarcasm> Really now, the fact that you can't showcase what you've done for your previous company is an implementation detail. Using a portfolio to judge a candidate is perfectly valid and works great with other industries. The reasons why you don't have one are your own concern. Like I said in other comments, interviewing is (for better or worse) a game / competition. You need to optimize for success.
- coldtea 9y ago>If you're working 60 or 80 hours per week churning code, surely you have some code to show. </sarcasm> Yeah, if you work for GNU or for countries were NDA is not a notion </sarcasm>.
- zoltaan 9y agoI have the feeling that the point was the simplistic and damagingly narrow screening process here not the criticism of screening as practice, quite the opposite. The side project request became so mechanistic that everyone can expect it but the reliability is questionable as the authenticity of the product is beyond validation. When people face something expected in a competitive situation then the really competitve - and unethical ones - will go to great lengths for raising their profile even through manufacturing reliable looking evidence (doing it continously, possibly plagiarizing), posing as excellent through acting. No good and easy - and cheap - screening process is available as the reliability of workforce is multidimensional beyond the human capacities to comprehend, also beyond the technical level. Over the years I had bright but unfit colleagues (damaging the team effort, jobhoppers, unsteady performance, cheaters) as well as average ones with grey personality carried the company on their backs. The real test of the bread is eating. They have to show in the particular environment if they are capable in that very specific situation or not. Side projects will tell nothing on this. Using it as a turning point is very ... to be polite, unwise. Still not questioning the need for first filters so the chance of wasted efforts is minimised by not nurturing someone inadequate into the precious environment for months in vain. But that first filter must be way broader than the topic of side projects.
- pc86 9y agoThe best piece of advice I got about hiring was that the interview is to find a reason to say no. Too many people want (expect?) the point to be to find a reason to say yes. For better or worse, some companies will use lack of OSS contributions or side projects as a reason to say no.
- pault 9y agoDo the side projects have to be domain specific? What if I were applying for a front end developer job and had some hobby projects doing GPU shaders or a toy database in C?
- flour_power 9y agoI'm sure you realize that it takes 6 months for the average person to become productive at a new job. If you can't factor that in to a new hire you're probably working at a typical coding sweatshop.