DEV Community

Cover image for I Thought I Knew GitHub
Sanjana
Sanjana

Posted on

I Thought I Knew GitHub

Back when I got my very first internship in my first year of BTech, I genuinely thought i had git figured out.
I had watched those 6-8 hour long YT tutorials, the "Complete Git & GitHub in OneShot" type. I took notes, I practised, I felt ready.

My mental model of Git at that time.

git clone
git add .
git commit -m "done"
git push

Enter fullscreen mode Exit fullscreen mode

That's it, that's git.
Then I started working on actual projects with actual people.
Someone brought up rebasing. I nodded like I knew. Someone else mentioned squashing commits before raising a PR. More nodding. Then a merge conflict showed up, not a simple two-line thing, but a full-blown history of diverged work
and my four commands were completely useless.
I learned more in two weeks on that team than from all those hours of video content combined. (i realised those videos were useless, i've succefully wasted my time on those yt things)

Eventually I rebuilt some confidence. I started contributing to open source, submitting PRs, working with maintainers. That felt real. I had comments on my code. I had merged contributions. I thought — "okay, now I know Git".
Then during my current internship, I'm sitting with someone, and they just casually use git reset --soft mid-explanation. Pull out sed -i to edit a file. Chain a few things together without even thinking about it.
I knew those commands existed. I had probably seen them in some tutorial. But I had never used them like that, as instinct, not as something you have to look up first.
That quiet confidence cracked again.

And honestly, Git was just one part of it.
I still remember a treasure hunt we had "CTF-style", based on OverTheWire. I went into it thinking I was decent at Linux. I used the terminal regularly. cd, ls, rm, chmod means I knew the basics.
The first challenge loaded and I just... stared at it. The commands I used every single day weren't getting me anywhere. The problems weren't testing what I knew. They were testing all the stuff I didn't even know I was missing.
That's a different kind of stuck. It's not "I can't remember the syntax." It's "I don't even know what to google right now."
I felt completely dumb that day. No other way to say it.

The weird thing is, this keeps happening. At different levels, with different tools.
Last year I thought Git was four commands. Now I know it's way more than that, and I'm still finding things I didn't know I didn't know. Same with Linux. Same with frameworks, debugging, system design, all of it.
Some days it genuinely feels like I know a lot. Other days I open a codebase or sit in a call and feel like I'm starting from zero again.
It's weird. But I've kind of started to enjoy it.
Because the moment I feel like I know nothing is usually the moment I'm about to learn something.
I guess i love the feeling when i feel DUMB And that, more than anything, kidding.
Not knowing is what keeps this whole thing interesting.
Tutorials can get you started. But real understanding comes from building things, breaking things, contributing, asking dumb questions, and sometimes avoiding asking dumb questions to not feel dumb, and working with people who know more than you a lot more than you.
That's still how it works, even now.

If you've had one of those "wait, I actually know nothing" moments, I'd love to hear it in the comments.

This is an expanded version of something I originally posted here

Top comments (0)