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.
The perfect candidate will have a keen eye for detail as well as high standards for code quality and efficiency as they will be working directly with the CEO on a special project for several months before joining the main team.
What skills are we looking for?
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. You will need to be highly process driven and eager to learn new technologies and programming languages. You will also be communicating directly with our users on a regular basis to investigate issues and truly understand how your work is being used.
Skills & Requirements
The ideal candidate primarily needs to be a good web developer but also be aware of modern trends in distributed software applications development.
- BTech/ MS in Computer Science or related fields or extensive software development experience.
- 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.
- Experience using PostgreSQL, Redis, Memcached, Lua, Linux, Nginx, Elasticsearch, and Amazon Web Services a plus.
- 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.
- Understanding differences between multiple delivery platforms, such as mobile vs. desktop, and optimizing output to match the specific platform.
- Proficient understanding of code versioning tools, such as Git.
- Develop and test highly scalable web applications and services.
- Make sure to mention other frameworks, libraries, or any other technology related to your development stack.
- Design and implement intuitive user interfaces across devices.
- 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.
- Implementation of security and data protection. Integrate and automate data processing from various sources and APIs.
- Integration of data storage solutions may include databases, key-value stores, blob stores, etc.
- Fluent in English with excellent written and verbal communication skills.
- Ability to work independently – accountable for your own actions and able to act with both urgency and integrity.
- Must submit to a background check confidentially processed by our third party.
- Comfortable with Teamwork, JIRA, Git and GitHub.