We are looking for a Web Developer with strong proficiency in Node.js, 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 the central database, and
ensuring high performance and responsiveness to requests from the front-end (web, phone,
tablet apps). You will also be responsible for implementing the web based front-end, so
familiarity with front-end technologies is important.
Responsibilities
Design and implementation of low-latency, high-availability, and high-performance
applications
Integration of user-facing elements developed with server side logic. User facing
elements include web, phone and tablet apps
Design and implementation of user-facing web applications
Writing reusable, testable, and efficient code
Writing exhaustive automated tests to regress the server side using nightly automated
runs (Jenkins CI)
Implementation of security and data protection
Integration of data storage solutions
Integration of high-availability solutions at web and database level
Requirements
BS degree in Computer Science or Engineering or a related discipline
Strong proficiency with JavaScript
Knowledge of Node.js and frameworks available for it
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
Good understanding of front-end technologies, such as HTML5, and CSS3
Good understanding of AngularJS and similar frameworks
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 SVN