We are looking for a Node.js Developer responsible for managing the interchange of data between the server and the clients. Your primary focus will be the development of all server-side logic, definition and maintenance of multiple storage systems, and ensuring high performance and responsiveness to requests from the front-end. You will also be responsible for integrating the front-end elements built by your co-workers into the application. Therefore, a basic understanding of front-end technologies is necessary as well.

 

Responsibilities

  • Writing reusable, testable, and efficient code
  • Design and implementation of low-latency, high-availability, and performant services
  • Implementation of security and data protection
  • Integration of multiple backend solutions such as Redis, Apache Cassandra, Apache Solr and Apache Kafka

 

Skills & Requirements

  • Strong proficiency with JavaScript, newer specifications of ECMAScript and TypeScript
  • Knowledge of Node.js and frameworks available for it such as Koa.js, Express.js and Socket.io
  • Understanding the nature of asynchronous programming and its quirks and workarounds
  • User authentication and authorization between multiple systems, servers, and environments
  • Integration of multiple data sources and databases into one system
  • Good experience with RESTful APIs and WebSocket APIs
  • Understanding fundamental design principles behind a scalable application and microservice architecture
  • Creating database schemas that represent and support business
  • Experience with DevOps processes and tools such as Jenkins, Docker, Vagrant and Kubernetes is a plus