We are looking for a Senior JS Developer responsible for managing the interchange of data between the server tier 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.
- Node.js Frameworks/Modules Experience such as Express, Kraken,redis.io, backbonejs etc.
- Very Deep understanding of Node.js Core Framework/Engine
- Experience with Agile/Scrum teams
- Experience with Node.js, MySQL, MongoDB Database Applications
- 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
- Implementation of security and data protection
- Integration of data storage solutions e.g. could include databases, key-value stores, blob stores, etc.
- Understanding user specified requirements through engaged questioning and clarification of what is needed. Validation of understanding through written & spoken accounts of approach to deliver on specification.
- Highlighting risks or concerns with schedule, scope or quality in a timely and proactive manner to facilitate risk mitigation
Skills and Qualifications
- Strong proficiency with JavaScript, AngularJS and AWS.
- Knowledge of Node.js and frameworks available for it e.g. Express, Sequelize, etc.
- Understanding the nature of asynchronous programming and its quirks and workarounds.
- Good understanding of server-side templating languages e.g Handlebars, EJS, etc.
- Good understanding of server-side CSS pre-processors e.g SCSS, Less, etc.
- Basic understanding of front-end technologies, such as HTML5, and CSS3
- Understanding accessibility and security compliance.
- 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.
- Understanding differences between multiple delivery platforms, such as mobile vs. desktop, and optimizing output to match the specific platform.
- Creating database schemas that represent and support business processes.
- Implementing automated testing platforms and unit tests.
- Proficient understanding of code versioning tools, such as Git.