Fake it ‘til you… eat your dessert?
Being a developer in the Open Source Community has one really large caveat: you need to participate in the Community. You know, contribute to open source projects. This sounded absolutely terrifying to me. I mean, my name is attached to that and anyone can see it and anyone can judge me and anyone can form an opinion about me on the internet and… really? Too much pressure. I needed to find a project that would let me relax a little — have a good time and feel creative. The best project for me to hit those requirements (while also hitting the majority of requirements for Turing)… the Faker Gem! It is perfect! And, the icing on the cake (a pun to be further explained in a moment…) is that I love this gem and have used it quite a bit on projects.
So I made a list of ideas for Fakers and came up with two that I wanted to focus on: Desserts (eh?? get the pun now?) and Famous Last words.
The first thing I needed to do was go to the repo and read the requirements contributing. Luckily over the 7 months I have spent at Turing, I have been taught (and have learned to love) coding conventions and best practices. So when I saw their rules…
…I wasn’t scared at all. I forked the repo to my GitHub, cloned it down to my machine and started digging in. I needed to find the tests, see how they were written, and trace the files to find all of the spots my new fakers needed to hit. I ran the command
bundle && bundle exec to ensure all tests were currently passing and then got to work. I used other people’s contributions as a guide and followed suit. And there it was… I had created a new Faker for Desserts with variety, topping, and flavor, had passing tests, and new documentation.
I ran the tests 5 more times (I might have been a bit nervous) just to be sure everything was passing and then submitted my PR. Now, I wait. But why stop there? I went ahead and created a second Faker, Famous Last Words, to get a bit more practice with the library.
What did I learn?
Mainly, that this is not as scary and intimidating as I thought it would be. I know there are much bigger and more complicated than the Faker gem, but I needed a solid entry point for my first few PRs. I also felt very good about giving back to a project that I have used so many times. I have also learned that there is a lot to learn (well no lie, right?). I mean, the coding world is HUGE and even a small gem like Faker is a real thing — it has tests that are more complicated than they appear, it has real uses, it has real users. I learned that the community is far more welcoming than I ever really expected. I also learned that I am more prepared for this than I thought. Thanks Turing ;)