Description
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, Big Data processing services, and data platforms 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, microservices, Big Data processing systems, and data pipelines running in a cloud environment (primarily AWS).
- Cloud Infrastructure: Utilize AWS services such as EC2, Lambda, RDS, S3, Kafka/MSK, SQS, and others to ensure that applications and data platforms are highly available, secure, and performant.
- Microservices & Event-Driven Systems: Build and manage distributed, high-load microservices and event-driven architectures that can scale effectively and handle large volumes of concurrent traffic and data.
- Data Infrastructure: Design and develop integrations and Big Data processing pipelines that ingest, transform, and distribute large volumes of data across operational and analytical systems.
- High-Performance Systems: Optimize Node.js applications and data processing workloads 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.
Part of the role will include integration with multiple external APIs, processing large volumes of data, and compiling it in a flexible way to accommodate various operational and analytical requirements.
Requirements
Requirements:
- At least 5 years of experience as a Backend Developer.
- In-depth knowledge and experience developing APIs, microservices, and distributed systems.
- Experience working with modern data platforms and storage solutions such as Snowflake, ClickHouse, or equivalent.
- Experience working with event streaming and queuing solutions such as Kafka, RabbitMQ, SQS, or equivalent.
- 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 designing and implementing data ingestion, transformation, and processing workflows.
- 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.