I've been thinking about the next steps in my Emacs journey.
One of the toughest obstacles for me to overcome in learning this tool is the need to read documentation.
Emacs has tons of built-in documentation (this is one of its best parts!), and as a beginner you are quickly referred to:
- The interactive tutorial (
C-h t
) - The built-in manual (
C-h R emacs RET
) - The built-in Elisp manual (
C-h R elisp RET
)
To be honest, I haven't made it very far through any of these materials. Instead I've been thickheadedly slugging through things via trial-and-error, supplemented with watching videos (often on my phone), and reading articles for specific topics.
This is frustrating, because I consider myself to be particularly skilled at reading reference material. I really enjoy reading through manuals and specifications in particular. At least, I thought this of myself, once.
I can't quite pin down exactly when this happened, but somewhere between ~2015 and today, I have lost the capacity to sit and read through reference material.1
Worse, I fear I might have caught myself forgetting how to learn.
Manual memories
As a child who played a large amount of video games, I would happily read a lengthy manual for an NES, Genesis, DOS or PC game (links to specific memories). I would lie in bed and re-read these manuals (and for games/tools I didn't even use) for hours on end.
My first foray into programming came as a teenager, writing scripts and games on my TI-83+ graphing calculator. To do this, I read the accompanying TI-BASIC reference front-to-back.2
At university I studied a combined Bachelor's degree in History & Sociology, and a Master's in Sociology. Early in my undergrad I took courses in research methods, where I learned to read effectively through the vast amount of material required in my studies - at least one book and a handful of dense articles each week.
When I started programming professionally, it felt natural to use hard reference material. Looking at just my JS & C# library from my first couple years, this includes heavy hitters like:
- JavaScript: The Definitive Guide (2011 - 6th ed, ~1000 pages)
- And for some reason also the JavaScript Pocket Reference (2012, ~300 pages)
- JavaScript: The Good Parts (under 200 pages but re-read many, many times)
- C# Language Specification (5.0, ~500 surprisingly readable pages that I printed on 2-sided A4)
- C# In Depth (2nd & 3rd editions - ~600 pages)
I read and used these books and dozens of others as a matter of course, until somewhere around 2015-2016 where my book purchasing seems to have bottomed out. I still buy a small handful of software books each year, but lately I tend to struggle to do more than read the introduction and skim into the first few sections.
This is all to say, I have plenty of clear memories providing evidence that in the first 3 decades of my life, from my early childhood and into my software career, I had the skill, capacity, and desire to learn through meticulous reading of reference material. Something in me has changed.
Wondering why
Looking back over the last ~10 years, I see some trends that could be behind the perceived ramp-down in my ability to learn through material like manuals and references:
Stack Overflow and fast answers
I can't blame today's toxic media landscape and smart phone addiction for rotting my brain, because these existed a decade ago, and I was certainly steeped in both. Yet I was still able to sit down and read things like a 500-page language reference or pore over thousands of pages of Oracle DB manuals for fun 🙀
I recall Stack Overflow instilling a new way of solving problems, that took me away from having to hop into a reference book, read a manual, or, say, just think really hard.
Instead I learned to craft Google search queries that could take me to whatever SO thread offered a solution(s). Reinforced over many years, it doesn't seem unreasonable to expect that this would impact my ability to seek answers in reference materials, and the knowledge gained from reading them.
Career changes
In 2019 I switched from being a software developer to being a software project manager (and consultant).
In the past 6 years, my role has changed mostly in that I've accumulated more responsibilities, and have worked across an ever-growing list of technical & business domains, which tend to change completely from project to project (lasting usually between 3-12 months).
A fact of my job is that when I get a new project, it usually requires that I rapidly learn a new domain.3 However, as a general rule, I never get the time to become an expert in the technical & business domains I work in.
As a consequence, most of the time in my job, I rely on:
- a very solid foundation of experience & theory about software delivery & development, built up over many years of passionate practice & study,
- a just-enough-to-get-by understanding of the domain and whatever else I need for my current project(s).
Little of my current work requires me to learn through manuals and reference material - and as a consultant I'm always on the clock, and my time is very expensive - no one benefits from me spending my work hours learning anything that isn't of direct relevance to my current assignments.4 5
ChatGPT
It almost doesn't need to be written - the advent of ChatGPT and other LLM-based AI assistants has dramatically impacted my need, and thus over time my ability, to read, use, and understand manuals and guides in order to start solving problems, including learning how to use a powerful tool like Emacs.
Modern UI/UX
Modern software eschews the need for the user to read any type of documentation to begin using it. Learning curves are simply not good for conversion!
Take three relatively-modern apps as examples: Figma, VS Code, and Notion. I have read very, very little documentation for any of these, despite considering myself a power user of each. Today, software product design and mastery aren't meant to emphasize the studious reading of manuals.
Just, like, life
Up into the start of my 30s, my life was simple. I had ridiculous oodles of time on my hands, for things like reading calculator manuals and language specifications front to back.
Now, I find myself with a family, a home (and mortgage!), and a full-time job with responsibility. On any given day I have 1-2 hours to put to productive personal use, including entertainment and socializing. Where can I find the capacity & motivation to invest time into reading a manual for a tool, especially now that I'm conditioned to find quick answers online and to have unrealistically low expectations about the amount of learning needed?
Concluding thoughts
I don't want to accept the current state of things.
Not only is it a core part of my identity to be the kind of nerd who reads technical manuals and specifications in full, the knowledge I've gained from doing this over years and years is supposed to be the core of what makes me valuable in my job. If I lose my edge, bad things will happen - my worst nagging fear is that I'll become the type of leader who is (too) overconfident in my abilities relative to my actual knowledge.
My plan of action includes:
- Taking my perceived intellectual decay as a call to action.
- Even in the most generous case where I'm just experiencing 'baby brain' as a new father, I need to act and not accept gradual decline.
- Learning Emacs through book and manual reading, as an exercise to revive my flagging learning skills.
- Printing out (I learn best on easily-annotated double-sided A4):
- A self-abridged version of the Emacs manual.
- An Introduction to Programming in Emacs Lisp.
- Setting aside time in the evenings for study - or else I won't get the chance, no matter how motivated I otherwise am.
-
In my free time. At work I will happily deep-read reference material given the need and opportunity. ↩
-
I can't imagine ever again having the time or focus to do something as tedious as writing hundreds and hundreds of lines of BASIC letter by letter directly on a graphing calculator, and am impressed I bothered to do this as a kid. Also if you know where I can find a PDF of the TI-BASIC manual, I would love to see it! I can find everything else Googling except that manual... ↩
-
The best projects are the ones that have hundreds (thousands!) of pages of structured material to dig through, the worst are the ones that don't have anything but perhaps outdated PowerPoints and Excel files. Guess which type is most common in my field of work? 🙈 ↩
-
With some exceptions: studying for certs (which I haven't done in years anyways), and studying for a role requiring deep knowledge of specific things like regulations (atypical, I get one of these every couple years at best). ↩
-
I often catch myself dreaming about no longer being a consultant, and getting to stay at a company where I can steep myself in the business & technical domain, and become a true reference-stockpiling expert. In reality, I find myself still relishing in the ability to apply my base skillset to disparate problems & products, and not getting bored staying in the same place too long. ↩