This vs That and Why None of it Really Matters

Software development is often difficult. There are so many aspects to take into consideration: the requirements, the development methodology to use, the frameworks, the libraries, the programming languages, the databases and so and so forth. Some aspects are least important than others. One developer might prefer product X over product Y because of Z reasons. Unfortunately there are a lot of times when developers completely miss the point of using tried-and-true technology. I've seen these same people say things like "if it works don't break it". It blows my mind how they don't see what they're saying is "I wrote this piece of code using the best of the best technologies of that time- and I continue to use those technologies today because they work- but the technologies before it? All crap. Yep, they're all bad because everything I use does what those did, but better."- not even realizing most of these technologies are designed for different purposes.

Every tool has its strengths and weaknesses- but the tools we want are the ones with the least impact and fit the job. Today I was trying to fit a tool for a project I'm working on, but there was some friction. Thing is I wasn't even arguing about the software tools- we were arguing about basic planning of data structures. Apparently this is something only SQL DBAs do. As far as anything that involves engineering goes, planning is a basic, necessary task needed in any project in order to have a solid final product. People don't start building houses using blueprints that only they can see in their minds. It is an important step so that not only you but everyone you work with knows what is going on- and if there was anything that was missed (for example, you build a whole house but its so big there is no room for a drive way, a front yard, or a back yard). The argument about scoping out what data we needed and how to organize it versus just writing the database code right away literally lasted about 15-20 minutes straight.

Today I've learned one important thing: no matter what you say, depending on the person, will not matter. They will have convinced themselves that there is only one righteous and correct way of going about something. Of course though there are some of these people who have some truth behind what they are saying, but rarely is it actually backed up with any proof whatsoever. They will use words like "flexible", "dynamic", "robust", "does flippin' anything", without ever actually giving examples of these traits.

All in all, at the end of the day, I still look into what these types of people suggest because if they have some level of obsession with it, there must be at least something that will be appealing to me. Giving people that chance is important too, but it goes both ways.


P.S. Here are other rants the are closely related to this one (that also validate my sanity):


Popular Posts