What do employers like to see on someone's GitHub account? Do they look at style, projects, frequency, etc.?

Updated on : December 3, 2021 by Jasmin Booker



What do employers like to see on someone's GitHub account? Do they look at style, projects, frequency, etc.?

Big question. I imagine there will be all kinds of answers on this one.

For me I look at these aspects ...

  • Are the projects well organized ... if I look at the naming directory structure, can I get an idea of ​​the architecture / layout? It's easy to figure out where to go in your project to locate the various functional areas and layers.
  • Is the code clean, easy to read, and commented appropriately?
  • Is an organized branching / tag process being followed, for example gitflow?
  • Is there a sense that the person understands the basic design patterns?
  • Does the project take advantage of existing open source libraries and fr
Keep reading

Big question. I imagine there will be all kinds of answers on this one.

For me I look at these aspects ...

  • Are the projects well organized ... if I look at the naming directory structure, can I get an idea of ​​the architecture / layout? It's easy to figure out where to go in your project to locate the various functional areas and layers.
  • Is the code clean, easy to read, and commented appropriately?
  • Is an organized branching / tag process being followed, for example gitflow?
  • Is there a sense that the person understands the basic design patterns?
  • Does the project take advantage of existing open source libraries and frameworks (good) or does the code solve common problems / routines (bad)?
  • Does the first thing I see (the README) clearly describe the project, for example what it does, how to run and build it, etc.?
  • Do I see replicated code, that is, do I see obvious 'cut and paste' and 'repeat' (bad) code?
  • THERE ARE TESTS !!!! There should be a test harness and if I run it (because the README file told me how to run it) the tests should pass. This is an important one to me. If I don't see the tests, the first question I'll ask will be "how did you test this code" and your answer will be "manually", which of course means you don't test it? In my opinion, the professional quality code includes some level of unit / integration testing delivered along with it.
  • I'm less concerned with what the project does, more that it was developed professionally. I'm looking for commercial grade code ... will others be able to take the project and easily improve / maintain it?

The first thing I look at is the time span of the candidate's contribution history. Good candidates (actual programmers) will generally have activity throughout the history year shown in the table, while inexperienced or bad candidates will often have a dense 1-3 week active period during which they prepared a Project for the public to impress potential employers. .

+1 to everything in Ron's answer. I would just add a couple of things to avoid having on your Github account:

  • lots of unmodified forks of common open source projects
  • the same coding tutorials as everyone else in your graduating class (ex. Javascript game Snake, ActiveRecord Lite, etc) - remember: your entire class is submitting resumes / apps at the same time, often to the same companies , For reviewers to notice those same repositories!

One thing I've used Github as a headhunter for is finding programmers who are fluent in a specific programming language. For example, not many engineers are proficient at Scala.

Also, on a more practical level, you should have some identifying information. Specifically, where you live, an email address, and / or a link to your website or CV. That's assuming you want to be hired or approached for opportunities.

More information beyond a resume is a great thing! Open source projects don't just show code and participation within a community of people working together to make things better. It is not a deciding factor if someone does not contribute, but it is an easy way to see what they are doing and what they are passionate about. It also shows that your prospective employer sees your value and cares beyond a one or two page resume!

when was the last push / how often the code is pushed (as many developers have a tendency to forget frequent commits)

Since you mention your teacher, you are presumably in high school or college (with some slim chance of being in a different career and taking some additional coding classes).

In all those cases, yes, I think it is very important to have a profile on github. (In theory, it could be elsewhere if you link to it from your personal site, but github is where people look first.)

Why? Because it is difficult to know much about a CV these days because the latter tends to be stripped of all meaning and information that helps make distinctions between candidates. I think you can say something

Keep reading

Since you mention your teacher, you are presumably in high school or college (with some slim chance of being in a different career and taking some additional coding classes).

In all those cases, yes, I think it is very important to have a profile on github. (In theory, it could be elsewhere if you link to it from your personal site, but github is where people look first.)

Why? Because it is difficult to know much about a CV these days because the latter tends to be stripped of all meaning and information that helps make distinctions between candidates. I think you can know something from a cover letter, but you can know a lot more if you realize what someone is interested in, how they interact with others in a community (including how they respond to negative comments, people blocking them etc) and just reading your code.

