Position: Senior Software Developer (Node.js)
Company: Dev.Pro
Category: Node.js
Experience required: 5y
English level: intermediate

We invite an experienced specialist with a solid Node.js background, to join our team as a Senior Software Engineer. Together with our US client, we will build a payment solution based on blockchain technology to support customers with easy and reliable service.

The solution will evolve into a full-fledged crypto-exchange aiming to serve millions of customers.

✅ What's in it for you:
• Get hands-on knowledge and experience with blockchain-based payment system technologies as part of a rapidly growing start-up that will make the crypto world much closer for millions of users
• Gain experience working with event-driven architecture popularity of which is currently bumping in the engineering community
• To work with challenging tasks in a high-load environment,
• Grow your skills by working with a team of senior-level specialists willing to help and share their knowledge with you
• Work in a fast-paced, team-orientated environment

✅ Is that you?
• 4+ years' experience in Software Engineering
• 3 years' experience with NodeJS technology
• Excellent understanding and practical application of fundamental design principles behind a scalable, available and reliable application
• Experience or at least good conceptual understanding of DDD principles
• Strong experience of systems integration, multiple data sources, 3rd-party systems and databases into one system
• Strong experience and excellent understanding of REST APIs
• Understanding the nature of asynchronous programming and its quirks and workarounds
• Strong proficiency with TypeScript
• Knowledge of Node.js ecosystem, concepts, native modules and frameworks available for it such as Express, NestJS, etc
• Strong experience writing NestJS based application, good conceptual understanding of the framework
• Good understanding of authentication and authorization between multiple systems, servers, and environments
• Decent experience in PostgreSQL (or similar) and being able to come up with DB table architectures based on business requirements
• Experience implementing different kinds of tests (unit, integration, api, e2e).

✅ Nice to have:
• Good knowledge and experience with AWS (S3, Cognito, RDS, API gateway, SNS, SQS, CloudWatch, etc).
• Experience in event-oriented and/or reactive architectures
• Experience with Docker, Postman (or similar), ELK

🧩Key responsibilities and your contribution to Dev.Pro
You will be a major contributor to the development of our platform.
You'll work as part of the new delivery team that was set up for the project. Will have an opportunity to learn a lot of cool stuff, from both the technical and the process perspectives. You'll become engaged from the very first steps in solution design to the final code delivery (building from a scratch till the delivery).

You will be responsible for building the scalable, reliable and available application including:
• Be involved in architectural solution creation
• Consult with leadership and team to ensure agreement on system principles
• Adhere to good development practices: documentation, code standards, code/design reviews, optimization and maintainability
• Debug and troubleshoot defects in existing code
• Integrate of user-facing elements developed by front-end developers with server side logic
• Implement security and data protection features
• Integrate various fiat and crypto 3rd-party payment solutions