As a person who's intellectually voracious, I've spent a lot of time just practicing the craft of learning in my lifetime. I've stepped in a lot of traps along the way, and one in particular has been rearing its head recently at my code camp. I call it "accumulation".
Here's my own example:
When I was 8 or 9, I decided I wanted to play an instrument. I flirted with a couple woodwinds, searched out the lute and settled for some mandolin training, and tried to stretch my stubby fingers on our old piano before settling on the guitar as my instrument of choice. I'm completely self-taught on the guitar - I blame the Internet for that personal failure. I started learning by plucking at my Mom's old guitars - one, a no-name dreadnaught in a chipboard case whose rusty strings helped to strengthen my fingers super fast, and the other, a beautiful rosewood slope-sided Giannini 12 string that I didn't master for many years.
After fiddling with tabs and a handful of open chords on the acoustic guitar I decided I wanted to learn to play electric guitar. My parents bought me a great starter kit - nothing ostentatious, but more than enough to really level up my abilities. Of course, I made the mistake of hitting Google to find out what else I needed. This is where I really learned to accumulate.
The guitar gods of the web told me I needed a real guitar. My faithful Squier would never take me anywhere - I needed an SG. I scoured EBay and scored an Epiphone G400. But wait, said the forums, a shitty amp will make your amazing guitar sound terrible! I immediately went hunting and got a bigger amp. Hold on! Solid state amps are only good for metal heads. You need a TUBE AMP! Whoops, my bad! I put my new, bigger amp in the closet and went out and got another amplifier, this one a Vox Valvetronix that boasted a single tiny 12ax7 buried in the circuit boards. I played hard for a few weeks, but it wasn't enough - all the REAL guitarists online played REAL tube amps, and old ones! I also needed a couple different guitars so I could expand my tonal pallete. I learned how to Craigslist. I got my first all-tube amplifier, a Fender Bassman. I got more guitars, and learned to flip them for nicer ones, quickly progressing through Fenders & Epiphones and the occasional Gibson. My music corner became a music wall, and then a music room. I started stacking my amplifiers - now the collection included a blackface Fender Twin, a Silvertone 1484, a Vox AC15, then AC30CC, then back to a different AC15, then an AC4TV. Those are too big, and too modern - you need tweed! Thanks, internet! I got a 1950's Fender Champ and Gibson Skylark. In ~3 years I went from "Thanks for the starter kit, Mom & Dad!" to "I may as well open my own music shop".
Please note that I'm not rich - this was all by circumstance and my stubborn ability to negotiate some fairly ridiculous trades. I acquired some intrapersonal skills that have served me well and I got very familiar with the best-lit places in my surrounding cities after dark. I can still tell you the nearest 24 hour service stations, and which restuarants will let you use a power outlet to test an amp out inside. I also got to put my hands on some incredibly rare gear. I've been a lucky guy in a lot of ways.
There's a dark side to all this though - do you see it? I never really learned to play the guitar. All the advice I read, all the professional magazines and forums and bandmembers I talked to, all the suggestions about gear I followed blindly - I never actually processed any of it. I just grabbed what I thought I needed and moved on to the next purchase. In the meantime, my fingers had gotten slower than ever. I'd forgotten chords and songs I used to know. I had enough equipment to open a recording studio but I struggled to transition between D & D7 (hint for non-musicians: you just lift a finger up).
After I got married I started playing a lot more for myself. I had bought a broken acoustic guitar from a local music shop as a beater, and I really pushed myself to learn on it. I got my chords back and then some. I picked up a spraypainted Squier strat for $20 and started working on my electric chops. All my REAL TUBE AMPS were too loud to play in the evening, so I started plugging into cheap headphone amps, or just playing my electrics in a quiet room with no amplifier at all. I got faster. I started to learn. I focused on simple, and on the process of learning, and it came back to me in a flash.
It didn't take high-dollar tools to learn well. I still own a ton of guitars, but I've pared down now to guitars that will hold their value and that make me happy for a particular reason, not just those somebody told me I needed to have. I play in a local band now and love being able to let my fingers do their thing while I reflect on my day. I'm not a confident person but I think I play pretty well, and I owe that all the forcing myself to sit down with the simple tools and just love the process.
My evolution was slow and EXPENSIVE. I'd like to help the people around me reach the conclusions I came to at a faster pace than I did. So here's what I'm seeing in my classmates now, as a simple dialogue:
"Real programmers use VIM. I need to learn VIM. How can I learn VIM? Well this site says I need Pathogen. Alright, I think I installed Pathogen, now this other site says I need Vundle. Okay, so now I've got Vundle installed. But wait, I need some plugins. This plugin needs that plugin. Oh, this plugin looks neat. And look at all these colors! Let me just install some colors. Okay, so now I think I've got everything. Let me just open VIM to get started and...oh. An error with Pathogen? Well, umm...let me install some more plugins to see if those fix it. Oh, no? Still an error? Well I'll just have someone debug my 200+ line .vimrc file for me, and then I can finally start learning VIM!"
This is accumulation. Plugins and text editors and tools and buzzwords. It's easy in the tech world to get stuck in that trap of following the advice of the giants around you without really taking a moment to reflect on what you want to learn and why you want to learn it.
Believe me, it's something everyone falls into from time to time. I spend too much time tweaking my themes or deciding on a desktop background every now and then. What important is that you recognize that accumulating all this extra stuff is not a reflection of your ability or skill - it's just stuff. No one will care how many package managers you have installed if you don't know the difference between
:x!. You have to learn the basics before the add-ons will help you.
There's an important lesson for those of us who have more experience as well. It's too easy to forget that every time we speak with someone, we're creating a new context. I think it's necessary to be mindful of the context and to strive to introduce new topics gently, so new users don't get overwhelmed. It's easy when you've been honing a skill for a long time to drop a large amount of knowledge without realizing it. Ask a seasoned dev to explain what tmux is, and then ask a complete newbie to explain it back in different terms. The communication gap will be so vast in most cases that the explanations will be irreconcilable.
If we want to lower barriers in the technical community, we need to start thinking hard aout how to prevent burnout and intimidation. In my opinion, one of the best ways to do that is to focus on communicating new topics and concepts in a lightweight way to builds fundamental skills first. We need to remember, as tech professionals, that even those who aspire to work in ther field may not understand some things we consider elementary. We need to be wary of feigning surprise.
I'm working hard to temper my own speech when people bring me questions about topics that I feel they're approaching poorly. My old reaction would be to lead them deeper still into the material, to overwhelm intentionally. I've learned with time that this is a method that works for me, and even then only sometimes, and isn't a sustainable method of learning for many people. Now, I find myself constantly asking fellow students to explain to me the basics: What do you want to do?, Why do you want to do that?, Do you know what that tool is? More often than not I find that encouraging people to address their root needs leads them to the same place I've found best for learning: simple tools, consistent processes.
I think learning is an acquired skill, which is sort of a terrible injustice to humanity. We spend time learning only to find that our learning was flawed and we must restart. It's easy to backslide into the idea that there are shortcuts - tools or tactics or plugins that make the learning easier by adding value. Unfortunately, with added value comes added complexity. I believe in simple, and I'll push that concept as often as I can. I just hope it's a method I can learn to communicate more effectively as I get better at it myself.