Netbeans vs Commandline

The last time we interviewed for Java developers (a couple of jobs ago) it came as quite a surprise at how few of them could function without their IDE of choice. A high percentage of the candidates struggled to compile using javac, had problems navigating the docs and made a large number of very simple syntax errors that they were obviously used to their editor dealing with.

At the time the more unix focused team, most of who were very long term vim and emacs users, had a number of discussions about how this should impact our rating of the candidates. One school of thought was that people should use the tools that make them most productive. The other was that people should understand their tool chain. How can you diagnose issues on a production server if you can’t even compile a class on the command line? You can tell which side I was on.

I’ve recently joined a small Java project and after some awkward fiddling around with ant, junit and half a dozen other jars decided to give Netbeans a chance. I was pleasantly surprised at how quickly and easily I got the same project up and running in the IDE. I don’t yet have a clue how it’s storing the files on disk, constructs the build or test targets and a dozen other little details but at this stage in my basic use of Java it doesn’t seem to matter.

It’s strange how quickly seductive all the optional extras can be and how easy it is to lose track of what you don’t know while adapting to the features they offer. I’m not sure how much of it is better tooling, benefits of a strongly typed static language or just having a dedicated team behind producing a consistent development environment but it felt very easy to take baby steps with. And I’m hoping the tool continues to show me more power as my needs when using it grow.

While I’m at no risk of giving up vim for my day to day work I think I’ll be investing some time in to learning one of the big three Java editors (Eclipse, Netbeans or IntelliJ) for while I’m away in the strange world.