Part 1: Simplify your development environment
I’ll keep part 1 of this series short, since I think it’s the simplest.
Coming from a heavily .NET and Flex background I was used to using big IDEs like Flash Builder or Visual Studio, all fantastic tools for the right job (except maybe Flash Builder). After some time though, I became fascinated with developers that used plain text editors as their primary development tools. There is a multitude to choose from Notepad++, Textmate (Mac only), SublimeText 2 and of course the classics, vim and emacs. I finally came to settle on vim as primary development tool. I would recommend downloading gVim on Windows and MacVim for Mac. I won’t go over installation instructions, I’ll leave that up to you. Now let me tell you why I think every ESRI Developer (or any developer really) should spend some time using a plain old text editor to write their code.
Another interesting side-effect of not using an IDE is that you’ll find ways to build your applications. It could be using make, rake, waf, ant, maven or any other method of building. You could even compile some simple .NET dlls via command line. Most of us are used to simply clicking on a build button and letting the IDE do whatever it is the IDE does. For example, Flash Builder uses a template ant file to build your Flex application. There is nothing stopping you from learning how to write your own ant file that can build, test and deploy your application via a single command-line option.
I like the philosophy that Zed Shaw uses for his Learn Code the Hard Way series. Basically, it boils down to typing. Lots of typing to learn to code. The tactile nature of typing reinforces the learning experience. Removing the middleman of the IDE between you and your code will help make you a better developer. In my not so educated opinion, of course.
I would encourage every developer to spend some time working in a plain old text editor like vim or Textmate. I’m not saying abandon your IDE, but roll up your sleeves and get your hands a little dirty. If you have some patience, I think you’ll reap some great benefits from the experience.
The next part of this series will be on Simplifying your code.