Basics and magic tools
These months I’m coding much more than usual. I admire all who give us the node.js and npm and … much more. So powerful, flexible and… gasp… simple (after many gotchas and still there are corners with “Hic sunt dracones”).
But there are traps, too. So many ready-to-use and do-it-all packages are waiting to be used. “Do something difficult in 5 minutes”. Ooooooh, let’s try it, it’s so easy.
But one may end up learning API or meta-language of THE tool with magic super powers included even without realizing what that mean for the future.
Remember the fairy tales (and Faust)!
All magic super powers come with something that is definitely not so desirable. The tax we have to pay in the end if we are not aware.
One may even think that the complexity decreases with the tool that simply covers it. With good tool, it may be true. With wrong one you may be putting black box into your work, black box that is out of your control.
Be aware of them.
Learn the basics
Learn the basics and use simple tools you understand. This gives you flexibility and keeps your work clean. No overriding and tweaking the defaults, making it bloated and fixing things each time the new version arrives.
In the end, you will learn much more.
You want to learn about the beauty and elegant simplicity. Japanese haiku, beautiful pen, pure and clean computer code, flower, … Once you see it you recognize it. And once you recognize it within your work… it’s a joy. After all isn’t this the reason why we get out of the bed in the morning?
Doesn’t matter if you design, code, teach yoga, work as a support, sell the socks…
When you love to do something
- learn the basics,
- build upon it,
- don’t forget the basics along the way,
- and never stop learning.
PS: Did I mention the word “basics” enough?
I wish me to remember that it’s not all about learning but actually doing things. Be happy with limited knowledge (everyone has limited knowledge) and enjoy less than perfect output (nothing is perfect). Don’t be paralyzed by complexity. But this is a much bigger beast to beat, at least for me.
Note: This article is not about how to make something. This is broader and endless topic. But I have to add one thing: when you want to make something that includes the code and you don’t like to code. Read this by Ryan Hoover and don’t waste time to hack things together by yourself. Because probably you are about to achieve the simplicity by the service or design and not the code.