And while this is especially true for younger people, I think it can still be useful for people more advanced in their careers, and maybe even quite advanced people, but partly for different reasons.

You want to hire people who not only can program, but still like it. And chasing open source projects is a hard-to-fake sign that someone still enjoys programming. (I mean someone can fake it, but not convincingly.) Perhaps there are times and contexts in which one can be so old that it is not really necessary to get your hands dirty writing code; If so, it is a different world from mine.

It's not just about personal projects on GitHub, but also about contributions to other projects. That's one way to quickly see how someone works with others. And some projects have high technical standards. For example, I know that if someone contributed significantly to Dlang's Phobos standard library, it meets a fairly high standard, and this is also true for some other projects.

Hiring decisions are very important. Lessons from human potential research suggest that your first choice should be much better than your second best choice, and your second choice significantly better than your third choice, and so on. It's hard to tell how good someone is just from a CV, and if you filter based on previous experience, you can exclude some of the best candidates. (I agree with Thiel that capabilities may be more important than micro-experience, although it depends on your situation, of course, and I'm not saying that experience doesn't matter.)

I also suggest that you take the advice of Walter Bright, one of the best programmers of his generation, and to this day the only man who has implemented a full C ++ compiler by himself (he was also the first native compiler C ++ for PC). He says that if you are a programmer you need to have a personal page, and he's right.

Walter Bright's Home Page

A younger and very bright guy:

Home | David nadlinger

It is true that some people may not have the time to contribute to open source and may not be able to make such contributions if they work for an employer who owns all of their intellectual property and does not favor open source. That doesn't make it less valuable if someone can contribute.

From the discussions I've had, other people seem to be adopting this way of thinking about hiring, although it's probably still a minority opinion.

Laeeth.

Yes. Let me share a story to illustrate:

I was alerted to a clear text password in the source code of someone's github account. She was a former intern. When he left, he took the code he wrote for work and posted it on his personal github account. The code also contained information about the servers and services, showing that it was a work project and the password was for one of our servers.

We have a protocol for this situation. It includes making sure the server password was transferred, checking the logs, etc. It also includes removing unauthorized code from the published site. I

Keep reading

Yes. Let me share a story to illustrate:

I was alerted to a clear text password in the source code of someone's github account. She was a former intern. When he left, he took the code he wrote for work and posted it on his personal github account. The code also contained information about the servers and services, showing that it was a work project and the password was for one of our servers.

We have a protocol for this situation. It includes making sure the server password was transferred, checking the logs, etc. It also includes removing unauthorized code from the published site. You could: 1. ask the person to remove it or 2. have the legal team issue a DMCA remove with Github to remove it. Due to other specific details of the case, I contacted her directly.

We talked about the implications of posting code you didn't own without permission, putting clear text passwords in your source code, your signed IP contract, as well as the documents you signed at the end of your internship, etc. Of course, I asked him to take the code below. She was reluctant. I explained to him that my other option involved legal action to issue a DMCA takedown, and perhaps more legal conversations about his breach of his contractual obligations. She was still reluctant. I asked him, hypothetically, if there was a data breach as a result of his password disclosure, did he think he might get in trouble? Hmm. Pause. it's okay. She agreed to write down the code.

He was puzzled, why did he resist at first? So I asked him. He explained that he is looking for work and felt the need to show the quality of his work online. Without it, you may not get a job. So I explained to him (being someone who reviewed a lot of candidates based on their github accounts) that if he checked his account, he would know:

  1. She does not respect the intellectual property of her previous employer and will probably repeat it with my company code.
  2. You don't understand how to publish code as open source, as there were no copyrights or license designations.
  3. She puts clear text passwords in the source code (as well as hard-coded server names).

Then he realized that showing his code is only an advantage when the code is good.

So yes, your work on Github can make your resume worse. Your resume is supposed to do your best, not set foot somewhere.

Never put credentials on GitHub and other repositories.

Let me share an anecdote. I think I already shared this in another post. It may not have been Quora. Anyway, here's the story.

On a quiet Friday afternoon, we received an alert about questionable activity on some of our AWS servers. While the engineers were investigating the root cause, our boss checked our spending on AWS and nearly had a heart attack as we racked up over $ 80,000 in about 15 minutes. What happened was that one of the engineers accidentally committed and posted his code changes to a public repository on GitHub without

