Our complimentary job description template is a perfect starting place to help you write a good posting for work. Copy and paste it and reuse any way you want.
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
Implementation of security and data protection
Integration of data storage solutions {{may include databases, key-value stores, blob stores, etc.}}
{{Add other responsibilities here that are relevant}}
Requirements
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}}
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
{{Make sure to mention other frameworks, libraries, or any other technology related to your development stack}}
{{List education level or certification you require}}