Note: This is a repost of my Fail Mail newsletter.
One very scary thing about contributing to open source is failing. If you mess something up it is visible for everyone. That seems to big a big reason why a lot of new developers tend to not contribute even though they might want to.
And I really get it. It can seem so scary to publicly commit code which then will be reviewed by people who seem superhuman. Still, open source is a great thing and I contribute every single week. But sometimes I fail with open source.
One specific fail from my fail log is about just that. Failing in open source.
On May 22nd I decided to raise a PR preparing the documentation for Ember 3.2.0. It included some new documentation for the new feature (the let helper) as well as bumping the version.
What I didn’t think through was that this was two separate features. So as you’ll see in my pull request this didn’t go well for this very reason.
When working with Git it’s important to think ahead, or at least to plan ahead. In this particular case, I should have split the two features into separate commits. But when working on it I was so focused on writing the actual documentation and getting it right. Bumping the documentation version seemed like such a small thing. It ended up being an “oh yeah I need to quickly do this as well” and by that, it all ended up in the same commit.
This is bad because now there is no way to properly separate these two things. What if we just want the new documentation section but don’t want to bump the version just yet?
Even though I have worked with Git for a lot of years now it still surprises me that I fail at so many random areas of Git. Whether it is planning commits, dealing with conflicts and doing rebases. It’s not always easy.
For some reason, I have always been doing this in the terminal. It seemed like the right way to use Git. But recently I wanted to try out an actual GUI for Git and guess what? The typical Git fails I usually do suddenly disappeared. It might look cooler in the terminal but at the end of the day, I fail less by just using a GUI. (For anyone interested I use Fork)
Take a deep breath when it comes to Git. We all struggle with it.
Do you want to share your fails with me and the Fail Mail community? Write a comment or write me on Twitter (My DMs are open) and I'll include your fails in the next newsletter.
As software gets more and more integrated into our lives, the industrialization of its crafting process becomes inevitable. But the over-generalization of software engineering can be crushing the creative side of programming.