Maybe this is a hot take, but… I like being validated? It feels good to receive positive feedback, and a ton of my life is structured to ensure positive feedback loops for things I want to incentivize myself to do.
I’ve definitely contributed more PRs during Hacktoberfest to get a t-shirt. I’ve done Strava runs when I might have otherwise skipped a day and been excited to see a new achievement.
I was really desperate to contribute to an open-source project in high school, specifically an iOS or frontend web one, and it was hard to find projects that I could make a substantial contribution to. Many with `good first issue` tags were not very active, and the ones that were active were hard to get my foot in the door.
I was able to do a variety of "good first" things: readme updates, typo fixes, adding small features -- but it was hard to feel really _validated_ that my work was valuable, or that contributing to open-source was an impressive thing to do, because I (felt like I was) was surrounded by engineers, and nobody ever told me that OSS was "cool", until I met a company 3 years into college who valued OSS (more than just "wow, great job, you fixed a typo!")
Just an FYI, readme updates, typo fixes, etc are "good first" things, but also very important, so while you may not have contributed to the code, you contributions are very important still.
Here's my hot take. I work for a small company, I'm the solo programmer. Our company's code is important, so it's all private. I work full-time and it is stressful enough, and don't have interest in working longer. Because I'm solo, I don't need Pull Requests for my own work, among other things that a team needs.
Under this system, I get no badges. I appear as though I have nothing to show. Even though I have arguably done more and been responsible for more than many people with badges have. That's irritating.
The way they are named and designed is rather juvenile, so just think of it like not being handed Mickey Mouse and Donald Duck badges at the fair because you are an adult.
Except it's also a professional forum, so it's more like you showed up at the office one day and it's full of kids and the project managers are spending their time handing out Disney badges and replacing the Kanban wall with memes instead of, y'know, managing the projects.
Isn’t this true on a private repo, or any non GitHub repo, solo or not? It’s been this way for a long time; if you cared about showcasing your contributions you would work on public projects, blog, or make a bunch of noise in some other way.
I actually can't think of any such site _without_ comment voting today. Really that's because virtually every social media site now has a one-click way of engaging with comments (notably excluding 4chan). The difference between sites is in whether sorting by score is lacking, available, or part of an inscrutable algorithm; and what other ranking methods are available.
I can't find a single result relevant to the history of voting or user moderation in any search engine. Was Slashdot the first? It and Fark lacked this at launch in 1997;
- Slashdot handpicked 400 users to be moderators in 1999-03[0], and began randomly assigning moderation duty some time between then and the addition of moderation reasons in 1999-05[1]. Metamoderation was added in 1999-09.[2]
- Fark only added comment voting, with separate 'smart' and 'funny' votes, in 2011,[3] making it the only social news site AFAIK without negative votes.
I'm taking the fact that I agree with this comment as confirmation that I'm officially old and cranky. For some reason, the push to turn everything into A Journey really annoys me.
This is not stupid. It's not a waste of time. It doesn't matter if this leads to a proliferation of shit contributions. It doesn't matter if it encourages bad practices. It doesn't matter if you don't like it.
It's smart.
This is WHY Microsoft bought Github. Software is eating the world and Github is where most of the eating happens. There are many career paths that require you to live on Twitter or LinkedIn or whatever. If Github pulls off the bigger play here it won't matter what Gitlab or Bitbucket or anyone else ever tries because you will HAVE to be on Github.
This is how a trillion dollar company gets its return on GH.
You've hit the nail on the head. Most people (at least in my social circles) don't like Linkedin, but are on the platform all the same. If an external service becomes the go-to validation for one metric or another, people will use it to try and get an edge, and eventually it means that you need to play the game to get your foot in the door. As an anecdotal example, I once didn't hear back after applying for a role, and when I sent them a followup email they said they didn't think I was a real person because I wasn't on Linkedin. Cue me now being on Linkedin.
Given that Stack Overflow has shut down their (very popular) jobs board along with the relevant developer profiles [0], this seems like a great time for Github to try and grab a part of the pie.
Precisely. LinkedIn doesn't specialize in software, it's a glorified résumé database. We all know that résumés don't really tell you whether an engineer is going to do good work for you; if they did, the only purpose of engineering interviews would be for culture fit. At the same time, even if all of an engineer's contributions were fully in the open and linked to from their GitHub profile, it's all a bit too much for a hiring manager to parse per résumé that they receive.
Achievements is a way of distilling contributions down to the important questions that hiring managers have: just how senior is this person I'm interviewing anyway? If I hire this person to do cutting-edge work, are they the kind of person to interact with the community on pushing the state-of-the-art, or not?
I think you are riding a horse that is driven by a cart :D.
Rather than looking at github from the perspective of hiring managers, look at it from the perspective of users. If the feature does not seem to serve them, it might not be a good one.
If github is a tool, then the words hiring manager probably shouldn't appear. I don't think of "what will my product person think?" when I use grep.
Also, didn't we do this when the award was tshirts for commits to open source projects where it unleashed a firestorm of junk edits to projects?
If SNR gets low enough, people will migrate. I know some people have left github for gitlab, and are having a whale of a time with their runners etc. Replacing junky old jenkins installs for in the fence CICD.
It sounds like your perspective is that users don't get any value out of social media?
Why do people post photos to Instagram? Why post updates to Facebook?
You can take photos for your own benefit (like writing code for some non-GitHub-related benefit, e.g. work) and also share them on social media for your own gratification. You can live life for the fun of it and also share it on social media for your own gratification. (leave aside that social media is net-toxic, it's still worth it to understand the motivations of those who engage with social media).
Don't want to engage with the social media aspects of GitHub that they're adding (because social media is net-toxic)? Fine. Disable the achievements. They (smartly) built in that disable switch. But don't presume that there isn't a large portion of GitHub's userbase that won't get value out of this.
> Rather than looking at github from the perspective of hiring managers, look at it from the perspective of users.
Why? Everybody I've talked to who's considered alternatives and still uses GitHub for projects that don't have to be on GitHub does it because they're looking at it from the perspective of potential employers. (Or because they like GitHub's Projects feature enough, but those are rarer.)
I'm quite conflicted with this; while I agree that it's a smart move in terms of forcing user engagement, I think it sucks that Github is and seemingly will continue to be THE Git platform. I'd argue that other platforms such as Gitlab and even Azure DevOps provide a better overall experience, especially when it comes to CI/CD, so it's a little sad that the battle for users seems to be going into the 'social features' territory rather than improved user experience.
I think the strategy's reasonable from a "right tool for the job" standpoint. The key to product differentiation is, you know, differentiation; if GitLab wants to differentiate with a rich CI/CD experience while GitHub wants to differentiate with a rich social/collaboration experience, then great! I can push my code to both pretty trivially, so it seems reasonable to use both for what they're respectively good at.
It's not exactly as bad as it sounds, there's been a few times I have merged a PR from someone where I reviewed it, I just never went through the "Review this PR" -> "Approve PR" workflow that adds the meta data "joshmanders has approved this PR"
I don't know how it could serve as any meaningful flag. It's normal to merge to main without any review in your own solo hobby projects, and I kind of doubt this badge goes so far as to exclude those kinds of repos.
I almost never "review" PRs people send on my repos through the GitHub UI. I "review" them in the sense that I look at them, and comment when needed of course.
This "achievement" is not indicative of anything at all.
Depends on the criteria. Do automated reviews count?
I set up build+test via GH actions and have GitHub run them on PR's. And make all changes through PR's.
This not only prevents "forgot to run tests" type accidents during regular development, it also helps me when I come back to a hobby project months later, and it lets me confidently do small changes (think version bumps) directly through GitHub's editor, which saves a bunch of time.
And when, against the odds, I actually do get a contribution, the infra is already there and it really cuts down my turnaround time to get it merged, bump the version and deploy the release.
Of course if a single direct push yields you the badge then I guess pretty much every solo dev gets it sooner or later. But that indirectly turns it back into a good badge, right? "Independent enough to have a life outside a standardized corporate process"?
Actions can still provide the feedback even without a PR if you trigger on push, you just don't have a gate like PR for contribution. I do similar to what you're describing and would recommend a feedback loop for build/test 100% of the time.
I just don't think merging without review equates is an absolute negative depending on the situation, in this case no reviewers exist outside of myself and from my perspective this is how a lot projects start, someone just goes for it and starts committing! Yolo...
Just because HN is a fun free zone, some evidently believe the rest of the world has to be also. The only way I can understand some of the reactions in this thread is that many are holding a belief the only reason to use Github is your anonymous desk job. Like the question of does the "YOLO" achievement apply to your automated CI pipeline is itself giving away private information by implication.
I'm over here with 80% of my commit history just being recipe markdown.
It feels like the kind of thing that would be a side project. I've never worked at GitHub or MS and have no inside info on this, but I worked at Google years ago and any similar launch from them during (or before) my time there could easily have been a 20% project. Badges on Google's internal company directory proliferated and were widely enjoyed.
It’s a coding social network; these features keep people happy with the GitHub brand and they increase the amount of features any potential competitor must implement if they want to be competitive against GH.
The "Pull Shark" one is my least favorite, I don't like when developers use their PR count as some kind of achievement, it's probably the most toxic metric (lol) but seriously, it's toxic. People do all kinds of evil, sabotogy things to preserve their contribution and PR count, and too many CTOs have admitted to me that's all they look at. Now you know why some kids are pushing 25 [pointless] PRs per day haha. It was never about code quality or productivity!
What Code Climate is doing- I would love to see GitHub badges around that. Give me a badge because I pair unit tests with React components, or because I wrote something in an elegant way. That would actually be cool/useful. It would require that GitHub hires good devs though haha! Good devs at a major tech company - that will NEVER happen.
I know this is supposed to be fun, but I’m also mixed on it as so much of my work is in private repositories. This means that these badges are like “privacy leaks” from my closed source work to my public GitHub profile. I suspect this is why this discussion is getting so negative as GitHub is not a social fun place for us anymore, it’s the place we work everyday with coworkers and managers. So in general please GitHub be less gamified and social as I don’t want to have to constantly monitor privacy settings (like at FB) and instead focus on what we all want: replacing Jira and streamlining containers / CI :)
I understand that it's not for everyone, but I also feel like people here tend to forget that GitHub is a social coding/collaboration platform as well. If you didn't like these features, why are your projects on GitHub then? Plenty of other git solutions.
I see some comments worried about this feature being abused or misused in regards to "bad contributions" however those contributions would either just be rejected, as they should, or accepted by the maintainers which means the badges worked to begin with, promoting more open-source collaboration.
> If you didn't like these features, why are your projects on GitHub then
Because it also works really well for solo projects or private projects.
I chose GitHub many years ago not because they were social but because they were free and accessible. The competitors at the time were sourceforge and Google code and neither of them were as easy to use or simple.
I use GitHub in spite of its dumb social features, not because of it.
This reminds me of the “if you don’t love guns, why do you live in America, gtfo” people are complicated and have multiple, sometimes conflicting, motivations.
It seems like easy money compared to other Github projects. Actions looks like a garbage fire full of unsolved problems, for example.
But I'm not sure how good it is to work on such a project for a long time in terms of career growth. Telling your next potential employers your body of work at Github is a Badge CRUD sounds pretty underwhelming.
I don't mind this, in a sense its cool because some OSS projects can use this as a way to honor key contributors publicly in ways that are "obvious". I'm thinking also its a way to earn yourself some credibility on your resume beyond just showing your contribution graph in a way that is easily digested (re: quickly).
With that said, and I know GitHub is big and lots of people are working on lots of things, however I feel like whatever energy went into this could have possibly been spent on making the UI more responsive and less wonky. For instance, I still continue to run into issues when opening PR links from the Slack integration where it won't load the CI status correctly, I have to refresh the page every time.
I love GitHub, and I'm not someone who is trying to harsh anyone, and I think this is kind of cool for what it is, however there are many long standing UI / UX issues make this landing a little less exciting.
On one hand, I don't think there's anything particularly wrong with additional badges -- I thought the first two (the Mars Rover and "code vault" ones) were pretty interesting, and told an interesting story. On the other hand, these feel much more gamified: I don't know what "YOLO" or "Pull Shark" is supposed to mean to me when I see it on someone's profile. And this is coming from someone who really likes the other social aspects of GitHub: I like seeing people's commit timeline, pull histories, &c.
IMO, the failure here is not in concept, but in execution. Rewards and validation are nice; I'd like to see GitHub reach a bit higher with them.
This is a fun project, however, what values can it provide besides fancy "social coding"? There are tons of information with github, and how to dig out the values behind sounds more meaningful to me.
I'm thinking about a website that exploit insights from the github data might be more useful, like this one: https://ossinsight.io/ , which can allow project owners, developers, or even investors to find out the project trends, activities, or even popularity in certain regions/countries.
Github has had achievements for a ages I think, they just never used them for much. I know I've had "Arctic Code Vault Contributor", and "Mars 2020 Contributor" achievements for ages (but only incidentally, because I happen to have commits in the linux kernel.)
Advanced Search is compatible with OpenSearch (GH did add this recently)
Plan and schedule issues with automated iteration cadences (great for recurring annual tasks)
Container Scanning available in all tiers (already very easy to add container scanning in enterprise, but now available for free everywhere, have to use a third party action in github)
Project-level Secure Files in open beta (missing from github)
Semgrep-based SAST (in addition to their existing SAST & DAST, something github lacks natively)
Approve deployments from the Environments page (GitHubs approval flows are enterprise only)
Improvements to Terraform registry
--
GitLab is already well beyond the feature set of GitHub, you should give it a look sometime.
Things that immediately jump out to me:
1. Security Dashboards
2. Kubernetes Integration (automated test environments)
To those of you not in favor of this new feature, you can opt out by unchecking Settings -> Public Profile (at the bottom) -> Show Achievements on my profile
Stack Overflow badges are IMO the best example of how such feature should be done. They all make up a great summary of all actions that are considered to be useful in community. They are encouraging to raise flags, upvote questions, visit website regularly. You can quickly learn features that you haven't tried yet from "Next badge" section in your profile. They are just encouraging learning about how website operates in a fun way.
This is noise at best. I appreciate them trying -- how much can you actually change github to be a better product? This just feels like a manager or team creating work for themselves.
On one hand, yes it's fun and brings entertainment to the platform.
On the other hand, I don't really want a badge showing I sometimes "YOLO" merging code like it's an achievement or something. It's not the achievement you think it is, even if it's a common meme for people new to the industry. It leaves a breadcrumb trail of bad practices that are sometimes out of necessity.
It seems like almost every tool or platform these days needs a friends feature, bragging badges or other form of social validation.