You Don’t Need Tools

High quality software can be created without, advanced tools, automation, and even design patterns. Professionals in many fields besides software development are looking for latest tools, and trends to stay ahead of the competition. Allocating, learning, and implementing new tools can soon become a dangerous cycle, where an emphasis is placed on specific technologies and trends, rather than the product being created. One of the many side effects of using an ever changing tool set is adding entropy and complexity to a development ecosystem.

There are thousands of blogs on software development. Many of these blogs demonstrate, promote, or even proselytize tools or methodologies. The large amount of information provides developers with a large choice of tools and ideas. Searching for proper ideas and tools is very time consuming.

Software developers put knowledge in high regard. Learning is even more valuable. A good software developer should find a balance, between learning and doing. Programming is not philosophy. Making and creating is far more valuable to good programmers. Good is what works, and works well, not what is academically perfect.

Finding tools and even using tools can become a distraction. Learning when your tools are getting in the way is skill, which is underdeveloped, in many programmers. A perfect example is how programmers can get into holy flame wars over a TEXT EDITOR! This is just one example of where the meta-product, becomes more important than the product, but there are many others.

Ironically I am advocating learning how to ignore programming noise, in a blog.

The Lintner Code Complexity Analysis Test: Next time you start incorporating, tools, methodologies, and other ideas into your code base. Ask yourself could an average developer jump in and get the basic flow, and meaning of the code? If no, you may want to rethink your approach.

Personally I advocate simplicity, and minimalism when it makes sense, and some level of complexity is necessary. Tools create complexity. Tools require knowledge to operate, and they will change how your process works. When choosing tools, you must be aware of how they will effect your software development ecosystem over time.

Technologies, tools, ideas, or just plain noise can get in the way of creating, and making. Many times a small project or tasks can be finished the without tools, in the time it would take to set up, and use complex tool. There are many examples of high quality software that was created without code analysis tools, unit tests, and even a structured development methodologies. Next time you start working on a new project, you may want too evaluate your tools too see if they are truly valuable or just wasteful.

2 Comments

  1. alenzukich
    Posted Jul 07 at | Permalink

    As someone who works in the tools market I'm greatly biased here, but I do have to throw my opinion nonetheless. ;)

    I do have to disagree with this statement:

    Tools require knowledge to operate, and they will change how your process works.

    If it changes your process, you are using the wrong tools. If that tool doesn't extend and embrace what you are already doing while you code, then yes it will be a big problem.

    But with that said, look how IDEs have evolved. Gone are the days of using vi (well, okay maybe not fully). People now use the auto completion, style formatting and many other features as a must today.

    Why, because it makes them more productive. I think too often we take for granted the benefits these tools provide.

  2. +Ian
    Posted Jul 07 at | Permalink

    To clarify my definition of changing the process.

    The very point of a tool is to change a process. Usually the goal is replacing a manual process, with an automated process.

    A tool can even introduce an entirely new process or paradigm into a programming environment.

Post a Comment

Your email is never shared. Required fields are marked *

*
*
Profile Picture

About Ian Lintner


I am a software developer, mostly web,  in Des Moines, Iowa. I take a very opinionated stand concerning development, you will never regret a simple design or architecture. My education was at Drake University in Biology and Computer Science. Offline I am recently married to my wife Heather. I try my hand at many hobbies currently I am gardening till the snow comes in.



My Current Projects


Des Moines Twitter Trends