Java Developer: Luxembourg Development
To develop functionality for a JEE (J2EE) based product. The backend is a service oriented Spring based application. It provides a service layer for different user channels ranging from web clients, rich clients and batch users integrating via JMS and web services. The work contains a portion of support and refactoring of the existing code as well as new development to extend it for new functionality and add extra integration points.
Experience & Qualifications:
- Relevant tertiary qualification in Engineering or Computer Science and/or At least 3 years relevant experience as a developer as part of a team in a software development environment
- A strong knowledge of Java essential
- Ability to work in a team environment: Follow / provide mentorship
- A good understanding of the SDLC process, tools and techniques specifically as applied to software development methodology
- Experience with team development tools: Use of source control applications (Preferably Git)
- Experience of the following technologies:
- JEE (J2EE) server side technologies
- Java 6 and above
- Spring framework (preferably Spring 4)
- JPA /Hibernate
- Experience with an application server (Oracle Weblogic – preferable)
- Build tools(Like Maven, Grunt)
- SQL and experience with a relational database (Oracle, PostgreSQL, MySQL)
- Java script framework(Angular)
- Bootstrap, CSS3, HTML5
- REST / SOAP
- Ability to deliver production quality software by e.g. paying attention to detail, do extensive unit testing and support quality testing phases
Nice to have:
- Knowledge and/or experience of the following would be a plus:
- Business process / workflow layers e.g. JBPM, BPEL
- Continuous integration (Hudson, Bamboo or Jenkins)
- Integration experience (Web services, JMS )
- JAXB and XML Schema
- Use of a UML tool for documentation
- Support existing and develop new functionality and components
- Understand existing product and domain elements and work with business analysts to refine and implement new requirements
- Refactor and improve the code to keep the product maintainable and adaptable to new requirements.
- Work effectively in a team environment and follow/develop product software development processes and standards
- Evaluate and improve application performance, and high availability features
- Create unit and integrated system tests to show that the developed functionality works as intended.
- Do root cause analysis on bugs to find and fix the cause of a problem in an integrated system.
- Build and deploy the system on an application server
- Create and execute qualification tests.
- Incorporate the work done by other developers and do whatever is necessary to get the system to work again with the changes, including debugging other people’s code, making changes to test data
- Technologist that has a passion for learning and understanding the broader technical and implementation approached in the software development domain.
- Ability to switch between big picture thinking and discussing/defining details at a deeper technical level.
- Self-starter, self-motivated, team player
- Strong attention to detail
- Able to work under pressure and meet deadlines