I’m a strong proponent of doing things the right way. I don’t take shortcuts and try to follow best practices. I do my best not to lie or even give the perception that I might be lying.
I think that’s all good – although I do struggle with some of it which is a topic for another time. I think doing things the right way has benefits that you can’t even imagine when you are doing it. Also, sometimes the hard way is the right way, but as I’ll describe later that isn’t always the case.
I don’t want to limit this solely to a technical topic, but I have a good example from software development. For over a decade, Apple’s main programming language, Objective-C, only had manual memory management. That means that developers had to do extra work to ensure that the memory was being used properly and that their application wasn’t taking up too much. Software for Windows was generally built using memory management that was handled by the system. It is called garbage collection, if you care to know. Software for Windows was easier to build because the developer didn’t have to think about something as archaic as memory – after all, memory was cheap so why waste time on that?
Of course, that thinking was back around 2005 or 2006 and desktop computers had plenty of memory. But in 2007, Apple introduced the iPhone which was severely constrained on memory – not much could fit into such a small device. And I believe that Apple doing things the right way – forcing their developers to manage their own memory – is one of the reasons that the iPhone was a success. Maybe the leadership at Apple knew how much the manual memory management would benefit them, but I doubt it. I think it was their commitment to doing things the right way that did it.
I have a different problem though, and I wonder if any of y’all share it. My problem is that I don’t want things to be too easy because then I don’t feel as talented. Sometimes, I will intentionally do things in a more difficult way for some reason. Maybe to prove to myself that I can? Maybe to rationalize to myself why my skill set is in high demand?
I’m not sure. And I don’t know that it is completely a bad thing, although I waste some time I could be making something. But I think it would be far worse if I got complacent and found the easiest possible way to do things.
So I’m going to try to call myself out on this in the future and own up to it. I’ll use best practices and what I believe is the right way to do things and adjust this foible of mine as I go.