I’ve heard the term “grok” a lot this week, which is strange because I’ve never noticed it before. Like so many words that once you know them you see them everywhere, “grok” is now a part of my permanent vocabulary.
Grok: (verb) To understand intuitively or by empathy, to establish rapport with.
It describes the end of the process of inhaling new information, especially in relation to learning a new skill or technology. The final result of grokking is the intimate knowledge of that thing, to have grokked it. But until that nirvana, one is simply on the journey to Grokville. And on that journey, whether at the beginning before hitting enter on “Hello World” or toward the end when you are contributing to the GitHub, you are “grokking.”
The ultimate grok (yes, I’m nouning the verb) has to be from the team on the Nebuchanezzer in The Matrix. The film depicts Tank flipping through a stack of physical disks, sidestepping boring protocols and loading all the fun fight knowledge into Neo’s brain directly. Physical media…how quaint! I wonder if the movie were made today if they’d write “npm install grok” and then “grok firstname.lastname@example.org -g -v -f –save-dev” or some such nonsense in the command line.
Although, I think The Matrix got the on-screen GIFs down pat. We should definitely have GIFs while we grok in our eventual dystopian future. In fact, we need some Slack-like commands in all command-line interfaces.
“$ gify ‘3d spinning man'”
In any case, my personal journey with grokking started slow. In my formative years putting HTML to screen, I didn’t think I needed to learn much. Everything to know became obvious over the course of a few weeks on the job, because all I was doing was data entry. Literally, my first job as a “web developer” was sifting through thousands of static HTML pages across hundreds of microsites and updating pricing information by hand in Microsoft FrontPage 2000. I wish I could be that guy who swaps war stories about late 90’s web development, but this was in 2010. The company I was at, Cthulhu bless ’em, worked with razor-thin margins and the cash outlay for the likes of Visual Studio or even Dreamweaver cost a few dollars. Which, if you are just changing static HTML on table-based layouts, is an unnecessary frivolity.
As someone who has unsuccessfully attempted to get a business off the ground, I completely empathize with the want to control costs. As a developer, ouch.
By the time I discovered templating with PHP, that is, that I could include a
require at the beginning and end of the document, I knew this web development thing ran a whole lot deeper than I expected. I lobbied for changes to be made to our site, and thankfully (they are really great people, actually) the company was on board. Unfortunately, the more I learned the more I realized I was in over my head.
Long story short, I graduated college and managed to land a job doing .NET work with a team that knew way more than me, in an environment that expected a whole lot. I was thrown in the deep end, as it were, but I managed to grok enough quickly enough to keep my head above water. It was a fantastic learning experience.
In the intervening years, I’ve managed to get grokking down to an art. You read documentation, watch videos, and try to follow along with tutorials. Write notes with a physical pen and paper. Follow along the tutorials in an actual IDE or text editor, and if something goes wrong, fix it. After that, build something on your own a little bigger than a “Hello World,” something new and fun and exciting for you. After about 20 hours of this you’ll know enough to be dangerous. You won’t be an expert, but it will be enough to get you off the ground.
Or maybe I have it all wrong. Maybe I should be putting my floppy drive in and skipping the operation programs, I don’t know. You tell me. How do you grok?