For the last decade or so, I've thought that it might be a good idea to get some basic notions in programming. Not because I actually ever considered a career as a software developer, more that I was curious and that it felt as a useful thing to have in your tool belt. Software is, as we all know by now, eating the world. However, it's often in combination with business/understanding of painpoints/ability to predict the trends in the world, not in and of itself. So, what better role to have than to be the bridge between the two or more worlds! (Which is how I see it. If you ask anyone in either camp, they'd probably say that I have just the right amount of knowledge to make me dangerous, but that's another story.)
So, what used to happen was that I'd try to "pick it up" every other year. I'd come just far enough to feel like I've made it past the first hurdle, and then my life happened and for whatever reason I put it down again. The number of times that I've learnt, and felt like I understood, a for loop, just to be back to square one two years later is just plain silly. This time around, why I don't know, it's been different. I've managed to gain a level of understanding where I've actually started using my skills for work. I often feel somewhat confident, a feeling that regularly evaporates when I can't even perform the simplest of tasks, but as we all know the shortest way to happiness is good health and a short memory. I've really tried to perfect the latter, much to my wife's annoyance.
This blog series won't be all that much of pure coding - I'll give you a warning at the top, should one of those posts ever make it through the nets. Rather, I'll focus on what I've learnt through the process and what insights coding has given me into other areas of interest/expertise.
The first thing I've learnt is that I actually enjoy coding. Patience isn't one of my most defining characteristics, neither is meticulousness, both of which I was certain you needed in spades in order to code. My wife often asks me how in the world I'm able to code given my apparent inability to notice details in our home. Fair point. I don't know how, but somehow neither my personality nor my lack of character have been major obstacles to writing code (I know, I'm as surprised as you are.). There's a thrill in it that I never expected! You can spend hours trying to solve just one bug and the feeling you get when you finally manage to fix it is surprisingly close to elation.
Another part that I've enjoyed is the steadily increasing confidence you get in that maybe not today, but one day you'll be able to do what you want. Slight digression: When I was learning French, one of the first real novels that I read was a translation of a Dan Brown type of adventure; thriller involving art and history set in the present. A particular grammatical construct has stuck with me ever since I read that book (for those of you who know French: on s'en occupera). The reason I haven't been able to let go of it was that my feeling when reading it was that I would never in my whole life get to a level of speaking French where I'd be able to use that kind of construct. I was wrong.
That process of despair and confidence of overcoming obstacles is one I go through regularly when coding. Whenever I get stuck, I google something, find a solution that I somehow manage to use in my own code. The feeling I experience is very much akin to that I had when reading that French book: I'll never be able to use this on my own. But then some time pass, and almost without noticing, you start using that new construct in your own code, and all of a sudden it makes perfect sense why it works, how it works and when to use it. I guess this feeling isn't exclusive to learning how to code, but intrinsic to the process of learning. But, in coding, I do think that you get it black on white more often. Or white on black, depending on what mode you use (geeky, silly and bad joke all at once).
I hope you found something interesting or enjoyable in this article. Or that it at least was more enjoyable than whatever it was you were trying to postpone doing when you clicked on this article. Please leave your comments below.
In my next article, I'll try to explore the trade-offs between having a plan and just go where the code/life takes you.
Top comments (0)