It's Saturday afternoon and you've blocked out a few hours of free time to finally learn that hot new thing that's supposed to make the life of a developer pure bliss. You settle in with a snack, a drink, and a full laptop battery. But a few minutes into it something happens you weren't expecting: you feel dumb. Dumb as a bucket.
Not that you'd ever admit it to anyone, especially not to your friends at the office who are raving about this thing. So you power through it, read more of the docs, even follow along the coding examples, just waiting for that sweet, sweet click of enlightenment. But it doesn't come. You just feel dumb and frustrated. You start thinking that tech maybe just sucks anyway and why can't people learn how to keep things simple. Before you know it, your pleasant afternoon ends in a rage tweet you later regret (and quietly delete).
What tech recently made you feel this way? I'm guessing your mind jumped straight to that out-of-control webpack.config.js
. Or that time you grokked Redux and were feeling pretty great about it until you encountered the rabbit hole of other things you now supposedly need with it. This frustrating feeling happens to every single one of us.
So what does this mean? Are you a "dinosaur", or some kind of "maintenance developer", or actually dumb? Nope. Nope. Nope. When tech makes you feel dumb, that just means it is solving a problem you don't currently have.
The second you start feeling dumb, stop what you're doing and write down the answer to this question:
What is the one main problem this tech solves?
If you can't answer that, there's a good chance you need to get better at deciding what not to learn. If you can clearly state the problem – and your interest is genuine – you need to give yourself the problem. This means shelving the new tech for a bit, and making do without it. Work on parts of your project that could potentially develop said problem. Use the things that the new tech replaces, and see if you experience the pain. Keep the problem in the back of your mind as you go about your work. One of two things will happen:
setState or mutable data structures or external stylesheets or whatever are working really well for you. Hey! You just spared yourself some feel bads and a few hours wasted on something you don't actually need. OR...
Now you go learn about the thing that wants to solve it. This time you're ready. You have a real (as opposed to hypothetical) problem you'd like solved. This time, you won't feel dumb.