Keep reading

Never put credentials on GitHub and other repositories.

Let me share an anecdote. I think I already shared this in another post. It may not have been Quora. Anyway, here's the story.

On a quiet Friday afternoon, we received an alert about questionable activity on some of our AWS servers. While the engineers were investigating the root cause, our boss checked our spending on AWS and nearly had a heart attack as we racked up over $ 80,000 in about 15 minutes. What happened was that one of the engineers accidentally made and submitted his code changes to a public repository on GitHub without realizing that he forgot to delete the AWS credentials that he embedded in the code to test his changes. Apparently there are a bunch of bitcoin miners periodically crawling GitHub repositories for leaked cloud credits and using them to mine bitcoins until the servers shut down.

A week after this incident, we had a retrospective meeting to discuss how we could have prevented and what we can do to prevent future occurrences (no finger pointing, of course). Actually, most of us don't know who it was. The only reason I know is that he told me himself while we had lunch together. He submitted his resignation, but my boss rejected it and called it an $ 80,000 lesson. I think AWS ended up reimbursing us for part or all of the amount. Apparently many companies that run their stuff on AWS are victims.

Bottom line is never put any credentials or anything that could lead hackers to your credentials on GitHub.

Something is definitely better than nothing.

Just by having a github amount with a decent amount of code, that's an advantage to present yourself as a semi-competent person who has actually written code.

Career advice on Quora, like many websites on the Internet, is heavily skewed towards "elite" companies that often hire staff from top universities. Google doesn't need to ask smart people to apply, so naturally there will be a lot of competition and it takes decently impressive side projects to set itself apart.

Like someone who went to a slightly above average school and graduated

Keep reading

Something is definitely better than nothing.

Just by having a github amount with a decent amount of code, that's an advantage to present yourself as a semi-competent person who has actually written code.

Career advice on Quora, like many websites on the Internet, is heavily skewed towards "elite" companies that often hire staff from top universities. Google doesn't need to ask smart people to apply, so naturally there will be a lot of competition and it takes decently impressive side projects to set itself apart.

As someone who went to a slightly above-average school and graduated with a mediocre GPA, most of my interviews out of school were incredibly easy…. And keep in mind that these were $ 75k + salary jobs working with smart people. They just needed to hire anyone who had any computer skills, and they would teach me from there. Once I got to the position at my first company where I was doing the interviews, it was pretty funny / sad to see how many entry-level applicants failed miserably on technical interviews on basic programming questions.

For any Github that lacks a large project ... I'd like to see some MOOC tasks / assignments, solutions to interview questions, or any number of smaller projects that use a basic level of OOP, utilization of modules / packages / libraries, import data from the web, etc.

Don't just put a few projects on GitHub. Especially not projects that no one is interested in. Yes, it shows that you can create projects, but it says nothing about your actual skill level. Who knows that you got the code from somewhere else or that you got it right when copying and pasting items.

What really strikes me when I'm in hiring mode are contributions to open source software, maintained by others. Therefore, pull requests into the projects that you use. Submit tickets and discuss features. And you don't even have to contribute to big projects. Even if it's small, every addition, improvement, or added feature

Keep reading

Don't just put a few projects on GitHub. Especially not projects that no one is interested in. Yes, it shows that you can create projects, but it says nothing about your actual skill level. Who knows that you got the code from somewhere else or that you got it right when copying and pasting items.

What really strikes me when I'm in hiring mode are contributions to open source software, maintained by others. Therefore, pull requests into the projects that you use. Submit tickets and discuss features. And you don't even have to contribute to big projects. Even if it's small, each addition, enhancement, or added feature shows that you know how to read a project, think of a suitable addition, and write it down. Show insight.

Along with that contribute to open source projects through own projects. For example, if you use Javascript, write a package for the node that does something that no other package does. Write a plugin for jQuery that solves a problem that no other plugin solves, or does it better.

What I'm saying is, write unique content and improve on others. Show that you contribute to the community and understand the languages ​​in which you are applying for a job. This really lets me see that you understand.

Other Guides:


GET SPECIAL OFFER FROM OUR PARTNER.