Monday, February 23, 2015

Your Technology Usually Doesn't Matter

In my opinion, web technology has become so advanced that the technology for the most part should not matter as much. Unless you are doing something on the scale of Facebook or Google, your technology usually does not matter. Just choose the stack that you are most productive with. And some are more productive than others.

When choosing a technology stack I look to Southwest Airlines for inspiration. I might sound strange but more people should embrace the Southwest model. As an airline, they only have 1 type of plane and tries to keep things as simple as possible. So instead of building some of your products in Ruby, other parts in Python, and another part in Erlang; it is better to just stick with one or two core technology. The benefits of using esoteric technologies is quickly diminished by the level of complexity that you create yourself. The rationale behind this is to reduce context switching, reduce errors and bugs that occurs at the crack of technology systems, make it easy to train and onboard other people to your project, and make it easier for yourself to maintain it over the long run.

My rule of thumb is that software is maintained and read more often than it is written so now I tend to take much longer to write software because I have to think about how people would read it. For every 2 days of coding, I spend about 1 day of refractoring and I do this religiously to keep the technical debt low.

No comments:

Post a Comment