5 ms·
The difference between a programmer & a hacker
- abulman 15y agoI've occasionally taken to send out a 'nano' CV - with my contact details, a paragraph of text and 3 URLs. My Stackoverflow account, Github, and my tech blog. I've also been responsible for hiring developers over the last five years and if I saw something like that, and there was anything useful to see on those links, the person would be at the top of the shortlist. The only time I ever came close to it - I offered the guy a job within the first hour of meeting him. I've also worked with that guy again since then.
- Peroni 15y agoAbsolutely spot on. Any hiring manager will have at least a dozen CV's in his inbox. Nano CV's take seconds to read and you are instantly made aware of the candidates ability plus it also gives an excellent indication of confidence in said ability which is a crucial factor in finding good people.
- zalew 15y agoThere's a deep secret of HR most of us programmers don't know of or understand - CVs are often printed on paper and transfered to other desks by hand. While it'd be exciting for a nerd to receive, in a traditional HR dept such a 'nano-cv' or what you call it will quickly become a piece of garbage just as it hits the printer.
- Peroni 15y agoTo be fair, if you are applying to a HR contact, then traditional is the way to go. I'd only ever recommend the use of 'nano' CV's if you can directly contact the person who makes the final decision.
- zalew 15y agoLet's be honest: that only can work for small startups ran by young technical people or very small software houses where the 3-5 employees are in one room next to each other. In any company where there's even a slight hint of a corporate structure, you have to provide just what they are asking for or you'll be that dude who sent us a cv with no cv on it. //edit: Actually, now I remember I was that guy many years ago. I was applying for a programmer at the tech dept of a publisher. Sent a very short cv with some basic data and a link to portfolio. The head of IT (actually a clueless older dude on sweatshop wage) came with a print, took a look at it very disappointed and said "that's the shortest cv I've received". And there wasn't even a laptop around to check my portfolio while speaking. From what I saw there I didn't want to work for them anyway, but it still proves my point.
- kstenerud 15y agoDo a CV even if you're not applying to a HR contact. The CV has one purpose: To give the salient points of why you are the right person for the job. A good startup is absolutely swamped by resumes. The less I have to hunt around for info about you, the better (remember: I don't know you from crappy-developer-x. Make it easy for me to differentiate!). I want to know what skills you consider relevant to the job, and how proficient you are in them. I want to know where you've worked before, what you did, and for how long. I don't want a bunch of URLS I have to click through, then navigate a bunch of sites, only to discover that you're a web developer with no Objective-C experience applying for an iOS position. Once I have the essential info to decide that you at least have the basic skills for the job, THEN I want to see blogs, github accounts, etc.
- aangjie 15y agoOTOH, i have had phone screens, where the interviewer seemed to have no idea of what i have done or had asked questions that seem irrelevant if you visited some of the links in my profile. It's actually a weird feeling. if you ask me.
- spqr 15y agoIt's almost as if the people interviewing you had a full time job before you came along! Is it possible that you really aren't the most important thing in their world!?
- deleted 15y ago[deleted]
- earnubs 15y agoI'd just like to thank you for putting all the clueless recruiters out there into a frenzied word search for "Github". Yours, A Bitbucket User
- deleted 15y ago[deleted]
- Ziomislaw 15y agohe does mention nongithub possibilities, quote: "[...]GitHub account or at least a portfolio of personal work hosted on the candidates own website[...]" Though I certainly agree with you, people don't seem to notice any other hosting repositories.
- spqr 15y agoI love the tiny stats TFA spouts out and concludes with, "I've seen it all.". Oh you've been on 6 technical interviews, have you? Tell me more about your incredible wisdom. The advice offered is great for a new programmer. Anyone going for a truly senior level position would be better advised to not do what is advised.
- gwat 15y agoI always have a problem in mind while in college, and the problem becomes my real problem. If my day job requires me to work from 9am to 8pm, excluding 1 hour round trip commute, which is a norm in the city I am living in, how can I squeeze out time to maintain a meaningful github repo/ SO profile / tech blog? I really want to sharpen my skills AND display it, but my day job already take up literally half of my life.
- Peroni 15y agoI do understand your frustation and to be perfectly honest, I hear the same concern constantly. The fact is, if you're truly passionate about something, you'll find the time. I work a 60 hour week and I have a 2 year old boy and an impatient wife at home yet I find the time to dedicate at least a couple of hours a week to blogs, news, forums and so on and I can sincerely say that it doesn't have any significant impact on my precious family time. Keep in mind, a useful GitHub repo doesn't need to contain anything groundbreaking. Honestly, even a simple fizzbuzz application is enough to prove you can code.
- Natsu 15y agoIf you put it that way, someone will create a Github repo of nothing but fizzbuzzes in random languages like Erlang, Whitespace, Prolog, CoffeeScript, Intercal, Malboge, Perl, 0x10^c assembly, ...
- drunkpotato 15y agoI understand the frustration of trying to find talent in a sea of uselessness. (Not even mediocrity: I've interviewed candidates who could not explain a for loop, how to write one, or when to use one.) However, you are trying to take your version of passion and project it onto everyone else, and I think that is harmful. If gwat is working 9-8 and in love with their job, they are passionate and don't need a github to prove it. It's your phrase "truly passionate" that rubs me the wrong way, as did the content of the OP. Your definition of a True Hacker(tm) definitely does not match mine. Your post reminds me of a checklist for a recruiting fantasist's wet dream resume more than an explication of what makes hackers different, and I found it distasteful. As always, YMMV. I can only speak to how the post struck me.
- darthpanda 15y agoHow about I just plop one of my robots onto the table? Is that "hacker" enough for the hacker club? :P
- marcusf 15y ago"You can't fake passion" Honestly though, this gives a decent three step template for how to get yourself on the top of the pile in about ~1-5h worth of work: 1. Register a GitHub account, fork some projects that look cool 2. Register a domain, set up a yourname.github.com page for hosting, and add your contact info and link to github, whatever. Set up a mail redirector. 3. Upload your own project. If you don't have one, probably a good idea is to replicate some basic utility. How about pretty printing JSON using python from the command line? Bam! Passion, done. For extra credit, create a blog and write two-three posts on why Java is verbose, something on getting started with node.js on your machine and a benchmark of your json utility and another one. In all sincerity, when I look at candidates I also look hard for passion, and a blog, github, stackoverflow, etc puts them at the top of the pile. As a counter anecdote, I've worked with tons of really, really good developers who went home at five, and came in at nine, and brought it every day. For most of them, life happened and with two kids it's harder to be prolific or show resume-friendly passion. On the other hand, I doubt any of them will ever need to send in a resume anyway.
- MatthewPhillips 15y agoYour fake passionate guy knows that GitHub is a place to get noticed, can write a json parser in python, can understand the basics of node.js, and can articulate the strengths and weaknesses of Java verbosity. Fake or not, sounds hirable.
- jrabone 15y agoYour fake passionate guy knows that GitHub is a place to get noticed, can cut and paste a json parser in python, can follow a node.js tutorial, and can parrot the cool kids bitching about Java verbosity. Sounds pretty standard graduate fare, but can they solve an actual coding problem with me? I don't mind what language they use, and they can have any IDE from a pencil and paper to a modern autocompleting behemoth.
- yummyfajitas 15y agoPeople already do everything you said. It's pretty easy to spot. Just look for a bunch of forked projects with no commits by the person in question, a high ratio of forked to original projects, etc. The biggest giveaway is that there are no projects which are just for fun. Incidentally, I've observed that the "just for fun" projects is a good trick for identifying a serious economist as well. A real economist Tyler Cowen obsesses over the economics of finding good restaurants and whatever else tickles his fancy, whereas a pretender like Krugman is all serious policy issues (both examples of economists who's policy I tend to disagree with).
- jaimzob 15y ago"I will instantly disregard any CV that doesn't have reference to a GitHub account" Well bravo you. The problem with recruitment in our industry is not the candidates with no GitHub account, its the egomaniacal interviewers who waste no opportunity to turn any interview, in this case any application, into a passive-aggressive pissing contest. Perhaps its acceptable for an interview to be adversarial, but I don't think any other industry matches the tech industry for the utter hostility of the interview process.
- Peroni 15y agoI disagree. The problem you mention is certainly a problem but it's by no means the problem. My disregard of people who don't commit to their own projects is entirely a personal choice and I didn't intend on that point to be a direction.
- daly 15y agoWell, not quite. I read a recent post that said that people over 35 should find other things to do with their life. Mark Zuckerberg is quoted as saying that young people are just better. Japanese companies won't hire programmers over 35. The programming business has somehow become the new "fashion" industry. Everybody wants "ninja rock stars" (somewhat a contradiction in terms I think). As someone who is a programmer for 41 years, leads multiple open source projects, posts to github on a daily basis, and writes code every day I find this trend disturbing. I have interviewed for a job where I helped implement the compiler they use and I'm "not qualified for the job". People ask me why I'm not in management. I've turned down several "promotions" in companies because I live to program. Why would I move from the top of my skill set to the bottom of a career I know nothing about? So your advice is interesting but seems to have a target audience of recent graduates, not seasoned professionals. Look over your hiring record. I'm willing to bet that you have not hired anyone over 40, regardless of their github status.
- MatthewPhillips 15y agoPlease don't be so polite. If a company is discriminating against "older" programmers, please call them out by name so the rest of us know to avoid them.
- daly 15y agoThe exact phrase is "We don't think you will fit in to our culture". I won't name names for two reasons. First, I'd likely get a law suit. Second, the attitude is pervasive. Recent post-graduates doing first level "filter interviews" asking questions from their recent algorithms class. The process is optimized toward new graduates. "What's the average order of mergesort?" kind of nonsense. In 41 years of daily programming I've never had to code a sort routine. I have spoken to Tarjan about computing the order of the Rete algorithm but I don't think the Rete is covered in the college courses... and who ever heard of Tarjan anyway? Sadly, this means that we will continue to repeat the same mistakes "for the first time". Knuth's literate programming, Alan Kay's Meta insights, Chandy and Misra's parallel work, and other fundamental quality gains will have to wait for another generation, assuming that generation ever gets its chance. What I see are languages without standards "evolving". That is, they are making all old inventions but badly (e.g. Python has "closures" but only 1 liners. What a joke.) They "abstract away" complexity but badly (e.g. Ruby has gems but you have no idea what the ruby stack is really doing.). This is much different from Alan Kay's abstraction. To quote Stroustrop "C++11 is a whole new language!" And MapReduce as an "invention". Oh, please. The list goes on. The worst part is the stupid hiring games meme. Solve our puzzle! Take our quiz! Show us your blog! How many angels can dance on the head of a pin? Make sliding colored blocks on web pages! Experience is a valuable asset in most professions but is looked down upon in programming. Unless, of course, your experience is "exact"... "oh, we need an Oracle 10.3 database guru with stored procedure experience". If you want to know what companies to avoid... look for the ones that emphasize "culture'.
- jrabone 15y agoIncreasingly, I'm thinking that "show us your GitHub" is a good filter for companies or recruiters I don't care to work for or with, but then perhaps I'm not the target market; I've been doing this for a while, I'm not a shiny new graduate. When I've interviewed people in the past, I've had them do some coding or domain modelling / OO design exercise as a phone screen. On the other side, companies I've interviewed with have used coding exercises (live or on paper). I don't agree with the "if you're truly passionate" argument; challenge me in an interview and you'll find out how passionate I can be :) That doesn't extend to wasting my time with the latest recruiter fad. If I want your job, and if you want to see code, ask me to write you something. Pick a language, I'm not choosy; I'll tell you if it's one I know or if I'll need some extra time to learn it, and if I'm not interested in a job using $SCRIPTING_LANGUAGE_OF_THE_WEEK$ we can stop there.
- minhajuddin 15y agoThe companies which ask you for 'your github profile', really want to see your code. When, people are passionate, they do things outside work. This article on Feynman is relevant: http://www.physics.ohio-state.edu/~kilcup/262/feynman.html?repostindays=413 http://www.physics.ohio-state.edu/~kilcup/262/feynman.html?r... If you are passionate about football, do you play football? or atleast watch others play football? That's definitely not your work. Why do you do it then?
- jrabone 15y agoUm, no, they don't. They're desperately trying to find a proxy for "is a good hire" without spending a lot of time on it. GitHub is just the latest in a long line of such. I have some sympathy with them; recruiting is hard, vital to get "right", and susceptible to gaming by unscrupulous individuals. It's also hard to get rid of people once they're in (at least in the UK). However, this is WHY you have to spend a lot of time on it. There are no shortcuts. Adding another checkbox "Has GitHub account with code in it" to the process is futile. You know, it won't surprise me to see "faked" accounts with lots of (scripted) commits showing up. Easy to do. Or better, I'll sell you a convincing looking repository with some code and a cheat-sheet of what to say when asked about it at interview. Hey, cool new startup idea!
- viraptor 15y agoI don't mind giving bonus points for having a github account, but to take it as a bad sign? Actually no - good for us - we'll get all the interesting people stuck in jobs which don't allow own projects or make them hard to publish with useless bureaucracy.
- VolatileVoid 15y agoThis bothers me. I consider myself very passionate about programming - I think most people who know me would consider me to be a hacker. That said, I work for a company that does not allow its code to be open-sourced. The job is demanding and after I put in 60+ hours a week, I simply feel worn out. On top of that, I have an 8 month old son which means that my sleep is fragmented at the best of times. If you're unwilling to take the time to have a conversation with me to see my passion (and this is something I firmly believe comes across in any interview) then I am unwilling to waste my precious time with my son to have an inane dialog about my lack of a public portfolio.
- minhajuddin 15y agoI think what the OP is trying to convey is that, passionate people leave external residue of their passion. Which I think is true. Do you have anything (code, scripts, blogs) to show (stuff which you worked on) when you worked at a different place? On a different note, 60+ hours a week sounds too much, not sure when you started working on this job, but if you keep continuing that. You. Will. Burnout.
- VolatileVoid 15y agoBeen 7 years, been burned out for nearly 6. ;) And I've been here since I've graduated university in 2005. And to answer the next question: it's a bank. Every time I've contemplated leaving, there was some major life-changing event that prevented me from doing so (i.e. getting married, wife losing her job, buying a house, moving abroad, having a kid...). Likely I'm making some excuses here, but my point remains: I know a lot of hard-working hackers that simply don't have the time to build a decent GitHub profile. Those hackers - whom I work with - all read HN extensively to stay abreast of trends, and toy around with side-projects. But all that "side coding" happens whilst at work. And therein lies the problem. If you have ever worked as a programmer on Wall St. you won't need me to spell it out for you, but for those who haven't: your firm owns your intellectual property. Even if it's not related to the firm's business, if you do that work on the firm's premises, it is theirs, and you are not entitled to export it. If you try it is generally considered as grounds for termination.
- sparknlaunch12 15y agoAre there good candidates who don't have github etc? They must exist. How do you avoid missing them?
- r0s 15y agoI'm a junior level web developer in my first year at a salary job for such. I'm self taught and motivated, with a good CV and lots of completed projects under my belt. Now it's become obvious my work has a serious visibility problem. Still pulling less-than-average wages, I asked my employer for a performance review which resulted in above average praise. Naturally I'm curious about the difference between my work and a Real Developer. They explained that a a web developer is dedicated with more experience on real projects etc, but reading between the lines it seemed like a perception that I've yet to pay my dues with long hours spent in frustration testing on overdue deliverables. So I understand that resentment, who do I think I am to walk in and demand wages consummate with my output? This is a communication problem. My abilities might mirror my peers, but reputation is effecting my career directly. At this point I realize most of my work is invisible, patching broken websites and refactoring old code, deploying small changes etc. I need more visibility, I need to show off my skills and process more. I'm out of time and energy, my private projects at home are my own and I'd like to keep them private (for now). Now I'm working with my marketing person to setup a company development blog, hopefully that will give me more control over my image with this company.
- kstenerud 15y agoIt's never a good thing to feel unappreciated or underpaid. If your employer refuses to give you what you consider a fair wage, start looking elsewhere. Many employers tend to operate on inertia: Unless you're about to leave, it's easier to just ignore your problems. It's up to you to spur them into action, which it sounds like you've been doing to varying degrees, but if they still refuse to move, you have to kick it up a notch. Find a better offer from another company. If your current company truly values you, they will try to keep you on board. If not, you have a better offer anyway and will likely be valued more at the new place.
- eli_gottlieb 15y agowho do I think I am to walk in and demand wages consummate with my output? You're the one producing the output. Duh.
- jbrough 15y ago"...typical career programmer that doesn't touch a line of code between Friday night and Monday morning." do late-night and weekend commits to a Github Firewall account count? A pretty polarised view, here: we are all either 'career' 501 programmers, or disenchanted hackers? What of the guys who choose companies they're passionate about and which inspire them to find spare coding time after hours and during weekends? You know, the kind of role you don't need an opining recruiter to source on your behalf.
- aprogrammer901 15y agoI am a junior level developer and in both jobs that I have had since graduating, to the senior developers the term programmer refers to a professional software developer who takes pride in their work and does things correctly, while the term hacker can either mean someone who is attacking a system, or someone who comes up with kludge solutions to temporarily 'cover up' poor design decisions i.e. a 'hack'.
- ticktock 15y agoexactly - steve buckley's blog post uses the word "hacker" for shock value which reduces to spam for anyone who knows the difference between a hacker and a programmer.
- tablet 15y agoThere is one outstanding hacker in our company. He is one of the smartest people I've met. He knows so much and incredibly deep. However, he has no blog. He has no github account. He does not share own code anywhere. He does not use social networks. Your advices quite correct, but quite dangerous at the same time. I learned that CV are often misleading, so better to contact a person and ask some questions...
- computerslol 15y agoThe "every good hacker has a github account" sentiment is a bit scary to me. As far as I know, after signing my hiring contract, all of my work is owned by the company. Even work done at home; owned by the company. I do not believe this is unusual, every company I have worked for has had me sign a similar contract. If I make the perfect sandwich, the recipe is company property. I am not allowed to distribute company owned assets without the company's permission; and I am not going to ask the company for permission to share code they haven't seen on github. Even if I wasn't contractually restricted, I would not contribute to a github account. My spare time is spent working on research projects for my corporation's benefit. Many of these become real products. A few I've had patented. These make us real money; github does not. I hope I am not, in the future, disregarded for a job because I am missing a link to a github account in my resume.
- FreakLegion 15y ago"Programmer" is a profession. "Hacker" is a calling.
- hackinthebochs 15y agoThis is exactly the problem with hiring. No one can take their ego out of the equation. Every single one of these 'hiring hacks' stems from our deep-seated desire to see ourselves as one of the "10x programmers". So we look for the same thing on other people to validate ourselves. When we're in a position to hire, we hire people who match our own particular quirks, re-enforcing the idea that we're one of the best. All of these subjective hiring hacks mean absolutely bullocks.
- JamesLeonis 15y agoI see a lot of discussion over the Github comments. I understand the merits of having an account with some code on it, as well as the restrictions of corporations and time that prevent many people from maintaining a repository. However this is a red herring. The problem is visibility. The resume is very poor at showcasing your talents. All the common resume advice makes yours hard to differentiate from everybody else's. While having a website, Github, Bitbucket, or something else will help your case, you are already hobbled by the very generic-ness of the resume format. You can play with the fonts and format, but I've found that it's a fine balance between the "Pop" factor and annoying the reader. The other major problem with the resume is they are very low cost in terms of those applying. A unscrupulous candidate can send out hundreds of resumes to shotgun his chances at landing a job. The time it takes to vet out these is many times higher for the hiring party, and it is multiplied by the number of resumes to vet. Companies must then increase the cost of applying, either through coding tests or puzzles, but this paradoxically turns away candidates who might be qualified and don't have the time. This is especially true for small startups who have problems with visibility of their own. To me, the question isn't Github use or having a website, but how can I increase my visibility? Being physically present in front of people who are hiring is so ridiculously powerful, that most hires are made that way. Thus, obviously, meetups/networking/hackathons are a giant step in the right direction, but not everybody is in the correct neighborhood and can't casually attend. For those of us that aren't local, how can we disrupt the email->resume->round-file process that effectively dehumanizes most applicants? I am warming up to short video submissions because of their ability to show the personality and creativity of the individual behind all the credentials. It allows for both a quick introduction, as well as introducing a subtle time cost, on behalf of the applicant and it doesn't add significant (as far as I know) time to the hiring manager. On the other hand, maybe the hiring process is an NP-Hard problem.