Jakarta, Jakarta, Indonesia
Micro Services Engineer Node Js with Typescript
Job Description:
Requirment
- In-depth knowledge of Node.js is essential, as its a key technology for building microservices due to its non-blocking, event-driven architecture.
- Understanding the principles of microservices architecture, including service decomposition, API design, and communication patterns (REST, gRPC, messaging).
- Proficiency in building RESTful APIs and potentially other types of APIs using Node.js and related frameworks like Express.js.
- Familiarity with containerization technologies like Docker and container orchestration platforms like Kubernetes for deploying and managing microservices.
- Knowledge of working with various databases (SQL and NoSQL) and data storage solutions to support microservices data needs.
- Experience with message brokers like RabbitMQ, Apache Kafka, or NATS for asynchronous communication between microservices.
- Understanding service discovery and registration tools like Eureka, Consul, or Kubernetes service discovery.
- Familiarity with API gateway patterns and tools (e.g., NGINX, Kong, or Apigee) for routing, security, and load balancing.
- Proficiency with version control systems like Git to manage and collaborate on codebase.
- Knowledge of testing practices, including unit testing, integration testing, and end-to-end testing of microservices.
- Experience in setting up CI/CD pipelines for automated testing, building, and deploying microservices.
- Awareness of microservices security best practices, including authentication, authorization, and data protection.
- Knowledge of monitoring tools (e.g., Prometheus, Grafana) and log aggregation systems (e.g., ELK stack) to track the health and performance of microservices.
- Familiarity with cloud platforms like AWS, Azure, or Google Cloud for deploying microservices in a scalable and cost-effective manner.
- Skills in scripting (e.g., Bash) and automation (e.g., Ansible) for system administration and deployment tasks.
- Understanding of the complete software development life cycle, including requirements gathering, design, development, testing, deployment, and maintenance.
- Strong analytical and problem-solving skills to diagnose and resolve issues in a distributed microservices environment.
- Effective communication and collaboration skills to work within cross-functional teams, as microservices often involve multiple teams working on different services.
- Knowledge of Agile development practices, as many organizations adopting microservices also use Agile methodologies.