This month I'm at peace with the world so this editorial may seem somewhat relaxed and, dare I say, floppy. I've recently taken up Yoga - calmness in the mind, strength in the body, peace in the soul (or words to that effect). I mention this because I've felt the need to relax more outside the office, and this seemed the perfect way.
I know this is common in certain jobs where perhaps a lot of money is at stake with every minor decision. The kinds of jobs that frankly provide way too much stress and people problems.
I never expected stress as a Java developer!
Strange, is it not, that in this day and age, when most of us have satisfied the first four human needs of Maslow's Hierarchy by the time we're of working age, that we still feel stressed and require outside influences to relax us.
As a developer, where does the stress come from?
Last year I was involved in a project that required a sales reporting tool for an accounts department. The beginning and end of their financial year was the first Monday in April - so what would happen to the system when the year rollover came along?
Despite testing and testing until the cows came home, there's always just a little bit of doubt that creeps into your head and perhaps a sleepless night on the first Sunday in April, anticipating the dreaded phone call the next morning saying the system has gone pear-shaped. Not quite as stress-free as coding a Space Invaders applet.
Oh well! As Dennis Leary would say, "Join the club" (with a few more expletives I grant you). At least I'm not a 3D graphics artist on the next Star Wars film. (I've heard from certain sources that the approach on set is, "Oh, we'll just put that in later with special effects" - the 3D guys' eyes widening in disbelief and panic as they realize they'll have to animate 2,000 reptile-like creatures by next Tuesday.)
However, as I said, I am now at peace with the world, so let's move on.
Should I have been worrying? That's the question. I guess not. The start of the year came and my software trundled on with no problems. What would have happened had it gone wrong? Well, fortunately, because I was using Java, I didn't need to worry about the blue screen of death being presented to the user. Java's error-handling is a joy to behold, and the fact that it doesn't take down the whole system has gone a long way to cement Java as a serious 24/7 language of choice.
Recently our development team has been approaching the final stages of quite an extensive piece of software. To analyze and hopefully improve performance, we engaged the use of a profiler and, by jove, it worked a treat! There it was as clear as day! Line x to Line y took way too long. Sure enough, with a few tweaks the performance improved significantly.
Profilers are something I mentioned in a previous editorial, with reference to what the latest vogue was at JavaOne. They're something that every developer should have in his or her arsenal. It's really down to personal preferences as to what stage in your development you begin using a profiler. Some argue it should be from day one, while others use it more toward the end of a project. The first step is to become comfortable with the benefits a profiler can bring. The first time you use one, you're presented with a plethora of information that can take some time to digest.
But once you come to grips with it, you'll wonder what you ever did without one.
Keith Brown has been involved with Java for many years. When he's not coding up client solutions for a European Java company, he can be found lurking in the corridors of conferences all around the world.