Senior Engineer Java
Profile
As a Senior Engineer you'll have more than 5 years of experience, you're over 30 years old and you can manage the technical side of a software project. You master all the skills mentioned below. Senior Engineers can act as Applications Architect as well as Team lead. You are capable of planning and tracking a software development project. Seniors are familiar with development processes such as RUP, Scrum and Prince2. Senior Engineers are hands-on and coach the members of the team. You are very aware of the processes within a corporate environment (DTAP) and report to the overall project manager.
Skills
JAVA APPLICATION DEVELOPMENT
- Java 1.4 to 6.x
- Web development with JSP or JSF and Spring MVC, Struts or SEAM
- Spring framework Core, Persistency and Remoting or comparable technologies
- Object Relational Mapping such as Hibernate 3, Spring JDBCTemplate and IBatis
- Databases: JDBC with MySQL, Progress, Oracle 8+
- Eclipse 3.x or comparable IDEs
- SubVersion and CVS
- Maven 2.x (or Ant)
- Documentation JavaDoc, Technical design, UML
- Unit testing
JAVA APPLICATION DESIGN
- OO analysis and design UML Class Diagrams and Sequence Diagrams (Using Enterprise Architect or Rational Tools)
- Interviewing skills, brainstorming and functional design
- Technical design
- Design Patterns (Fowler PoEA and GoF): MVC pattern, Template Pattern, Domain Model, Factories, Singleton, Strategy Pattern
- Enterprise Java and SOA: JMS, EJB 3 and Web Services
- Application Servers such as Apache Tomcat 4/5, JBOSS, IBM Websphere 4/5/6, or BEA Weblogic 8/9
- Application Security through J2EE security (ServletAPI), or ACEGI and LDAP
RELEASE AND PLANNING
- Development methodologies such as RUP, Scrum, and XP
- Project management experience (Prince2, PMI)
- Continuous Integration with CruiseControl or comparable
- Testing driven development with JUnit, EasyMock, rMock, DBUnit, Fitnesse
- Release Management: releasing to DTAP (dev, test, acceptance, production) environments
- Version management (branching, merging and patching, backward compatibility)
