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