Understanding Your GitHub Profile

Every user on GitHub has a profile page. Figure 16-1 shows the profile for one of the authors of this book at https://github.com/haacked.

Your profile page represents you on GitHub. When you open an issue or submit a pull request to a new repository, the maintainers are likely to take a look at your profile to get a sense of you.

Not only that, your GitHub profile can serve as a portfolio of your development work. It provides some insight into your interests, experience, and ability as a software developer. Many companies who are hiring will take a look at your GitHub profile.

Many companies give heavy weight to applicants that have a GitHub profile. How­ever, this biases against people who don’t have the benefit of working at a com­pany that uses GitHub. It also biases against those who don’t have free time to work on open source. GitHub, Inc. itself doesn’t require a strong GitHub profile to apply for a job. More and more companies are taking an approach where they’ll look at your GitHub profile if you have one, but won’t hold it against you if you don’t.

2. Profile picture

The first thing people visiting your profile will notice is your profile picture. This pic is associated with all your activity on GitHub. When you create an issue or a pull request or leave a comment, your profile pic is right there next to it.

Your photo is an important part of your GitHub identity so make it reflect your personality, whether it’s a picture of you smiling warmly, a photo of a cartoon character, or a landscape photo.

3. Status message

Under your profile pic is a status message you can use to communicate something about yourself to the entire community. For some, it is an outlet to say something funny or meaningful. But for others, it’s used for practical purposes. For example, if you’re a maintainer of a popular project, you may want to let the world that you’re busy if you plan to be away from GitHub for a while. That sets the expecta­tion that you may be slow to respond to new issues. Click your status message to bring up the option to change it. Figure 16-2 shows the status message dialog box with a busy message specified.

4. Personal info and Bio

GitHub displays your bio and information that you choose to show the world under the status message. Click the Edit button to change your bio, company name, location, and URL. This area is a good opportunity to tell the world a bit more about yourself and link to your personal blog or website.

All this information is completely optional. By entering it, you give GitHub per­mission to display this information wherever your user profile appears. You can delete the information at any time by editing your profile.

In this section, you also sometimes find badges that GitHub will add to users’ profile. For example, in Figure 15-1, you can see that Haacked has the Pro badge. Haacked is definitely a pro GitHub user, but that’s not what that badge means. A Pro badge on a GitHub profile just means that that user pays for the individual Pro subscription. (You can see different pricing models at https://github.com/pricing.) Another badge you may often see is the Staff badge. This badge is reserved for full-time employees at GitHub (also called Hubbers). Figure 16-3 shows meaghanlewis’s profile with the staff badge. Meaghan happens to be the technical reviewer for this book and is an engineering manager at GitHub!

5. Pinned repositories

By default, GitHub shows a selection of your most popular repositories on your profile page, but those repositories may not represent what’s important to you. Click Customize your pinned repositories to select up to six repositories to pin to your profile page.

Pinned repositories can be useful from three perspectives:

» You: Pinned repositories are useful to you because they’re a quick link to the repositories you care about most. Pinning repositories can make it quick and easy for you to get there, instead of having to create bookmarks for each of them.

» Other GitHub users: When other people visit your profile on GitHub, the first introduction to the kind of work you do is the set of your pinned repositories. This will give folks a sense of what you’re interested in. It also highlights the areas where you have experience. Listing areas of experience can be impor­tant if you’re just starting to contribute to a new open source project because maintainers will often visit your profile page to get a sense of who you are.

» Companies: Hiring managers and recruiters may look at your profile when you apply to a job to get a sense of your experience. Pinning some projects that you have most contributed to or are most proud of to the top of your profile can help them to get an accurate picture of you.

You can also always change up your pinned repositories based on what you’re doing. For example, if you’re applying for a new position, you may want to refresh what is pinned to be more specific to the role you’re applying to. And if you’re trying to learn something new, you may want to pin repositories that you’re currently engaged with. Think of your entire profile page as a living document — one that should be updated as your goals and interests change.

6. Contribution graph

The contribution graph is a grid of squares 7 squares high and 52 squares in length representing each day of the past year. Each square is filled in with a color that represents your contribution level on that day. If you didn’t make any contribu­tions, the square remains gray. If you made some contributions, the square ranges from light green to dark green, depending on how many contributions you made.

Issues and pull requests count as contributions on standalone repositories. Com­mits to a standalone repository’s default branch (typically master) or to its GitHub pages branch (typically gh-pages) count toward your contribution graph.

If you fork a repository, an Issues tab won’t appear at the top of the repo because, typically, the goal of a forked repository is to contribute back to the original open source project. You fork the repository, make your changes, and open a pull request that targets the original repository. If you really want to have issues in a forked repository, you can turn them on in the Settings tab, though we don’t rec­ommend it as you should be tracking your progress on an issue in the original repository. Because the intended behavior of a fork is to contribute back to the original repository, issues on the forked repository and pull requests that do not target the original repository do not count toward your contribution graph. The thought here is that you haven’t yet contributed to the main project, the fork is kind of just like your own private branch and the true contribution is made after you’ve added thoughts to an issue or merged code in on the original repository.

The contribution graph is one of GitHub’s more controversial features. Two com­mon concerns are raised. The first is that it promotes unhealthy behavior in that many people attempt to keep long streaks of activity going. Many people take pride in having activity on every single day of their graph, even weekends. Though you may be working on something that makes you happy on the weekends, which is okay, it’s also very important to recognize that it’s not — and shouldn’t be — expected that you are coding every single day of your life. Some of the most important aha! moments have come from taking a break and gaining a new perspective.

The other concern is that other people draw bad conclusions about a person’s ability as a developer based on the activity graph. For example, someone may look at a developer’s contribution graph, see very little activity, and conclude that he’s not very productive.

Drawing any conclusions from other people’s contribution graphs doesn’t make sense. A contribution graph should be useful only to yourself as a fun way to see your history of activity. For one thing, the contribution graph is easily gamed. In fact, a repository provides code for doing pixel art using your contribution graph at https://github.com/nikhilweee/github-activity-art. It’d be easy to use that tool to make your contribution graph completely dark green. The contribu­tion graph isn’t meant to be used as a definitive productivity metric.

Also, contributions to private repositories may not be showing up in a contribu­tion graph. Click Contribution settings to change that setting. Figure 16-4 shows an example of both enabling the display of private contributions as well as an activity graph.

Unlike the contribution graph, which shows how much activity you have, the activity graph shows where your activity occurs. As you can see in Figure 16-4, one of the authors of this book has most of his activity in commits and pull requests.

7. Contribution activity

Underneath the contribution graph (not shown in Figure 16-1) is the contribution activity timeline. This timeline of your activity on GitHub goes all the way back to your first commit. It can be nostalgic to go back to the beginning of your activity.

In some cases, you may have activity in your timeline that shows up before you joined GitHub. You may even have activity that occurred before GitHub was cre­ated! How is that possible? The activity timeline includes Git activity in your repositories based on the timestamp of the Git commits. It’s possible to import a repository into GitHub that was created before GitHub existed, which would cause you to have activity prior to GitHub’s creation.

Source: Guthals Sarah, Haack Phil (2019), GitHub for Dummies, Wiley.

Leave a Reply

Your email address will not be published. Required fields are marked *