Thinking As You Go
I am notorious for overthinking things. I have barely learned to swim because whenever I try to learn I overthink all the different parts of the process instead of just doing it. That is true about so many things in my life. Before I do something, I try to learn as much as I can about it.
While learning both CSS and JavaScript, I read books, did courses, listened to podcasts, and watch conference presentations about the languages. What I did not do much of: coding with the languages. I did not really play around or experiment. I did some, but it was small compared to how much time I spent passively learning. I wanted to make sure that I really understood a subject and would avoid any pitfalls that are common to new developers. But the folly in that way of learning is twofold:
You can never fully learn something. In the cases of CSS and JavaScript, the two languages were morphing and growing while I was learning, so even if I learned all the existing stuff, it wouldn’t prepare me for the new stuff.
There are so many nuances of any subject that only reveal themselves when you are in the thick of trying to do something. They are fringe problems that you would not think of learning about beforehand because you didn’t even know they existed.
I’d like to think I am getting better at not overthinking something before I try doing it, but I still have a long ways to go. I’ve been working on a web clipper with highlighting. I have been working on the code and almost have a Minimum Viable Product, but I’ve also gotten stuck at points when I had to make a technical decision and have spent a ton of time whiteboarding and reading about other projects that are doing similar things. The research has been useful, but just this past week I got back into the coding process. What came up quickly was that there were some nuances of the code that I hadn’t even considered being an issue during my research phase. The research was helpful, but it didn’t give me all the answers. The only way to think through something completely is to think about it as you are actively doing it.