Position: Strong Middle Java Developer (Aviation domain)
Company: Sigma Software
Experience required: 3y
English level: intermediate

**CUSTOMER**
Our customer is one of the biggest Aircraft maintenance providers in the world for civilian aircraft.

**PROJECT**
The project is a part of a new trend in the Aviation domain focused on data gathering and analysis to optimize maintenance prediction and automate business processes. This allows airline operators to lower their maintenance cost and get competitive advantage over other maintenance providers and airplane OEMs.

The project is developed in Microservices architecture in OpenShift cluster, with MongoDB and SQL deployed in a cloud. Message broker is Kafka, Prometheus/Graphana are used for monitoring. Language: Java 8, main frameworks: SpringBoot, Apache Camel.

**RESPONSIBILITIES**
Take responsibility for the delivery of major product features
Identify and resolve all related key technical issues under the Architect’s supervision
Elicit requirements from a customer, apply various methods to fetch demands, requirements, feature acceptance criteria. Document/put requirements and priorities in specs, backlog, etc. Establish the process of effective work with requirements, set up the requirements lifecycle
Create and review technical specifications
Carry out technical supervision of middle and junior software development staff
Clarify technical details for middle and junior software development staff. Translate product requirements into task specifications for junior software engineers
Participate in estimation and planning sessions
Code, develop unit and integration tests, debug, document, implement, and maintain portions of software
Promote good design principles, such as code reuse, modularity and extensibility. Mentor others in these principles
Perform code reviews for compliance with the best engineering practices, coding standards and quality criteria set forth on the project
Provide assistance to test engineers and support personnel in solving technical issues of software installation and its operation
Create user documentation
Escalate technical issues that can’t be solved without additional involvement of project, department, or top management
Report status and progress according to the project and Company demands

**REQUIREMENTS**
3+ years of commercial experience in Java software development including at least 2 years of experience in the design and delivery of product features
Evidence of having successfully made technical decisions for projects that delivered products or product features in time, to budget, and to specification, in such a way that they continue to be maintainable and extensible
Experience in maintaining and debugging live software systems
A track record of at least one successfully held internal technical training on an architecture/system design topic
Upper-Intermediate or above English level
Experience in analyzing and clarifying requirements
Experience with frontend (Angular, TypeScript) will be a plus

**PERSONAL PROFILE**
Proactive
Dedication and commitments
Thoroughness and accuracy
Striving for high quality solutions
Ability to work without supervision
Good team player
Openness to feedback and changes
Result-oriented