April 2006
In the Trenches – J2EE Software Developer
By Charles Caplan

As a software developer in the Automotive Lending industry, I am part of a development team that produces my company’s core product. Each position in a company is important, but in this case, developers are truly the backbone of the organization because without the developers there would be no product.

The specific software I work on is a distributed J2EE application with many different components. Several of these components interact with each other internally and several interface with external sources and partners. My time is typically divided between maintaining these components and creating new ones. When working with external interfaces, I also need to communicate with developers at other companies.

Several different technologies are utilized in my company’s software. The web and EJB portions of the application run on Macromedia JRun Application Server. Within JRun, many J2EE technologies are used such as Enterprise Java Beans (EJB’s), Web Services (via Apache Axis), CORBA, Jakarta Struts, Hibernate, and JSP (with custom tag libraries). Emerging web technologies such as AJAX are also used. Visual Source-Safe is used as a versioning system and Apache ANT is used for product builds.

We use an Oracle 10g database for persistent storage. Within the database, there are many triggers and stored procedures that take advantage of Oracle-specific features. This is mainly done to increase performance, something that software companies are starting to take more and more seriously as applications become more complex.

To interface with external partners, we use a combination of Web Services, CORBA, and HTTPS posts. Web Services are our interface of choice but often times we have to deal with older systems and need to communicate in other ways. XML is always used when talking to external systems, no matter which communication method is being utilized. As a developer, I work with any and all of these technologies on a day to day basis.

When my company hires new developers, they typically categorize the jobs as Junior (0 – 3 years of experience with a computer-related degree) or Senior (greater than 3 years of experience with team-leadership skills). Java knowledge is a must, but good communication skills and being able to think and act quickly are just as important.

Many applicants feel that they can get a job simply by obtaining industry-related certifications. I can tell you from experience that this is not the case. While having certifications can sometimes get your foot in the door, technical interviews and discussions with management are what matter most. I have seen people with four Java certifications fail a simple technical interview and people with no certifications pass with flying colors.

Another thing to be aware of is that software companies look for experience with a type of technology, not necessarily a specific implementation of that technology. Just because my company uses JRun and Oracle does not mean we will turn away someone that only has experience with WebSphere and DB2. The important thing is that they have experience with J2EE Application Servers and Databases. The specific implementations can often be learned quickly.

The software industry is always changing. Technologies that are popular today may not be in 5 years. Therefore, it is essential to constantly be learning. Whether this means going to classes, reading books and magazines, scouring the web for new technologies, or any combination of these, you must constantly improve in order to stay desirable. We often ask applicants if they have heard of certain emerging technologies, even if we are not using them, just to gauge how actively the applicant is reading up. If Java 5.0 has been out for two years and the applicant is not aware of any new features that it provides, it is pretty obvious that they are not in a perpetual state of learning.

In closing, let me say that software companies usually do not expect you to be an expert in everything, especially for Junior positions. It is OK to say that you do not know a specific technology during an interview. The company would much rather hear that you know nothing about EJB’s than that you know a lot, just to find out later in the interview that you were lying. Every company has a set of technologies that they work with and they know that most other companies and developers do not have the exact same skill-set. What they are looking for is someone who has working knowledge of the most important aspects of their development cycle and can quickly be brought up to speed on the rest so that they can start contributing to the team as soon as possible. Be knowledgeable, well-rounded, and constantly learning and you will land that new job sooner than you think.

If you would like to submit an article providing an insider’s view of your tech or engineering job, please send your article to us at ITtrenches@dice.com.

Comments on this article? Share your feedback on our discussion forum, Dice Discussions.

*Please note, you must be a registered job seeker in order to submit your question to Dice Discussions.
Search Jobs

Did you know?

Many hiring companies who use Dice search our resume database before posting jobs. That means many of the best jobs are never even posted. Post your resume now, and be sure not to miss any opportunities.
Post Resume Now

More Career Insights

  • Technology Today
  • Cover Letters & Resumes
  • In The Trenches With Dice
  • Local Market Reports
  • Dice Discussions

  • Feedback | Help | Work at Dice | Security Tips | Privacy Statement | Terms & Conditions  

    Copyright © 1990 - 2008 Dice Inc. All rights reserved
    skrID: 0