Job Description
The successful candidate must show experience and previous knowledge in designing distributed software architectures utilising Java 8 (onwards), Java EE, & the Spring Framework across Windows/Linux platforms. The successful candidate shall also be experienced in both relational (SQL) & non-relational (NoSQL) databases including the setup, performance tuning & replication of such systems.
The successful candidate must show experience and previous knowledge in designing software architectures utilising Java EE/Spring technologies across windows/Linux application archetypes as well as with Relational/NoSQL database server, setup, performance tuning, replication etc.
Role within Department:
*The implementation and development of current software applications and process for current and future software platforms used within the design / testing a satellite payload during manufacture.
*Writing, debugging and validation of software components migrating to future software architectures and databases, but there may be required some support of the current software builds.
*Working closely with the software testers to resolve defects as well as contributing to the code coverage of products by generating unit tests.
*Providing software support to live projects using the products.
Knowledge of the following:
*Agile SCRUM and full SDLC experience with JIRA / TFS.
*Application and Service software architect background in Java.
*Experience with both Windows and Linux platforms.
*Microservices & scalable, distributed software systems.
*Enterprise Design Patterns
*Relational & Non-Relational Databases
*Software Modelling (UML)
*XML & JSON Message-based Parsing
*System Administration of Linux & Windows machines
*Basic Understanding of Networks (LAN)
Essential Requirements:
*Demonstrable experience of developing client/server or distributed software systems in Java.
*Good working knowledge of software architecture and design.
*Good understanding of database solutions.
*Experienced in message-based parsing (JSON & XML)
*Problem solving and the ability to think laterally as part of a team or individually to meet the needs of the project.
*The ability to work unsupervised, within a team on multiple and concurrent tasks to tight deadlines.
Extensive software development experience:
*Java 8 onwards & JavaEE (5+ years' experience)
*Spring Framework (3+ years' experience)
*Importance of TDD & BDD.
*Scalable, distributed systems experience.
*Relational & Non-Relational Database Models
*Documentation skills (UML)
*Connectivity and protocol stack experience (TCP/UDP)
*Can work independently and quickly to a high standard
*Unit & integration testing (JUnit, TestNG, Selenium)
*Agile (Scrum/Kanban : JIRA / Confluence / Crucible & FishEye)
*Understanding of CI/CD (Jenkins / Maven / Nexus).
*SVN/Git
*Team player
Desirable requirements:
*Front-end Technologies (Typescript / Javascript / Angular / NodeJS)
*Functional Programming
*Reactive Development & Actor Based Concurrency (AKKA)
*Behaviour Driven Development (BDD) with Cucumber
*Mentoring and Lead Capabilities
*RESTful APIs
*User Interface Design
*Container & Cloud Technologies (Docker / AWS / Azure)
Additional Information
Contract role
Duration: 6 months
Location: Portsmouth
Electus Recruitment Solutions provides specialist engineering and technical recruitment solutions to a number of high technology industries. We thank you for your interest in this vacancy. If you don't hear from us within 7 working days please presume your application has been unsuccessful on this occasion. You are of course free to resubmit your CV/details in the future and we shall assess your suitability at that time.
This is a contract role.
