An ancient proverb states “time and tide wait for no man.” If you are working in the software industry today, this truth still applies. Today, in order to effectively work on Java projects, an understanding of basic Java and Java EE APIs like JDBC and servlets are usually expected. Basic Java/Java EE APIs serve as the foundation of the application, but to be a participant in application development, you need more. So what other technologies/APIs are critical to being a project member? Based on experiences in the field and in the classroom of Intertech’s consultants and instructors, here are the top 10 technologies/APIs every Java developer should know:
- At least one MVC Framework like JSF, Struts, or Spring MVC
- Hibernate or JPA
- Dependency Injection (as demonstrated in Spring or Java EE through @Resource)
- SOAP based Web Services (JAX-WS)
- Some build tool (Ant, Maven, etc.)
- JUnit (or other Unit Testing framework)
- Version control
- Application server/container configuration management and application deployment (whether it is WebSphere, Tomcat, JBoss, etc. you need to know where your application runs and how to improve its execution).
Other technologies/APIs that didn’t make the top ten, but could certainly be successfully argued for inclusion in a developer’s repertoire are: design patterns, debugging tools/techniques, continuous integration.