The Software Developer will be part of a team working on NATO AGS project whose goal is to design, implement and test 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 Java Software Developer 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 the 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.
Create and test prototypes
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