Learn how to write code and perform code walkthroughs

My next recommendation is to improve your coding skills. One of the most important responsibilities as part of a Java EE production support team, on top of regular bug fixes, is to act as a “gate keeper” e.g. last line of defense before the implementation of a project. This risk assessment exercise involves not only project review, test results, performance test report etc. but also code walkthroughs. Unfortunately, this review is often not performed properly, if done at all. The goal of the exercise is to identify areas for improvement and detect potential harmful code defects for the production environment such as thread safe problems, lack of IO/Socket related timeouts etc. Your capability to perform such code assessment depends of your coding skills and overall knowledge of the Java EE design patterns & anti-patterns.
Improving your coding skills can be done by following a few strategies as per below:
  • Explore opportunities within your IT organization to perform delivery work
  • Jump on any opportunity to review officially or unofficially existing or new project code
  • Create personal Java EE development projects pertinent for your day to day work and long term career
  • Join Java/Java EE Open Source projects & communities (Apache, JBoss, Spring…)
#6 – Don’t pretend that you know everything about Java, JVM & Middleware
Another common problem I noticed for many Java EE production support individuals is a skill ‘plateau’. This is especially problematic when working on static IT production environments with few changes and hardening improvements. In this context, you get used very quickly to your day to day work, technology used and known problems. You then become very comfortable with your tasks with a false impression of seniority. Then one day, your IT organization is faced with a re-org or you have to work for a new client. At this point you are shocked and struggling to overcome the new challenges. What happened?
  • You reached a skill plateau within your small Java EE application list and middleware bubble
  • You failed to invest time into yourself and outside your work IT bubble
  • You failed to acknowledge your lack of deeper Java, Java EE & middleware knowledge e.g. false impression of knowing everything
  • You failed to keep your eyes opened and explore the rest of the IT world and Java community
My main recommendation to you is that when you feel over confident or over qualified in your current role, it is time to move on and take on new challenges. This could mean a different role within your existing support team, moving to a project delivery team for a certain time or completely switching job and / or IT client.
Constantly seeking new challenges will lead to:

  • Significant increase of knowledge due to a higher diversity of technologies such as JVM vendors (HotSpotIBM JVMOracle JRockit…), middleware (Weblogic, JBoss, WAS…), databases, OS, infrastructure etc.
  • Significant increase of knowledge due to a higher diversity of implementations and solutions (SOA, Web development / portals, middle-tier, legacy integration, mobile development etc.)
  • Increased learning opportunities due to new types of production incidents
  • Increased visibility within your IT organization and Java community
  • Improved client skills and contacts
  • Increased resistance to work under stress e.g. learn how to use stress and adrenaline at your advantage (typical boost you can get during a severe production outage)