Where’s the line?
Tuesday, August 28th, 2007It seems sometimes choosing the best breed of technology is always a battle. For instance, I personally prefer djbdns over BIND when it comes to DNS serving. BIND is “the standard” but as anyone knows it’s not only been plagued with security problem but it’s just a poorly designed program. Anyway, it’s like saying well most people use Windows so it’s not a problem. Or it’ll be too hard to fix, I can find 10 people who know XYZ and 1,000 who know ABC even though it’s crap. This type of thinking is the plague of this industry; it’s costly at the bottom line and cost way more in the long run. I was reading an article written by Colin Pervical linked by Rufius titled “Think before you code”. It simply applies to most anything anyone sets out to do. Instead of thinking, I watch as others just try anything old thing and then revert back to try and fix it, or spend copious amounts of effort on something they haven’t thought through and will eventually have to do over; again and again. Normally i’d intervene but nowadays I don’t bother because I guess that’s how people learn as well. Some people don’t however and the amount of counted hours I watch wasted by it is probably in the weeks now; obviously I try not to get involved in wasting my own time in such activity even though I find that supporting a poor design takes countless man hours off of my life. I am of the mindset that if you’re going to do something do it right. In the long run you would have spent just as much time fixing the design or in most cases even more time trashing it and replacing it. It’s probably also extremely costly! So, why not spend the time at the beginning? Eventually when i’m in a position to make these sorts of decisions I won’t necessarily care what technology is used so long as it’s done correctly and is maintainable. When fighting these battles though; where do you draw the line.
Also, I feel I have a problem in communicating issues to people who don’t fully understand them. It’s like if a rocket scientist was going to explain what problems surround keeping the rocket on appropriate trajectory based on xyz factors. If one has no idea about the actual problem set then you start having to explain background stuff and people just don’t get it. Especially if you had to research it yourself and unless the other person has taken such steps you have to lay down that groundwork which could be a long conversation. So you end up saying stuff like, “Well, it’s just slow” or “Adding a user is slow because of bigger problems”. Anyway, how do I combat some of these issues and what’s the best way to proceed? Writing something up will probably not get read, but people will still complain. I’m in need of interweb community support