Must-Have Tools for Developers

It’s not easy to come up with a list of top tools for the entire application development workforce, because, well, there are so many different kinds of applications and development environments, not to mention tools themselves. Thus, rather than offering you an overview of specific products, I’ll outline a few general resources and solutions that might be handy to have around when building and managing applications.

Automate It! Thanks to various automation tools, development processes that used to take hours can now be executed in minutes or even seconds. Chances are, you’re already using one of these tools, as you’ve probably got too much on your plate to get bogged down in manual methodologies that can be accomplished with just a few keystrokes. However, you might not be automating all that you could. In order to maximize productivity, you should frequently evaluate the tasks you’re performing and then do a little research to see if there’s a tool out there that can do it for you, said Sunil Gupta, principal consultant for Gupta Programming, who has more than 14 years of experience as an SAS developer.

Gupta explained that he uses a tool called SAS Enhanced Editor to scan his work for errors, which saves him an enormous amount of time and trouble. “I look for ways that can save me time in doing things that are kind of tedious or manual-process. If I write a UNIX script, it will automatically check my log files for errors, warnings and notes so that I don’t have to manually go through a hundred log files to see what problems there are. Another example would be a tool like SAS Enterprise Guide, where I could use a user-friendly interface to actually perform the analysis, and it writes the code for me. I don’t actually have to type in the syntax.”

Many vendors offer similar editing tools for various kinds of application development environments, which allow you to explore the structure of code for flaws such as an unenclosed quote or a missing end of Do loop. Additionally, it gives the code some style and standardization. “Readability is very important,” Gupta said. “When you’re writing a program, you’re not just writing it for yourself, you’re writing it for others as well.”

Physical and Virtual Libraries Physicist Albert Einstein is quoted as saying, “Never memorize something you can look up.” I’m not sure I’d go that far, but it certainly helps to have a substantial amount of reference materials at your fingertips to find bits of information, advice and warnings from assorted experts on a given topic. “I think that’s very important,” Gupta said. “As programmers, we’re given the task to do multiple things. It’s a challenge to remember specific techniques, various options or syntax for a particular procedure. (You should) have access to good books, good reference materials, online capability and system documentation so that you don’t have to remember what you did several years ago if there’s a need for it right now.”

There are a variety of ways in which application developers can access these extensive resources. For example, as of press time, a search on application development books on Amazon.com yielded more than 4,500 results. But you might not even have to pay for them. You might be surprised to find out how many books on the subject you would find at a library in any decent-sized town or college campus. Of course, your options aren’t limited to physical volumes. You can get many books in a PDF format or online that include things like search features and clear illustrations, Gupta said.

Soft Skills Alright, so soft skills might not be considered a “tool” by most (details, details). The fact is that application development is a discipline that requires a significant amount of interaction with clients, which entails listening to their needs and then translating them into viable technical outputs. This requires an ability to correspond frequently and clearly, and work patiently and diligently, with your customers to devise the best possible solution. Gupta, who specializes in consulting on report generation, has been doing this for clients in the pharmaceutical industry for more than 14 years.

“The key thing is to find out what the users want, and then have close communication with the user,” he said. “Often the user has a general idea of what they want, but only until they take a close look at the numbers and think about the possibilities that they can refine what they want. There has to be a quality-control process in putting that into production.”