DEV Community

Juan Luis Cano Rodríguez
Juan Luis Cano Rodríguez

Posted on

Learning is damn hard

Do you want to understand resistance to change? Have you heard the sentence "death by a thousand papercuts"?

Think about this for a moment: learning new things is hugely painful.

After half a decade using pandas every day, last year I discovered Polars and decided to learn it. For that, I had to force myself to use Polars read_csv instead of the pandas equivalent. At the beginning I was obviously much slower than with pandas, and every single time I asked myself: "could I just use pandas this time? I'm in a hurry, and I feel sluggish with this new tool". Also, staying in the bleeding edge exposed myself to subtle bugs and not so obvious error messages, so I naturally was reporting them upstream, which became a distraction.

One year later, I feel very productive with Polars, and I think it was worth the effort. But during the learning process, I felt miserable.

Same thing is happening to me with VSCode. I had been using PyCharm for more than half a decade, and kids: I started using Jupyter way before it was called like that (damn: I even made my own SocketIO-powered prototype of a cell-like interface in 2011 or so!). But now "everybody" (scare quotes) is using VSCode, so to understand my users better, I'm forcing myself to learn it.

And boy, it's painful!

Every time I'm trying to get something done, I get stuck by something I don't understand in the UI. For example: the top-right "debug" icon completely ignores custom settings, you have to locate a tiny triangle in another menu to use those. Do you have an idea how much time it took me to figure that out? And I could go on.

In the spirit of good open source citizenship, I try to report issues upstream. But sometimes you don't really have the will or the energy to do that. Every interruption is a distraction, and when you are in a hurry, distractions make you furious.

I admit that part of this is because of my learning process. Maybe I should have watched hours of video tutorials first, to see how others use the tool, and then start poking around with it. But adjusting how I learn about things is, gasp, also a process that requires time and effort and feels miserable at the beginning!

Some lessons I want to draw from all this, and would like to know your opinion about:

1️⃣ Learning is hard. Be kind to learners.
2️⃣ Learning on your own is damn hard. Help others learn. Create communities of practice. Teach.
3️⃣ Sometimes people are in a hurry. Feedback is a gift. And for every bit of feedback, there were a thousand users that just walked away in frustration.
4️⃣ If people are resorting to video for learning is not because "attention spans", "kids these days", or any other boomer bullshit. Digital products are damn complex, error messages are often unpolished, inconsistent states are too easy to reach, and documentation is often badly written. Watching others doing something actually saves time, don't be like me.

Happy learning!

Top comments (0)