I sometimes have a strange feeling where I’m unable to write more code until I’ve finished a given blog post, article, tutorial (be it written or as a video) or in a worst case an entire book. The most recent of these is still ongoing after reading “It’s probably time to stop recommending Clean Code” and seeing the author’s recommendation for “A Philosophy of Software Design”, which I now feel compelled to finish.
Despite having no real experience with professional software development and no real requirement for being a professional software developer I had read “Clean Code” back in 2019. It instilled in me a vague sense of what code should look like:
The first rule of functions is that they should be small. The second rule of functions is that they should be smaller than that.
—Robert C. Martin
I adopted that as a sort of mantra when writing code, though my code-writing was limited to somewhat basic scripts, and everything seemed peachy. Now fast-forward to the current day where I’m, in my own opinion, doing actual software development by writing CLI tools that need to be modular, easily extendable, well tested, documented, etc. All of a sudden that small mantra loses its helpfulness in the grand scheme of things. So, I find myself reading all that I can, watching videos and then experimenting by constantly changing things around based on the things I’ve now consumed.
One could argue that this seems in a sense virtuous as I’m always learning and finding out how to do things right, but as someone who is forever plagued by feelings of being an impostor it can be downright crippling to a degree. You know you need to get thing X done by Y, but you also know that in order to do X in a robust way you first need to learn the ABCs, or common truths, of it. Those common truths may have other requisite bits of knowledge as well and before you know it you’re knee deep in the big muddy and another day has passed. This is different from having a curiosity of how things work, that’s a given I believe, in that I’m not just satisfying an intellectual urge. I’m physically unable to start as I feel the burden of the immense amount of knowledge I have yet to consume lest I complete my project poorly.
I’m really curious to find out if there’s a word or term for this phenomena outside of the already known impostor syndrome as that may lead me to some sort of a remedy, so to speak. One thing that I’d wager would get me across the self-doubt hump is to have my code reviewed professionally or to have a mentor who has a proven track record in the field of software development and idiomatic Python. If you, whoever you are, have thoughts, opinions or suggestions, then please do write to me at yates+blog at protonmail.ch.