7 ms·
Reading Candidates’ GitHub Profiles
- mschuetz 6y ago"On the other hand, I find such code painful to look at." It also pains me to see the opening bracket in its own line. (Being from a field where I don't get to use C# or SQL, I don't understand what the author is referring to)
- deleted 6y ago[deleted]
- blackbear_ 6y agoCode is vulnerable to SQL injection. And yes the opening bracket on a new line hurts.
- imstate 6y agoThe opening bracket in a new line is very common for C/C++ and C#. Obviously Standards change, but that's what we learned when I went to school. The only thing that should matter with style is consistency.
- throwaway3neu94 6y agoAgree. It hasn't changed, it's still what Microsofts C# style guide recommends. https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/inside-a-program/coding-conventions https://docs.microsoft.com/en-us/dotnet/csharp/programming-g... It's also what VS Code autoformats even C++ to by default. Also I wonder if the other commenters reflexively saying "SQL injection" realize that is just the symptom; the underlying problem is that LINQ is not used. Even if the SQL injection was fixed, a literal SQL query is usually not the right tool in C#.
- znpy 6y agoIIRC some old unix book recommended splitting type declaration, prototype and body on different lines, like this: int myFunc(char *str, int strlen) { <body> } with the rationale being that grepping for ^myFunc (or searching for it in vi) would have found the function declaration immediately. Not sure I like that, anyway.
- deleted 6y ago[deleted]
- dataflow 6y agoRe: braces on their own lines, one practical advantage of doing so (leaving aside subjective anesthetics like symmetry) is that source control (at least got) will be able to automatically distinguish and merge changes to the header and the body independently, since they're no longer adjacent.
- Smaug123 6y agoEven if the ID variable is an integer (and therefore you're immune to injection), it's still inefficient. If you use the command "select * from Customer where ID=@id" and you set ID as a parameter instead, then caching can happen behind the scenes ("prepared statements"). See the justifications at https://www.npgsql.org/doc/basic-usage.html#parameters https://www.npgsql.org/doc/basic-usage.html#parameters, for example. My experience is only with Postgres, but I imagine they translate.
- ubercow13 6y ago>A small tip, if you expect people to visit your profile (and I assume you do, since you provided the link in the resume), it is worth it to put a (professional) picture of yourself there. The profiler readme on GitHub is also surprising attractive when looking at a candidate. No thanks, my personal Github is not a LinkedIn profile.
- skhg 6y agoIf it’s listed on your CV, then that’s for me to judge.
- mden 6y agoSure but why do you care about the person having a picture... It's Github, look at the code, it's what it's there for.
- skhg 6y agoGitHub is there so you can present your code to the world in an organised, documented, and personalised way. Part of that includes a short bio and profile pic. I don’t expect a professionally framed headshot with nice lighting, just upload something that’s not the default, to set yourself slightly apart from the crowd.
- pmiller2 6y agoSome of us don't like having our photo out there on the internets for privacy reasons. How about a headshot of my dog instead?
- deleted 6y ago[deleted]
- ubercow13 6y agoPeople put Github on their CV because employers like candidates who are interested enough in programming to do it in their spare time (for better or worse). My Github is my personal tool to interact with the open source community for practical purposes and to host my own projects, not a professional profile built to impress you. I just put it on my CV for your interest. Not everything I mention on my CV is done solely in service of getting my next job. >GitHub is there so you can present your code to the world in an organised, documented, and personalised way Not really, it is not a portfolio. It is a tool for programming and collaboration.
- benburton 6y agoHiring for a junior dev position, and being disappointed seeing a Github repository filled with homework assignments? Ok.
- ykevinator 6y agoYeah a little a snobby
- mjfl 6y agoWhen I was an undergrad I would post all my homework assignments on Github, but I later learned this was a mistake when I interviewed at Apple and a few of their engineers went over my homework code with a fine tooth comb and found a memory leak in one of my OS assignments. Reporting this to me, they asked me "why did you code this memory leak?". I didn't get the job. Now I have removed all this from my github. Unfortunately it's one of those things where "everything you say can and will be used against you".
- znpy 6y ago> Unfortunately it's one of those things where "everything you say can and will be used against you". Indeed. It kinda takes the fun out of programming. Sometimes you just don't bother with error-checking and with making code production-grade, because you just wanted to publish this small thing that other people might find useful. If people find it useful but find bugs, they might as well send pull-requests. And let's be honest: error checking is important and everything but it's quite a chore. Often in your toy project it's okay to be optimistic. And often the purpose for writing a project is to explore a topic, not to release a production grade project.
- quicklime 6y agoHow did you answer the question? I would hope that something like the following would've been an acceptable answer: > Oh, that was a learning project (or prototype code). If I were to write this code again, I would do $X ...where X is something like "use a unique ptr" or "assign ownership of this object to this other object instead".
- speedgoose 6y agoI don't believe any company without a big brand or insane salaries can really reject candidates because of bad Github profile pictures or bad code from years ago when the candidate was still a student.
- znpy 6y agoI have java code in my github from 2008, when I was in high school. I really hope I won't be judged on that. If anything, I don't even code for a living anymore (went into system administration/devops engineering).
- skhg 6y agoIt’s not unreasonable to expect a candidate to groom their public profile before using it as part of a job application. If they have some bad, old code they’re not proud of, why not make it private temporarily?
- picks_at_nits 6y agoLet me reframe this: You are the director of engineering. I am a manager reporting to you. You ask me to hire and lead a team to build X, which will generate $Y in revenue. But I tell you that everything is delayed, because I'm having trouble finding good hires. "What's the problem," you ask, "let's pair up and go through the funnel." And I reject resumes because I don't like the profile pictures or some old homework assignments. Do you accept my argument that the company has to wait on $Y in revenue until I find some candidates who have nicely formatted github profiles and a blemish-less history of code, even code not written for professional purposes? Or do you replace me with a manager who is focused on shipping a product using whatever team of misfits and uglies they can hire, provided they can actually do the job? --- It's not unreasonable to prefer that candidates make our job as hiring managers easier, but at the end of the day, the hopes and dreams of an entire organization rests upon our ability to hire people who can do the job. If our funnel is bursting with great people, we can disqualify unlucky people with little consequence. But for most companies, it's better to hire good engineers that have flaws in their presentation than to wait in the hopes that someone will present well, have the job skills, and be willing to accept the offer we can afford to make.
- master_yoda_1 6y ago“Making awesome pancakes” seriously. This is ugly and I would try to avoid working with a person like you.
- stakkur 6y agoone candidate just got bumped to the next stage based solely on the fact that in they had a “Making awesome pancakes” in the CV, which made me laugh. And there you have it--the hiring algorithm in a nutshell.
- goatinaboat 6y agoAnd there you have it--the hiring algorithm in a nutshell. These “quirky” decisions are the perfect cover for underlying reasons that the interviewer might not want to put in writing.
- deleted 6y ago[deleted]
- kthejoker2 6y agoOne step above throwing away half the resumes to avoid unlucky people.
- rubyist5eva 6y agoI wouldn't want to work for you either - so thanks for letting us know.
- dleslie 6y agoUnless you're competitively _desirable_ to work for then your hiring strategy should be something close to: _hire literally anyone you can afford_[0]. This industry too often overlooks the enormous value that can be harvested by training under-skilled hopefuls into fully productive team members. There's often an associated fear that, once trained, the individuals in question will jump ship for greener pastures. The answer to that problem should be obvious: be a green pasture. 0: http://arches.io/2016/01/hire-literally-anyone/ http://arches.io/2016/01/hire-literally-anyone/
- quicklime 6y agoBut do the "undesirable" places have enough senior engineers to train and mentor these under-skilled hopefuls?
- capableweb 6y agoYes. Most of us are not working towards society changed stuff can easily afford half hour a day and sometimes more on making another member of society productive and contribute to the economy. That you also get employees that are very grateful to the company for the initial chance is just a plus.
- RussianCow 6y agoI don't think this generalizes. If you're a larger, more established company, sure, but most startups and small businesses can't afford to spend significant engineering time not building features that customers pay for. For those companies, there is a ton of value to hiring someone experienced who is at least somewhat familiar with your stack.
- znpy 6y ago> This industry too often overlooks the enormous value that can be harvested by training under-skilled hopefuls into fully productive team members. I can vouch for this. I've personally seen young people with interest and little formal professional experience get up to speed and become great professional.
- snicksnak 6y ago> A small tip, if you expect people to visit your profile (and I assume you do, since you provided the link in the resume), it is worth it to put a (professional) picture of yourself there. How about no.
- ironmagma 6y agoWhy no? It's at least worth to add something, even if it's a photo of a walrus. Pretty much anything to show you give a crap about the page is good.
- hankchinaski 6y agounless being a core contributor to a top project there is virtually no benefit in including your gh profile in resume. for a matter of fact, during a period of general online housekeeping, i have deleted my personal gh account. i now use my work one when needed, and never include it in my cv.
- skhg 6y agoHobby projects can show a diversity of interests that might be hard to compress into a short CV.
- itsdrewmiller 6y agoI don't think this is true at all, though it may depend on what jobs you are seeking. When I look at github profiles I assume they are going to be forks and garbage, which is fine - the person still at least knows github exists and probably has some concept of the point of source control. But when I see a project with an actual purpose that they wrote, or some commit history to a project they forked, that is a big plus! That is strong evidence that the candidate has a passion for programming.
- ro_bit 6y agoThis feels like a lot of noise. If we can't use our github profiles to show code that isn't meant for production, and we're applying to junior roles for people with less experience (and presumably few, if any, examples of production-ready code), what's left to publish? Should I unlink my github from my resume because it might detract from it?
- deleted 6y ago[deleted]
- bhaney 6y agoI really don't understand what would possess someone to publish something like this. It's one thing to decide that your own company has such little value to you that you'd prefer to damage it by hiring people based on random arbitrary criteria rather than by how well you think they can perform the job. It's another thing entirely to actually decide to publish such idiocy, and tie it to you and your company's image. When hiring for a junior position, you can probably get away with applicants knowing that you're using nonsense criteria. They likely don't care, don't know any better, or have no other options. But some day you're going to want to hire a senior developer, and they're going to do research on your company, and see that your hiring practices are so bad that you let CV-jokes and the presence of profile pictures affect your rankings, and they are going to rightfully identify those as red flags and go elsewhere. I'm also sure many people take special issue with the author's desire for a picture of the applicant on their Github profile, considering how often that kind of thing represents a source of bias in hiring. No, your company should not be encouraging applicants to reveal their race, gender, and physical attractiveness at the time of application so the author can factor those things into his hiring decisions.
- dleslie 6y ago> I really don't understand what would possess someone to publish something like this. They're enjoying pointing out both how intelligent and experienced they are, and how discriminating they are. This is pure social grandstanding to seek pleasure.
- returningfory2 6y agoIn my last job (small company, probably not unlike the company here) I was involved in interviewing for a junior developer role. Most resumes contained a GitHub link. But what was most fascinating to me was that these GitHub accounts were largely inactive. It's not hard to see this: the contributions/calendar feature let's you see at glance how much they've used GitHub, and it's basically the first thing you see when you open a profile. I literally clicked on GitHub links from resumes where the applicant had not used GitHub in the last 365 days.