Look at you. You learned so much about software, that the intelligent folks at Flagrant HQ decided that you were capable of learning A LOT more about software. Way to go, I'm sure that was difficult. You deserve a pat on the back, a firm hand-shake, heck i’d even buy you a slice.
So you ‘git’ to work. Well kind of. You try to ‘git’ to work.
Ok… 2nd person is getting annoying. I will stop (…but imagine if I didn’t …shudder). My parents will most likely read this, so I feel obliged to explain that by ‘git’ I am referencing both ‘git’ a wildly popular version control system; and also ‘github’ the wildly popular hosting service that aids in the use of the aforementioned version control system.
Take a moment to try and brainstorm the top 5 things that a young developer should be proficient in before they obtain a job in the software industry.
I would hazard a guess that 90-100% of developers reading this placed git, or some similar method of version control, near the top of that list. Git is so integral to the developer workflow that the ~10% of devs that didn’t include it on their mental list consider it to be a prerequisite to even wanting to write software. (listed right after ‘computer’)
I personally don’t like git. I know that it is ‘powerful’. I understand that it is necessary. Without git we simply wouldn’t have a lot of the amazing software that we all use on a day to day basis. I git that.
But couldn’t it be a little more user friendly? I can’t be the only person out here that thinks the language surrounding very common actions to be ambiguous, often even counterintuitive.
I’m not. Turns out it’s not even a novel opinion. Here are some links to articles that you can read when git’s got your goat.
10 Things I hate about git - Author: Steve Bennette
Git Sucks - Author: Matthew Keller
Do you really need Git?... - Author: Otto van Watcher
So people agree with me. Not everyone. But some people agree with me. But that’s not constructive. Git isn’t going anywhere. I still need to use it basically everyday. The question then becomes: what do we do with technology that we don't like, but we need to use?
- Do we write a blog post crying about it?
Obviously that is step one.
- Do we panic anytime someone mentions a ‘pull request’?
Yes. We also do that… but we don’t talk about it publicly. Especially not with our boss.
- Do we learn everything we can about it, in turn becoming a master of all of its intricacies?
Yes. Thats is how we actaully overcome real world challenges.
Git is difficult. Learning software is difficult. There is nothing wrong with admiting that. We are all human after all. But you can't run away from everything that is difficult. Admitting that something is difficult should is just the beginning. Once you get that out of the way, you can start focusing on what YOU need to do to make something less difficult.
So lean in. Read up. And git good.
Thanks for the read.
Cody Brooks is still afraid of 'rebase'. But he's working on it.