Job Role:
We are looking for a Node.js Developer responsible for managing the interchange of data between the server and the users. Your primary focus will be the development of all server-side logic, definition and maintenance of the central database, 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:
- Integration of user-facing elements developed by front-end developers with server-side logic
- Writing reusable, testable, and efficient code
- Design and implementation of low-latency, high-availability, and performant applications
- Maintain accurate time logs to track your tasks.
- Implementation of security and data protection
- Integration of data storage solutions {{may include databases, key-value stores, blob stores, etc.}}
- Work with Project Managers to manage your workload efficiently.
- Review and optimize app usage by monitoring key metrics and rectifying the issues proactively.
- An ability to perform well in a fast-paced environment and bring in optimal flow for rapidly changing design/ technology.
Requirements:
- Strong proficiency with JavaScript
- Knowledge of Node.js and frameworks available for it such as ExpressJS
- Understanding the nature of asynchronous programming and its quirks and workarounds
- Good understanding of server-side templating languages
- Good understanding of server-side CSS preprocessors
- Basic understanding of front-end technologies, such as HTML5, and CSS3
- User authentication and authorization between multiple systems, servers, and environments
- Integration of multiple data sources and databases into one system
- Understanding fundamental design principles behind a scalable application
- Functional knowledge of Git.
- Familiarity with project planning software (e.g. Teamwork, Github).
- Excellent ability to think on your feet.
- Strong analytical problem-solving skills.
- Ability to communicate ideas clearly and professionally.
- Passionate to create good design and usability.
- A team player with good communication skills