Thales is looking for a Senior Software Developer to design, document, and implement solutions for Thales customers, focusing on identity management and data protection solutions.
Requirements
- Java, Eclipse RCP plugins, JFace/JavaFX is required
- Experience in software architecture design, working knowledge and application of software design patterns and SOLID Object Oriented principles.
- Java and Eclipse RCP (JFace and JavaFX).
- Proficiency in Design Thinking, SOLID Object Oriented principles.
- Broad Software Design Patterns understanding and use.
- Hands-on knowledge of the Scrum development process and Continuous Integration practices and tools (e.g. Jira, Mercurial, Git, Jenkins).
- Experience with Test Driven Development.
Responsibilities
- Ensure producing a quality software components and applications in an agile software development process.
- Responsible for Writing the use cases (user stories), and allocate them to the functional components as necessary.
- Provide their technical expertise and support to other engineers and reporting to management.
- Must be able to create proof-of-concepts as necessary to demonstrate new ideas/technologies and architectural concepts.
- Participate code reviews for compliance with the defined software architecture.
- Ensure the software implementation is in line with the proposed software architecture and recommended design patterns.
- Responsible for providing technical leadership to junior software engineers in the areas of software design and implementation.
Other
- Candidate must also possess excellent communication skills that will help in the job of leading and facilitating discussions between stakeholders.
- The Senior Software Developer is also performing peers code reviews and providing hands on guidance to the junior/intermediate members of the team.
- Self-motivated, critical thinker, able to dig into the problems with little supervision.
- Able to attention to details while fixing bugs or implementing feature enhancements.
- Very good knowledge of all phases of software development lifecycle: requirements analysis, design, implementation, code review, testing, and release.