Senior Node.js Engineer
Role Overview:
We are seeking a highly experienced Senior Node.js Engineer to join our growing engineering team. As a senior member of our team, you will take on a leadership role in designing, implementing, and scaling highly performant systems. You will work with cloud infrastructure, primarily AWS, and build robust microservices that support high-load, real-time applications.
You will be responsible for architecting complex systems, ensuring scalability and efficiency while also providing mentorship to junior developers. This is an exciting opportunity for a self-driven, technically versatile engineer who is comfortable working independently and thrives in a fast-paced, collaborative environment.
Key Responsibilities:
- Architecture & Design: Lead the architecture and design of high-performance, scalable, and fault-tolerant Node.js applications and microservices running in a cloud environment (primarily AWS).
- Cloud Infrastructure: Utilize AWS services such as EC2, Lambda, RDS, DynamoDB, SQS, and others to ensure that applications are highly available, secure, and performant.
- Microservices: Build and manage distributed, high-load microservices that can scale effectively and handle large volumes of concurrent traffic.
- High-Performance Systems: Optimize Node.js applications for performance under high load, ensuring minimal latency and maximum throughput.
- Multithreading: Implement advanced multithreading techniques to enhance system performance and concurrency.
Code Quality & Best Practices: Write clean, maintainable, and efficient code while adhering to industry best practices and design patterns.
Required Qualifications:
- At least 5 years of experience as a Backend Developer.
- In-depth knowledge and experience developing API’s and microservices
- Strong proficiency with JavaScript, and Knowledge of Node.js and frameworks available for it (such as Express or equivalent)
- Understanding the nature of asynchronous programming and its quirks and workarounds
- Understanding fundamental design principles behind a scalable application
- Experience working with various data storage solutions such as Redis, MongoDB, etc.
- Experience working with Queuing solutions such as gearman, RabbitMQ, SQS, etc.
- Implementing automated testing modules and unit tests
- Proficient understanding of code versioning tools, such as Git
- Experience with cloud services such as AWS and GCP
- Experience working with Linux
Experience with CI/CD processes
Desired Qualifications:
- Containerization & Orchestration: Familiarity with containerization (Docker) and orchestration tools (Kubernetes).
- Advanced Monitoring & Logging: Experience setting up advanced monitoring, logging, and alerting systems using tools such as AWS CloudWatch, Datadog, or ELK Stack.
- Security Best Practices: Understanding of secure coding practices and experience implementing security measures in cloud-based applications.
Required languages
| English | C1 - Advanced |