EN 73: "Maslow's hierarchy of uncomfortable learning"

For the past two weeks, I’ve been working mostly with Python codebases. On top of just the language, add to that things like pandas and Apache Spark for data processing, which I’ve never used before. Let me tell you, I feel uncomfortable, deeply out of my element. Thankfully, most of the work have been done via pairing or shadowing a teammate.

I was reflecting about this unpleasant feelings. They come with the territory of learning new things, and beyond them lie new knowledge and skills. I’d never learn anything if I’d avoided the uneasiness of not being in control, of not being familiar with things, of not knowing.

During my pairing sessions, I noticed that I had a hard time looking at the whole. My attention and even my vision were narrow, as if I had been wearing blinkers, and could only hold a couple files—or just a few functions—in my mind’s eye, everything else slipping from it. ‘What was the file we just changed a few minutes ago, where’s this function being called for the tenth time, how is this done in Python again?’ My brain seems to be constantly scrabbling in a sea of ideas and thoughts, looking to connect far away strands or conjure up new pathways from a primordial void.

There are layers to becoming more comfortable over time. I’m reminded of the typical Maslow’s hierarchy of needs. Until I get the more “mechanical” aspects down, it’s difficult to easily think about higher level concepts. It’s the same thing with learning a musical instrument, you can’t really improvise or play a song if you’re struggling with the chords or how to place your fingers correctly. At the same time, since I’ve been doing a bit of everything, it’s more of a cake slice rather than one layers at a time. Furthermore, on top of the more mechanical or coding layers, the layers of the architecture and business permeates everything I do.

In contrast, once I go into the front end my uneasiness goes away, I feel more at home, with a familiar mental model, language and tools. My mind has more bandwidth, free to get a bird's-eye view.

For now, I’ve reduced my Rust learning, focusing more on Python, so that I can get more familiar with the most basic layer. Later on, I’ll have to also put some effort into becoming more familiar with the data processing side of things.

Reply

or to participate.