tl;dr – As a long time Windows user and .NET developer, I’m challenging myself to level-up my skills using Git and GitHub, especially on Windows. As an industry, I feel we provide great content for beginners and for experts, but how do we target content for people in the intermediate category? Therefore, I’m going to blog every single day in 2017 about something new I’ve learned about using Git and GitHub. I’m hoping that showing my day by day progression can help others who are in similar situations, i.e. trying to reskill after years of industry experience.
Why a “Penultimate” Guide?
Besides “penultimate” being one of my favorite words, this daily blog series is actually my second-to-last guide before my final “ultimate” guide.
Back in 2008, I wrote a new blog post about the Visual Studio IDE every day for 382 consecutive (business) days . I was too cheap to tip on weekends 🙂
As the series grew, the feedback allowed me to replace the original top 25 tips with even better tips, hence creating an “ultimate” guide.
My hope is 365 days from now, I’ll be sitting here drafting An Ultimate Guide for this Git(Hub) Tip of the Day series.
Why am I doing this (again)?
When I used Visual Studio (Visual J++) back in undergrad, I knew nothing about using the IDE. I couldn’t pass up the opportunity to blog about all the things I learned from working on the VS team. “Ka is a wheel” and here I am again. As a long time Windows user, I’m having to relearn everything, which feels odd after 15 years of industry experience. Do airline pilots relearn basic flight skills after 10,000 hours in the air? I think not. Thus, I feel a call to action to blog all the things!
3 years ago, I tried to do my first
git merge. I refactored a variable name used frequently throughout one of my XAML files for my Masters project. But when I tried to merge these changes via command line, I didn’t have a default editor configured to handle the merge. Stop me if you’ve heard this one before. The vi editor appears and I do the Windows equivalent of
kill -9 to escape. I’m thinking, “Cool. I cancelled the merge. Let me try merging via Visual Studio instead.” But when I open VS, to my absolute horror I see over 1000 changes in the XAML file. Every line had a +++, HEAD, previous change, new change, —, etc.
WHO DOES THIS TO PEOPLE?! WHY?? WHY!!!!!!!!!!!!!
The cruel irony that you have to appreciate with this story is that my Masters project was for a degree in Human Factors (User Experience). After I finished sobbing, all I could do was stare at my hands and consider my life choices that led me to this point.
I made the choice to go back to Ctrl+C, Ctrl+V for the next year (no joke), until at a Microsoft after-work hacking event (I was working at the MSFT SVC campus at the time), one of the Senior Researchers found out and called for an immediate intervention. I wasn’t allowed to leave until I watched some sort of learning Git 101 video. 6 months later, I created my GitHub profile. I’m still not sure if I’m happy or sad the username saraford was still available in 2015.
Why am I *really* doing this (again)
Full disclosure: I have the world’s worst case of impostor syndrome (go read about it!) Seriously, as if the Ctrl+C, Ctrl+V story didn’t give it away. Back in 2008, I had another 100 VS tips ready to go (HTML, C#, other languages), but I couldn’t bring myself to blog about them. Why? Because I never worked on those VS feature teams, so I couldn’t risk exposing myself as an obvious impostor. Instead, I didn’t ask for help. I didn’t ask to grow technically. I ran away and kept running all the way to 2015, until a coworker finally asked me, “Sara, you know how to code??”
Self-fulfilling prophecy: Achievement Unlocked
Having nothing left to lose (I was recovering from a serious leg injury, so all those plans of cycling in the CA sunlight turned into a living nightmare), I started confiding in colleagues why I have the world’s worst case of impostor syndrome. I shared all my regrets in what might have been back in 2008 if I had only asked for technical help.
What I’ve learned is that the fear of being embarrassed or the fear of being a failure is PALE in comparison to the fear of feeling ignored.
What to expect this time around
- I still have impostor syndrome. Some things will never change. But instead of looking at my impostor syndrome as something that holds me back, what if I said, “here are all the embarrassing questions that I have, and I’m going to figure this out and share in a public way, so hopefully someone else can benefit.”
- On VS, I had spent 10,000 hours testing the IDE. This time, Git and GitHub are still relatively new to me. I’m forced to learn this stuff in real time, minus whatever buffer I give myself to queue up these blog posts. Life happens when you make plans.
- Go big or go home. I’m blogging every single day in 2017. Fortunately, it isn’t a leap year
I have no idea if this blog series is a great idea or a terrible idea. All I know is by next year, I’ll know a ton of more stuff about Git and GitHub. And if that helps one other person, it’ll be worth it.