Anteo Java News: Summer 2005
The summer issue of Anteo Java News is all about the Top Skills for Consultants, from technology to soft skills. We hope that you can learn from each of the writers, and feel free to send any comments
and/or submissions for future articles to Anteo Group Marketing. To receive Anteo Java News by email, contact us.
Thanks and enjoy!
Top Ten Skill Sets of a Java Developer: Part I
By: Ashik Uzzaman
Java developers have to deal with various keywords, definitions, terms, etc regularly in their jobs and readings. There are so many tools and technologies that are already available in this platform to confuse matters and so many that are to come yet. We don’t have to use all of these or most of these together. Rather from project to project, developers use different as well as upgraded technologies coming in the front line of mainstream Java development.
There are few tools and technologies that you, a Java developer, must know to keep your employment safe in today’s competitive job market where managers are looking to hire for current and future development practices.
In this article, I have pointed out 10 necessary skill sets that the current job market demands from a Java developer.
Part I delves into skills 6-10, and Part II will complete the article with the top 5 skills of a Java developer.
NOTE: If you are relatively new to Java, you may consider the Sun Certified Java Programmer (SCJP) exam. For more information about SCJP, click here.
10. Java IDE
The main benefit of using a good IDE is the saving of time. You could frame a wood house using a framing hammer and nails exclusively or you can make judicious use of a power nail gun. A good carpenter knows when to do things by hand and when to use power tools. A good programmer also knows when to develop by hand and when to use power tools. As a professional, you’ll get benefited using the rapid application development features a Java IDE offers you although its possible to work without a complete IDE. You may try the open source IDEs Eclipse (my favorite), NetBeans, JEdit or commercial IDEs like Borland Jbuilder, IntelliJ IDEA, Oracle JDeveloper to see which one suits you most. Find out your IDE’s supporting features to work in a team environment, to follow coding conventions, support for refactoring, support of debugging, easy integration with other tools (e.g. integration with JUnit or Ant), etc.
9. Design Patterns & UML
Design patterns are recurring solutions to software design problems you find again and again in real-world application development. It provides you with a way to solve issues related to software development using a proven solution. Design patterns make communication between designers more efficient. Software professionals can immediately picture the high-level design in their heads when they refer the name of the pattern used to solve a particular issue when discussing system design. The most common patterns have names that are working their way into the common development argot, so you need to understand them at least well enough to keep up with the general flow of information. Other than the famous GoF patterns, you should have a working knowledge of standard J2EE design patterns.
The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and other non-software systems. It uses mostly graphical notations to express the design of software projects and thus plays a very important role in developing object oriented software and the software development process. Try and use one of the many available UML tools - Rational Rose, MagicDraw, OptimalJ, MS Visio, ArgoUML or a UML plugin of your favorite Java IDE.
8. XML & Web Services
Only XML technology advanced in a more rapid speed than Java so far. XML is a text file containing HTML-like tags that define a tree structure and describe the data that they hold. Learn and use not only the basic XML document parsing through SAX, DOM or Pull APIs, but also the family of related XML-based languages: the most important of which are XHTML, XSLT, XSL, DTDs, XML Schema (XSD), XPath, Xquery for XML Databases, and SOAP. Without a good working knowledge of them, you’ll not be able to demonstrate your competence as a Java developer.
Web Service is a standard means of interoperating between different software applications, running on a variety of platforms and/or frameworks, over the Internet. It uses open, XML-based standards and transport protocols to exchange data with calling clients. If you haven't been exposed to Web services yet, you probably will be soon. Web service familiarity is important because it's the simplest way anyone has yet invented for applications to communicate across disparate machines, languages, platforms, and locations. Whether you need them or not, Web services are a major step forward for interoperability and its knowledge is thus essential for you as a Java developer.
7. Persistence Framework & ORM Tools
JDBC is trivial and error-prone for an OO developer, as it does not support an object-oriented approach to data persistence. But when you are interested in applying any logic or processing on the data returned from a query in your data storage, you may find a separate persistence framework lying in between your Java object model and relational database very useful in terms of OO approach in CRUD functionality, transaction and concurrency control, connection pooling, caching, etc. A persistence framework, often referred to as a persistence layer, fully encapsulates database access from your business objects. Instead of writing code to implement the logic required to access the database, you define meta data that represents your Java object’s mapping to your relational database entity which is known as object-relational mapping (ORM). If you are not using EJB CMP in your large data backed application, you will find Hibernate worthy of consideration as an ORM tool. Hibernate is a powerful, ultra-high performance object/relational persistence and query service for Java. In fact it is so widely used, well designed and easy that EJB 3.0 took concepts from Hibernate for its persistence strategy. Among many others, you may try for Sun’s Java Data Objects (JDO) technology, iBATIS, Apache OJB, Castor, and/or TopLink.
6. Application Frameworks – Spring/Struts
While you may have mastered the basic Java APIs for your job, it may still not be enough to pass a technical interview for a job if you are not familiar with the popular application development frameworks. A framework is a reusable, semi-complete application, a sort of template that can be specialized to produce custom applications. In fact, many job openings are defined now-a-days as a Spring/Hibernate (look at skill set #7) developer or a Struts/Hibernate developer needed.
The Spring framework is the leading full-stack Java/J2EE open source application framework that delivers significant benefits for many projects, reducing development effort and costs while improving test coverage and quality. The architecture of the Spring framework is based upon the Dependency Injection (DI) design pattern. Spring can work standalone or with existing application servers and makes heavy use of XML configuration files. Be it web applications or client/server solutions, Spring makes a Java developer’s life easier making it arguably the most popular framework in the industry. Struts is another open source application framework for building web applications. The core of the Struts framework is a flexible control layer based on standard technologies such as Java Servlets, JavaBeans, resource bundles, and XML. There are many other open source and commercial application frameworks available of which Expresso, Tapestry, Cocoon, and WebWork are mentionable here. If you master one of these frameworks, it will be very easy to learn the other frameworks quickly if they are needed in any of your projects.
Top 5 Consulting Soft Skills and Tips
By: Scot Albright
As a manager at a National Payroll Company, many different consultants ask me, "What can I do to be successful with your organisation?" Therefore, I’ve put together a list of five items which will help you be more successful at your client.
5. Don’t leave your contract for an increase in the hourly rate.
Many times contractors/consultants will leave a contract for another opportunity which offers a better hourly rate. As a manager, this often puts our projects into jeopardy. If you are considering leaving for a better hourly rate, notify your manager first. They may be willing to negotiate.
4. Show up on time.
Your perception of a consultant/contractor is important. Start this positive perception by showing up on time every day. Your predictable promptness defines eagerness and initiative.
3. Constantly communicate with your manager with written documentation.
Whenever a consultant/contractor is undertaking an assignment, it is their responsibility to provide constant feedback to their manager. A daily email of tasks completed and the percentage of work outstanding is a good recommendation. In addition to a daily email, a weekly status report is suggested. It does not need to be very complex; it should contain the tasks completed, the next tasks assigned and a hours breakdown of time applied to the tasks. This type of communication assists the managers with reconciling to their project plans.
2. Become a master of the business.
Many consultants/contractors put all of their efforts in certifications. This is important, but do not forget the business solutions. Many times hiring managers don’t put that much stock into certifications. They are looking for contractors/consultants who are also subject matter experts. This combination of subject matter experts and technical skills always takes priority over certifications.
1. Show initiative and exceed expectations.
As a contractor/consultant your initial contract may be for a fixed period of time. However, as you exceed expectations and/or take on leadership positions, contracts are often extended. Clients notice your additional work and responsibility, which often leads to other/better opportunities.
By adhering to these simple 5 items, you should have a very successful contract. Remember, your reputation is more important than your hourly rate. Guard it carefully.
Current Openings
For our most current openings, click here.
back to newsletters >
For more information about the Anteo Group, contact us.