The Software Developer will be part of a team working on NATO AGS project with the objective of designing, implementing and testing software applications on top of a Linux OS using, mainly, SOA principles.
The NATO AGS Core program is aimed at providing a NATO-owned and operated core capability for an Alliance Ground Surveillance (AGS) System that will support NATO commanders with ground surveillance in peacetime operations, crisis management situations and war.
The Software Development Engineer is responsible for developing, maintaining, documenting and operating complex computer programs and systems in accordance with established standards. The software development engineer will work under general supervision and will report to a manager.
The main focus is to serve as programmer for Java application software.
- Participate in the application design:
- Create and maintain viable software architectures for devices based on Linux OS.
- Assist in identifying system platform, components and dependencies.
- Create and maintain detailed design
- Identify maintenance requirements
- Implement data model
- Incorporate security requirements into application
- Participate in design review
- Review and provide input for user documentation
- Create requirements and delivery documents for different parts of the product.
- Develop applications
- Create and test prototypes
- Integrate subsystems
- Participate in peer code review
- Perform unit testing and rework code
- Revise and adapt existing code
- Write and document code
- Perform analysis for application development
- Assist with selecting design tools
- Develop design specifications
- Develop models and/or prototypes
- Validate design scheme and models
- Implement, support and maintain applications
- Assist in training technical support staff
- Develop solutions for testing and validating the software products.
- Strong and long-lasting experience of 3-5 years in Java programming
- Advantage: Java/OO Application Design Experience
- Experience with JEE (JMS), Spring, JUnit and Maven
- Experience with REST architecture
- Experience with Web Services (SOAP)
- Experience in working with application servers (Tomcat, Jetty)
- Experience in working with persistence frameworks (JPA, Hibernate)
- Experience with relational SQL databases (. Postgres)
- Experience in working with routing and mediation engines (. Apache Camel)
- Experience in working with Linux OS
- Knowledge of UML
- Excellent analytical and conceptual skills
- Concise work approach, methodology and rigor
- Ability to work with tough deadlines and stand high pressure within an multicultural team
- Thorough and efficient with good organizational skills
- Excellent analytical abilities and problems solving skills
- Self-directed and excellent ability to take initiative
- Excellent comprehension of written technical material and ability to quickly learn new technology
- Excellent interpersonal skills and co-operation with others
- Excellent ability to adapt to a constantly changing environment with potentially conflicting priorities
- Excellent verbal communication skills and good written communication skills
- Graduated in Computer Science (or equivalent)