Jakarta, Jakarta, Indonesia

Micro Services Engineer Node Js with Typescript

 Job Description:

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