President@cafit.org

Secretary@cafit.org

President@cafit.org

Node JS Developer

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. Package not an issue for right candidate.

Responsibilities and Duties

  • 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

Required Experience, Skills and Qualifications

  • Strong proficiency with JavaScript{{or CoffeeScript depending on your technology stack}}
  • Knowledge of Node.js and frameworks available for it {{such as Express, StrongLoop, etc depending on your technology stack}}
  • Understanding the nature of asynchronous programming and its quirks and workarounds
  • Good understanding of server-side templating languages {{such as Jade, EJS, etc depending on your technology stack}}
  • Good understanding of server-side CSS preprocessors {{such as Stylus, Less, etc depending on your technology stack}}
  • Basic understanding of front-end technologies, such as HTML5, and CSS3
  • Understanding accessibility and security compliance {{Depending on the specific project}}
  • 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