Job Description We are currently looking for an experienced and skilled Full-stack Developer to join our team. In this role, you will play a crucial part in the development and maintenance of our applications. Requirements * Java development experience of more than 3 years and a desire to develop at the backend in general. * Good knowledge of the Spring Framework. * Knowledge of relational databases (PostgreSQL, MySQL, etc) and query optimization (indexes, partitioning, concurrency). * Experience with caching systems (Redis). * Knowledge of JavaScript and TypeScript, experience in Node.js. * Experience with Next.js, React. * Experience in building custom UI components/libraries from scratch. * Docker, experience in writing Dockerfiles or base images. * Experience with Git. * Knowledge and understanding of OOP principles, design patterns, and clean code. * Knowledge, understanding, and following the principles of DIE, YAGNI, KISS, DRY, and SOLID. * Knowledge of Unix systems. * At least basic knowledge of Unit testing. * English Level B1+.
Nice to have * Experience with Nest.js. * Experience with NoSQL database (MongoDB). * Experience with message broker systems (RabbitMQ, Redis pub/sub, etc). * Experience with event streaming platforms (Kafka). * Experience with Gitlab CI/CD. * OpenAPI (Swagger). * Agile/Scrum experience.
Responsibilities * Developing new features and supporting the current application. * Participate in all phases of the software development life cycle (SDLC). * Provide test coverage (unit and functional tests). * Bug fixing in different project modules. * Work with third-party integrations (payment systems, services, etc.). * Perform work in preparing the developed software for release and producing its release. * Conduct debugging of the developed software, and correct it in the process of completion. * Collaborate with the front-end developers, DevOps, and other team members to establish objectives and design more functional, cohesive code to enhance the user experience. * Perform and optimize problems, particularly at a large scale, and demonstrate an ability to diagnose and prevent these problems.