As Hacktoberfest 2019 approached, I wasn't convinced I had anything to contribute. For real, what was a code newbie going to add to the world of open source?
Anyway, I was determined to make some sort of worthwhile contribution. I dug through all the sites like firsttimersonly, upforgrabs, and others. What I found was all these sites were not for beginners. Even if the issues were labeled
good for beginners it didn't really mean that they were good for beginners.
I have since come to realize,
good for beginners is a label given when someone thinks a task should be easy. Yet, these are often tasks that are not really for beginners. As a code newbie, you're not just new to code but new to version control, editors, cli, and everything.
It's really less important what your first contribution is and more important that you go through the motions and understand how to use version control. Though, I didn't know that at the time, so it was quite frustrating finding something to contribute.
Somehow, I came across this goofy translation site, geeksay.xyz. It was in a language I didn't (and still don't unless I have to) use. Contributing wasn't going to help the world or really anything. Even without the grandiose potential impact, I decided to add some little things to this site. It was set up well to be able to just follow the current syntax.
Doing these goofy contributions didn't feel awesome, but it did me my first ever pull request and helped me begin to understand the purpose of version control and how to use git.
While my first Hacktoberfest amounted to some goofiness, I did learn things. Version control is important and making contributions as a code newbie was way too hard.
Post - Hacktoberfest 2019
As Hacktoberfest was winding down, I was also taking a night class at a local college and learning more things. I decided I was going to try to make my first project.
A 'Simple' Retweet Bot
I was on Twitter and already saw there were retweet bots for all sorts of coding hashtags. So, I decided to make one for veterans. That's when #VetsWhoCode Retweet Bot was born by mashing together some tutorials, Tweepy docs, and caffeine,
This bot, at the time, was hard to make. I was still a newbie and had never worked with APIs or anything. Though it was hard at first, it's really a short program and rather "simple".
Building the #VetsWhoCode Retweet Bot
Vicki Langer ・ Jan 2 '20 ・ 3 min read
A More Complex Bot
Given that I had already made a bot, I decided I wanted to make another one, but make it something code newbies could contribute to.
I was still learning to code as many others on twitter are. I had a fleeting idea and posted a twitter poll asking "A twitter bot that asks daily coding questions. Thoughts?" People liked the idea, so I made it.
I thought it would be cool to bring people together to learn from each other and meet new people. This bot was also hard to make. It was new to me. I hadn't previously done anything that complex. This time, I mashed together Tweepy docs, Python docs, caffeine, and ideas from another bot's repo until Code Questions Twitter Bot was born.
Once it was working, I started setting it up so it could be a community built thing. I built it with newbie contributors in mind. I left notes about syntax and comments making sure it was as easy as possible to add questions to the bot. Though all are welcome to contribute, the goal was to make things smooth for code newbies.
Help Others Contribute
After setting up that bot, I threw together a dev post on what how to contribute to open source as a newbie. (don't hate on me. it's basically a shameless plug with some useful info)
Open Up to Open Source Contributing
Vicki Langer ・ Jan 29 '20 ・ 4 min read
Yet Another Twitter Bot
If you haven't previously seen @BiUpdateBot or @GenderOfTheDay, my explanation of the newest installation in my portfolio may be a bit confusing.
Seeing those bots on Twitter really inspired me to make a bot that covered more than those bots do. I had thought about this a few times, but decided to do so in Septemember. I was doing it riiiiight before Hacktoberfest. I knew I wanted it to also be super newbie-friendly. So, building it contributor-friendly from the beginning was top-priority.
I set to work setting up a madlib style bot to make the standard tweets sent by the bot. Each file has detailed notes, reminders, and syntax. Every possible thing to work has a well thought out issue written up. (Not saying it's perfect, but I really really tried. I'm open to all input and ideas) I made sure to add a Code of Conduct and all the things that make a repo welcoming safe.
Little did I know, this repo would get A LOT of attention. The scope of the bot grew some during Hacktoberfest 2020 too. It now has images, queer history of the day, and remembrance/awareness days.
As you can tell, I'd been preparing for Hacktoberfest 2020. Though, as a maintainer, I had no clue what to expect.
Pull requests rolled in real quick.
Vicki Langer@vicki_langerIt’s not even October where I am and I’ve already received and merged 2 pull requests for @CodeQBot for #Hacktoberfest 😁23:16 PM - 30 Sep 2020
Like I said, I didn't know what to expect. I really never expected to have so many people contribute so much. There were so many people.
Vicki Langer@vicki_langer56 closed PRs so far. Thanks #hacktoberfest peeps for making @LgbtQotd and @CodeQBot better than they were.01:52 AM - 06 Oct 2020
I had to learn a lot real fast. I'd never seen merge conflicts before and had to figure out what was messed up with each one. A lot of the learning was in watching mistakes people made and adjusting my notes and issues to help alleviate these things.
I tried to get people to use the pull request template to help catch things, but a whole 2 people used them. Though, it wasn't all bad.
In total, LGBTQ of the Day has 235 closed pull requests from 119 GitHub contributors. Code Questions Bot only has 30 closed pull requests from 18 GitHub contributors.
Some people changed things that were on purpose. I later added them back with comments saying they were accepted as is.
Vicki Langer@vicki_langerExcuse me #Hacktoberfest peeps, I don't need you correcting my purposeful misspellings. I guess it's okay, but I was just having fun.
What's so wrong with "kitteh" and "snek" anyway?01:21 AM - 06 Oct 2020
I had lots of fun explaining the importance of commas & quotes and why they are so important.
I also had to deal with some not so fun stuff. Someone copied a whole game from a tutorial and submitted it and yeah, it got marked
Vicki Langer@vicki_langerChapter 3
Someone added a whole damn Flappy Bird game github.com/VickiLanger/LG…17:37 PM - 26 Oct 2020
There was also a PR where I had to invoke part of the code of conduct. That wasn't fun to deal with, but there weren't any arguments.
There was some feel good stuff too. :D
Vicki Langer@vicki_langerChapter 4
Someone was super sweet and made me feel really good about making @LgbtQotd17:48 PM - 26 Oct 2020
Co-conspirators in Crime
There were so so many contributors, here are a 2 that really stood out.
@bobsany16 is the first official collaborator on the LGBTQ of the Day repo. They added the historical tweet feature as well as the linter checks.
@audthecodewitch made tons and tons of contributions and some suggestions the led to the newest feature on posting remembrance and awareness days.
Oh, and this adorableness helped merge some requests and made sure I took breaks.
Vicki Langer@vicki_langerExcuse me, Sir, #hacktoberfest pull requests are waiting for reviews and approval23:41 PM - 20 Oct 2020
Open Source Contributor Summit
During Hacktoberfest, I spoke at @bdougieyo's event about how contributing as a code newbie was too hard.
Contributing to open source as a #CodeNewbie is too hard. Newbies are just learning code things and contributing to open source adds in having to figure out version control. The focus should be on learning version control and not substantial code things.
Newbies need incredibly easy contributions to allow them to get familiar with version control. That does not mean easy to you, that means so easy you'd give it to a non-coder who can follow direct rules.
Wanna contribute? There's plenty of open issues.
Top comments (6)
Love this! I'm motivated to create a history bot on Twitter for D.C. United. That'd be fun! This post got me excited about that and attempting it, and opening it up to others to contribute as well down the line (once it's working). Thanks for writing this for real Vicki!
That sounds like a great idea! Good luck. I'm happy to help if you get stuck
Thanks! Looking up Twitter API stuff today. Looks like I'll need to install Rails if I want to make it with Ruby.
Yay! First step is done. Maybe you need rails. I’m not sure. I don’t know enough to be sure, but I feel like Ruby should be able to do it without an extra framework
This has by far become one of my favorite bots!
Every single time one of its tweets comes across my timeline it never fails to put a smile on my face!
Mine too! I learn new things at least daily. If it's not one of the labels, it's some new-to-me animal or food.