Senior Java Software Engineer
Project
DaVinci is a product that aims to make software engineering teams 10 times more efficient than recently formed startup teams. Already, 20+ teams and clients use the product.
Our immediate goal is to deliver 96% of MVPs within 6 months after the initial client contact. We also aim to deliver the first unique features to production just 4 days after project launch.
To achieve this goal, we experiment and implement new processes in 20+ engineering teams. For instance, we start development during the pre-sale process.
Inside the team, we work in weekly sprints, releasing to production several times per day. Our goal is for every team member to classify as elite or high performer according to DORA metrics. We work without traditional BAs and manual QAs, meaning that engineers learn requirements from users directly and test features themselves. We work by TDD, and 80% of the project’s code is currently covered with automated tests.
Stack: Java 17, Spring Boot, Camunda BPMN engine, ReactJS (TypeScript), Docker, AWS ECS, RDS, KMS, S3, STS, ECR, SQS, Lambda, Terraform, MySQL 5.7, DynamoDB, Gradle, GitLab CI, CI/CD, JUnit, Mockito, Cypress, Spring Boot test, and Hibernate.
Team: Product Owner, Project Manager, Tech Lead, QA Lead, 2 Systems Analysts, 5 Software Engineers.
Responsibilities:
- Create high-quality code using CI/CD and TDD practices,
- Design and build self-testing cloud-native software using AWS services,
- Write technical documentation, such as design documents, user guides, API specifications, etc.,
- Collaborate with stakeholders and systems analysts to define the business requirements and maximize the value of the delivered changes,
- Design and implement functional behavior of software based on user needs, such as UI, business logic, data processing, etc.,
- Perform code and design reviews, provide constructive feedback and suggestions to improve the quality and performance of software.
Requirements:
- 5+ years of experience in software engineering on Java or Kotlin,
- At least a B1 level of English,
- Solid knowledge of the Test Pyramid and TDD,
- Strong skills in algorithms and design,
- Experience in implementing new practices in engineering teams.
Will be a plus:
- You worked with TBD, React JS, or AWS.
Обслуживать клиентов: работать со счетами, пластиковыми картами и денежными переводами. Продавать банковские и страховые продукты (кредитные продукты, карты, вклады).
Обслуживать клиентов: работать со счетами, пластиковыми картами и денежными переводами. Продавать банковские и страховые продукты (кредитные продукты, карты, вклады).