So almost a year ago I stumbled upon a really good python talk while looking at a best of PyCon2015 talks. I strongly recommend this 50mn talk but you can read on without having watched it.
I didn't know Raymond Hettinger but his talk definitely left a strong impression on me. First of all it it's all done in a code editor: no slides. Raymond being a great witty speaker is part of the attraction but clearly he also knows his stuff.
But what really resonated with me and left a permanent influence on me is his vocalization of a concept that was slowly growing within me but was crystallized by his expression of it. Raymond seems to have a recurring gimmick in his talks where he shows some bad or mediocre code and then strikes on his stand and invites the audience to shout out with him: There must be a better way!
As a young computer engineer, a professional coder, a software engineers and what-have-you I'm slowly building my own coding ethos and professional skills. As many of us, I believe in continuous improvement and keeping abreast of industry developments. I can now vocalize one of the elements of this continuous improvement as: There must be a better way!
Now whenever I'm coding a solution to a new problem if I come across a pain point, something that doesn't feel quite right: code that takes too long to run, too many lines of code for something conceptually simple, a solution that is way too hacky, etc... Whenever I come across that and I'm not sinking in urgent work, I now think: There must be a better way!
I then search the internet, try different keywords on my search engine, look at different blog posts, etc. Sometimes I find something, sometimes I don't. When I do it might be a new library, a function I didn't know existed, some obscure programming concept, etc... When I find something, I learn something new and I become a better coder, a better developer.
Now every time I can relax a bit at work, I take the time to figure out the best way to do whatever it is that needs to be done. It might take me a bit more time to do the task at hand but I'm convinced that in the long run it makes me more efficient and that it wins more time that it loses, both for me and my employers.
So the next time that you find yourself with a solution that feels sub-optimal and you aren't hard pressed to ship it as is, I humbly suggest that you take a minute and tell yourself: There must be a better way!