Senior Java Developer (RxJava experience)

Project Description:

Our automotive client develops highly complex infotainment solutions for German brands. Its solutions based on forward-looking hard- and software have currently approximately a thousand different variants.
From central controllers to Virtual Cockpits – their infotainment solutions enthuse car drivers all around the world.

Project contains lots of services that communicate to each other and push data asynchronously to UI via RESTful API.
Reactive based approach, all code functional based (Java 8 Stream API and RxJava).

Responsibilities:

• Design of new software components.
• Coordination of developer tasks inside a team.
• Help to develop our software architecture.
• Build and use continuous delivery pipelines for containerized cloud platforms.
• Experience in dealing with and sharing open source projects.
• Design and Communicate APIs and Frameworks together with multiple teams.
• Self-responsible design and orchestration of software components.
• Stay in contact with the community and recognize software development trends.
- Contribute to the project with high code quality.
- Help the team adopt technologies and processes that improve team productivity.
- Work in an agile environment to ship next-generation features while meeting customers demanding technology needs.
- Work collaboratively with other teams to develop robust and scalable features.
- Work closely with business team, business analysts, and architects and be able to quickly understand the new requirements and helps to identify the changes to the system.
- Work closely on a day-to-day basis with development team, designers, copy writers and other IT teams.
- The role develops and presents recommendations from analysis of current solution. Assist in design peer reviews, code peer reviews, build and unit test functional enhancements. Identify areas for code refactoring. Review and contribute to development process and procedures to assist in the continual improvement of the development team activities.
- Be able to offer solutions and designs to solve process, project or program issues; provides recommendations to improve the efficiency and effectiveness. Defends a recommendation and can confidently support it.
- Strong organization, communication, and interpersonal skills. Ability to communicate with business and technical audiences and produce design documents suitable for multiple audience types, both client-facing and internal.
- Must be able to exhibit technical thought leadership and excellent problem solving ability, with an aptitude for technical innovation.
- Reasonable understanding of content and social media publishing platforms with knowledge of latest industry trends in desktop, mobile, and video platform development.
- Responsible for leading development of Java/JEE code to meet specifications and designs and using best practices. Development of a world-class Spring/Web services code-base.
- Effort estimation and task breakdown - estimating cost of implementing new changes and identifying risk.

Mandatory Skills:

- Good understanding of Functional and Async Programming needed.
- Strong Knowledge of Java 8.
- Lambdas, Stream API.
- RxJava library. (Observables, Flat Maps, etc).
- JUnit, Mockito.
- Git.

Nice-to-Have Skills:

- Knowledge of Dagger 2 Dependency Injection Framework would be plus.

Контактная информация

Ходацкая Маргарита, 7-495-9678030
mkhodatska@luxoft.com