TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: What do you look for in an applicant's GitHub?

59 点作者 bmpafa超过 7 年前
I&#x27;m a self-taught JavaScript guy &#x2F; solo-preneur &amp; have been thinking of seeking part-time &#x2F; contract work.<p>Skill-wise I consider myself (FWIW) between &#x27;mid-level&#x27; &amp; &#x27;experienced&#x27;, but having never worked professionally as a dev, I&#x27;m uncertain about hiring expectations, particularly wrt code samples. Most of my code is closed source, so I&#x27;m looking to build-out my public stuff.<p>When you review an applicant&#x27;s publicly available code, what&#x27;s important for you to see? My assumption is that reviewing a repo is akin to reviewing a portfolio &#x2F; resume (i.e., very quick), so how have applicants &quot;wow&#x27;d&quot; you in the past? (I mean short of obvious rockstar qualifications, like &#x27;React core developer,&#x27; etc.)

27 条评论

codingdave超过 7 年前
I don&#x27;t use github content as a criteria, at all. Not everyone uses github as a portfolio. Not everyone uses github at all. Some people just store stuff there, not worrying about the quality it may communicate to the world. Other people work primarily in private repositories, so their public data doesn&#x27;t tell you much. Someone could just have a bunch of forks of other people&#x27;s work, which they dabble with. And newer coders are often learning quickly, so their code from even a few months ago is not representative of the effort they would put in professionally if hired today.
评论 #16225096 未加载
评论 #16230275 未加载
评论 #16225143 未加载
评论 #16243985 未加载
rzimmerman超过 7 年前
Not everyone can post their work on GitHub, so I only look at their profile if they list it on their resume. I figure if you put it there, you want me to see it.<p>For early-career people (with limited work experience in the field) I look to see what tutorials they&#x27;ve done. I don&#x27;t expect high code quality, but active engagement instead of copy-paste is nice to see.<p>If they&#x27;ve contributed to any OSS projects I look at things like:<p>- How they interact with maintainers and other people<p>- The quality of their PRs if any<p>- How well they communicate issues and file bugs. Attitude<p>matters a lot (offering helpful ways to reproduce it and suggestions rather than attacking the project for faults)<p>If they have any of their own projects I look at code quality. I deal mostly with Python and it&#x27;s pretty easy to tell from a glance how experienced the person is. Things like following lint&#x2F;style and style guides but also readability in general. You can smell out a C&#x2F;JS programmer who just learned Python pretty easily (lots of for loops with indexes, for example).<p>If they collaborate on projects with others that&#x27;s a huge plus. I look for signs of active collaboration, like PRs with good code review.<p>Basically I want to make sure:<p>- They&#x27;re not exaggerating their experience (though GitHub profiles can be out of date)<p>- They work well with others<p>Again, just because a GitHub profile is sparse or missing some of these things isn&#x27;t a signal. Not everyone does their work on GitHub. But if you list it in your resume, expect me to read it.
评论 #16225324 未加载
botskonet超过 7 年前
I look for signs of understanding.<p>I want to see an understanding of git - they have repos with appropriate commits, good commit messages, awareness of licensing, decent READMEs or info for collaborators<p>I want to feel like they understand how open source works - they&#x27;ve filed or participated in issues&#x2F;discussions, they&#x27;ve starred&#x2F;forked repos, they&#x27;ve opened PRs, they&#x27;ve managed issues&#x2F;PRs on their own repos.<p>I want to see how they manage their projects&#x2F;repos. Do they use a package manager? Do they have linting or build tools? Do they use CI? Have they kept the repo clean and ready for others? Do they use automated testing?<p>I don&#x27;t expect to see <i>all</i> of this - but if someone has <i>none</i> of it, it&#x27;s clear they have a lot to learn and aren&#x27;t ready for the job.
评论 #16225415 未加载
makecheck超过 7 年前
For me, it would be signs of a sensible structure and use of commits. It is <i>extremely</i> offputting to see some obvious code dump, with like 2 commits in total (one of which is “fixd typo lol”), no real directory structure, etc.<p>A repository is an opportunity to show off how good you are at organizing a project, breaking down your commits, etc. Only after any of that looks promising, will I bother to read any code (after all, it takes time to understand something and the harder it is to grok the less likely I’ll spend the time).
评论 #16224860 未加载
评论 #16227339 未加载
评论 #16225554 未加载
segmondy超过 7 年前
As someone that has interviewed hundreds of people. Nothing unless they really want me to look at it.<p>As someone that still loves to code even tho I&#x27;m in management, I&#x27;ve found out that writing beautiful code get&#x27;s in the way of getting shit done!<p>When I code for myself, it&#x27;s either to explore or practice. Beautiful code is not the goal. If I&#x27;m exploring a new idea, then one thing I like to do is to make it happen as fast as possible by any means necessary. I don&#x27;t care about comment, duplication, abstraction, tests, optimization.<p>That&#x27;s what you will find in my github, I don&#x27;t do resume driven development where I write code hoping to get hired because of it.
cbzehner超过 7 年前
It depends on the person and my expectations for the role. The best people have everything, including jobs! So I make it a rule not to expect perfection, helps prevent disappointment.<p>When I&#x27;m evaluating candidates from a resume, if they have a link to a Github or personal website I&#x27;ll visit it about a fifth of the time. I&#x27;ll open up a couple repos and make note of what they look like.<p>Are they school projects? That&#x27;s fine but not necessarily indicative of anything since most academic code is write-once, run-once for an assignment.<p>Does it look like a personal project? Great! This is what I&#x27;m most interested in.<p>Is it easy to understand what the project is before reading the source code? README files and a clear directory structure&#x2F;file names can go a long way here.<p>If I look at the source code, how is the readability? Do they have good variable names (i.e. not a, b, c,..,z) and use the idioms of their programming language?<p>Bonus points for good comments. Triple word score if I can understand the code without comments.<p>I&#x27;ll go through a couple repos this way and use whichever one is best to inform my initial bias. I think it&#x27;s always a good idea to assume best intent when interviewing someone. I&#x27;ve had some people I wasn&#x27;t that excited about in an interview become my favorite coworkers over time.<p>PS - Here&#x27;s a project of mine I&#x27;d consider a &quot;good&quot; example. Mostly the number of unfinished {- TODO -} comments in src&#x2F;Lib.hs would hurt me here, were I evaluating myself. <a href="https:&#x2F;&#x2F;github.com&#x2F;cbzehner&#x2F;word-frequency" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;cbzehner&#x2F;word-frequency</a>
victorNicollet超过 7 年前
I want to be able to understand what the project is about, and get a high-level understanding of how it works.<p>Our hiring process starts with a phone interview and there&#x27;s a quick technical discussion (mostly there to avoid wasting time if the candidate&#x27;s skills obviously do not match what we need). A live coding exercise is hard to set up and takes a while to perform, if only because the candidate needs some time to understand the question and gather some elementary insights. So, instead, I ask the candidate to explain some code that they have written, and I expect them to be articulate and knowledgeable about it.<p>So I want to be able to find a commit or file that can serve as a basis for an in-depth discussion relevant to the kind of work that the position involves. If I&#x27;m hiring for web front-end, then client-side JavaScript will have to be involved. If I&#x27;m hiring for Big Data, then high-performance code, low-level code, or distributed&#x2F;parallel code will be good. If I&#x27;m hiring for Compiler Design, then a toy (or non-toy) compiler is nice.<p>I will tell the candidate ahead of time about the commit&#x2F;file that I find interesting (or even ask them for pointers to help me pick one). That way, if they join me on the phone interview and have no idea what their code is doing, that&#x27;s the end of the line.<p>I don&#x27;t really care about code quality. Obviously, if the code is so bad that it&#x27;s impossible to understand, that&#x27;s bad news, but most of the time the code is readable, it&#x27;s just missing comments, or has variables like `item2`, or functions that are too long, or other stuff that you would expect in an open source project. That&#x27;s fine, because it leads into two very powerful questions in this type of interview: &quot;Are you happy with the quality of this code?&quot; (the correct answer is &quot;no&quot;) and &quot;If you had a few weeks just to improve this project, what would you do ?&quot; (I expect insights about refactoring, or improving test coverage or even improving testing&#x2F;validation strategy, or adding comments).
vorpalhex超过 7 年前
Things that set off alarms:<p>+ Lots of unmodified forks or tutorials. A few is fine but too many is suspicious.<p>+ Tons of empty repos<p>Things I like:<p>+ Lots of messing with different projects even unsuccessful work<p>+ Side projects, even incomplete ones<p>+ A mix of languages&#x2F;designs&#x2F;idioms<p>Super awesome things:<p>+ OSS contributions<p>+ Working well with others<p>+ Good branching
评论 #16225091 未加载
jrowley超过 7 年前
Different projects have different needs certainly, but its nice to see a readme that gives me some context to what the project is, and how to actually run the code, install needed dependencies if it&#x27;s not obvious. Also probably worth acknowledging shortcomings or places for improvement in the readme, so your reader is aware that you&#x27;re aware of any deficiencies.
hnruss超过 7 年前
I occasionally interview candidates for a small software team (less than 10 developers). When evaluating a candidate&#x27;s GitHub account, I look for any non-forked projects (projects that they created&#x2F;own), then I look at the structure, code, documentation, and commit history of those projects.<p>At that point, the quality of the project can either help or hurt the candidate:<p>- The most important thing is that whatever project content they have, it is understandable. The ability to write sensible code that follows conventions and is well-documented (in code and commit history) is highly desirable.<p>- Ideally, they&#x27;d have an open source project with recent releases, issues, milestones, contributors, PRs, etc. (basically all the signs of a healthy open-source project). If they had this, then they&#x27;d be way ahead of most candidates.<p>- It&#x27;s easier to evaluate docs and commit messages than it is to evaluate code quality, but I do try to pick out a few files and have a look to see if they make sense.
vec超过 7 年前
Honestly, the main thing I&#x27;m looking for is that they have a Github account that&#x27;s more than a couple of weeks old and has some sort of content in it. That shows me that the applicant is interested in programming for its own sake and not just checking a box to make their resume look good. Everything beyond that is just a nice-to-have.
Jach超过 7 年前
I went through a round of resume filtering and interviewing for interns recently, but I&#x27;d use a similar process for FTEs (just less lenient probably). I mainly used the Github profiles (for those who had them) as another seed for questions besides the resume itself, and it could give me a feel for how well they&#x27;d do on our simple coding challenge. For example one candidate checked some API keys into his projects, those are generally supposed to be non-public. I asked about the dangers of accidentally committing private keys in general and he talked about AWS keys and relayed a story of compromise that happened to a friend, then I asked what a main problem of checking in API keys could be and he mentioned rate limiting denials. So he understood the problems, I asked why he had API keys in some of his repos, turned out to be he thought he had disabled the ones that were checked in (at least one I tried wasn&#x27;t) and they were for hackday projects anyway. With some context on it, and other discussion, all in all I was happy with him.<p>I try not to let presence or absence of Github matter (and in general I try to differentiate on common information rather than lucking out to see a very negative &#x2F; very positive trait in 1&#x2F;10 candidates that I wasn&#x27;t explicitly looking for), but I have to admit I like to see a link and like to see at least one project on it of any size and not just a sea of forks with no clear individual contributions. Resumes seem to correlate with coding performance terribly, at least if there&#x27;s public evidence you can code (I&#x27;m not too picky on code quality, that&#x27;s what reviews are for and drive-by open source reviews are non-existent) I don&#x27;t have to spend as much effort verifying such in an interview.<p>I&#x27;m not looking for rockstars. Using the classic trade ranking system, there are apprentices, journeymen, and masters. Journeymen are essentially interchangeable for most normal tasks starting from scratch, that&#x27;s what I want to hire and work with most of the time. I can live with a sharp apprentice, especially if the apprentice is pretty skilled in the usual domain we already work in. Since I&#x27;m not a master myself, and I can think of no more hostile and futile way of attracting them than standard software interview practices I&#x27;m forced to somewhat conform to, I don&#x27;t try to get them.
dmuth超过 7 年前
Something that&#x27;s important to me is code that is commented. Well-commented code (documentation for each function, explanations behind complex if statements and loops, etc.) earns bonus points. Conversely, when I see screens and screens of code without a single comment that sets off red flags.<p>Due to the nature of my current role, writing documentation is necessary so that other team members can pick up where you left off if something happens to you (or you just go on vacation).
评论 #16225439 未加载
评论 #16225506 未加载
评论 #16225403 未加载
xemdetia超过 7 年前
I generally only look for the &#x27;bigger&#x27; projects, and only really bother if it is explicitly mentioned as a thing to look at (e.g. used this open source project&#x2F;language). Even then my criteria is the same I would approach to a source code review:<p>1. Is the code well formatted? If you haven&#x27;t been someplace where it is bad, you might not understand how bad can be. I&#x27;m not going to give someone on a pass on something even the worst editor can do great.<p>2. Does it look awful to build? I have seen projects presented to me that have no Makefile or appropriate mechanism to build the code successfully but 50+ source files. The exception here is obviously templates or ~1-2 file projects to solve a real problem. I don&#x27;t want to hire someone who can&#x27;t build software, or make their software nice to build.<p>If those first two criteria aren&#x27;t covered I&#x27;ll skip to my last criteria:<p>3. Lack of input validation&#x2F;error handling&#x2F;logging errors.<p>4. Knowing common language constructs. Even in learner projects I want to see that you know how code should <i>feel</i> in that language. Python is one of the ones where this is most obvious, Java is one of the ones where it is least obvious so this is a subjective piece.<p>5. Does it feel like original work or tutorial spam? Where&#x27;s the artistic flair or the completely engineered and mechanical thing that made this more than a 2 hour project, and worth your time?<p>The main thing is that your resume should strongly reflect that you want to change careers as a dev and you want to demonstrate your skills via GitHub. I would not go fishing unless you ask. I&#x27;m going to look at your technical experience and general work history and ask you just as many questions about those kinds of things.
Sir_Cmpwn超过 7 年前
An empty, boring, or bad GitHub account never hurts, but a good one can definitely help. Things I&#x27;m looking for are interesting projects, contributions to other projects (perhaps ones I know about), good discipline in git commits, well organized code, attention to detail (as in code style), and good interactions in tickets and code reviews. I&#x27;m not interested in whether or not your GitHub projects use any particular languages or technologies that are relevant to the role.<p>There&#x27;s this idea that no one should be expected to spend their spare time working on open source, which is fair. However, that are many candidates that do, and it helps a lot with the screening process. We might waste more of your time and ours if we have to coax out the kind of insight that I can get from a GitHub profile over the course of several phone screens and IRL interviews.
cyberlync超过 7 年前
I primarily look for signs of the ability and interest in self-teaching. A front-end developer exploring the backend? Great! A backend developer playing with probabilistic systems? Super!. A java developer branching out into Scala&#x2F;Clojure&#x2F;Rust&#x2F;Haskell etc? Even better!<p>For those that won&#x27;t look at Github because not everyone has an account. That doesn&#x27;t make sense. Whether or not the candidate has a Github account is not a litmus test, its just additional useful information. If they have an account that may tell you something useful about the candidate. If they don&#x27;t have an account, then you have to rely on other approaches to get that information.
Raed667超过 7 年前
I have a pretty active Github. When interviewing I talked about it and put a link in my resume. People very rarely check it, but it gave me talking points when the tech of some old project matched the company&#x27;s stack.
contingencies超过 7 年前
Multiple projects of interest (not just commercial), ideally with significantly different languages and problem domains. The ability to write clear documentation. Definitely not a pile of cloned repos with no contributed changes.
pkamb超过 7 年前
A well-developed README that promotes the project. Screenshots, explanations, an FAQ, release notes, info for collaborators, links to download or test.<p>Basically, the github repo as a homepage for a product rather than just a dump of text files.<p>This shows that your thing is a <i>finished project</i> or under ongoing development rather than just a dump of some source code that you once wrote. It&#x27;s the equivalent of having an app <i>on the app store</i> vs. having a half-baked Xcode project on a computer.
bamboo_7超过 7 年前
I try my hardest not to do any &#x27;grading&#x27; based on someone&#x27;s github, but instead use it as a reference of what I can expect when the candidate gets to the interview. There&#x27;s always a feeling out point at the beginning of the interview. I don&#x27;t want to waste time hashing out things they clearly understand and likewise I don&#x27;t want to throw them something over their head. Looking at their Github helps give me a starting point.
scardine超过 7 年前
First, I want to see contributions to flagship opensource projects. If you are using opensource stacks and pushing the envelope, you will eventually have to fix bugs or implement new features. Landing patches means the applicant is able to meet the high bar for contributions (code quality, documentation, tests).<p>Then I want to see side projects using the same stack that will be used internally by the applicant. You can tell a lot about someone by his code style.
ellisv超过 7 年前
I look for many things but don&#x27;t hold it against you if your GitHub&#x2F;Bitbucket&#x2F;GitLab&#x2F;etc doesn&#x27;t reflect it.<p>Your profile can give me some evidence that you know how to code, use version control, write documentation, etc. -- but just because your projects don&#x27;t have CI&#x2F;CD (or whatever) doesn&#x27;t mean you don&#x27;t know how to use it just that I don&#x27;t have evidence that you know how to use it.
drxzcl超过 7 年前
If I&#x27;m investing the time to look at her&#x2F;his github, I have probably already invited the candidate over for an interview, or am seriously considering doing so. I&#x27;m looking for anything that gives me an insight into the way the candidate approaches problems, than I can then use to further the interview.<p>Any github that contains more than just course work is fine for that.
marssaxman超过 7 年前
I&#x27;m not sure I&#x27;ve ever bothered to look at an applicant&#x27;s github account. I wouldn&#x27;t expect to learn much from it. I am amused to imagine just how strange someone&#x27;s impression of me would likely be, were they to derive it from the random collection of experimental hacks in my personal github account.
andrew_wc_brown超过 7 年前
Here in Toronto I always ask, have you looked at the source code I shared? And the answer is no.<p>I have lots of source code open to private to share, and its just because I&#x27;m a workaholic, though I find having source code doesn&#x27;t matter, at least not here since they don&#x27;t put much value in it.
iopuy超过 7 年前
Do the people here preaching github being a useful tool for candidate evaluation realize there are private repos? I use github everyday but none of the outsiders looking at it are going to get a sense for my coding style because they can&#x27;t see the content of the commits.
评论 #16226178 未加载
watwut超过 7 年前
Realistically, pretty much anything sane is a plus, because most applicants don&#x27;t even have github account. AlSo realistically, have a good readme because that is the thing most hiring managers will read (unlike codebase).