Job Description
We are looking for a mid-Senior Node.js Developer responsible for managing the interchange of data between the server and the front-end. 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/client. You will also be responsible for integrating the front-end elements into the application. Therefore, a basic understanding of front-end technologies is necessary as well.
Responsibilities
- Design and implementation of low-latency, high-availability, and performant applications
- Understand business requirements and translate to application code
- Integration of data storage solutions like databases, key-value stores, blob stores, etc.
- Writing reusable, testable, and efficient code
- Work as part of a team developing applications and services using Agile development methods
- Pair program, write unit tests, lead code reviews, and collaborate with QA analysts to ensure the highest quality software
- Stand up for engineering practices that ensure quality products: automated testing, unit testing, agile development, continuous integration, code reviews, and technical design
Skills And Qualifications
- Bachelor’s/Master’s degree in Computer Science or equivalent experience
- At least 3-5+ years of experience with Node.js, JavaScript and TypeScript
- Proficiency in JavaScript, TypeScript, web stacks, libraries, and frameworks (Express etc.)
- Hands-on expertise in REST, MySQL/PostgreSQL, WebSocket, MongoDB, Redis, ORM's etc.
- Familiarity with Docker and Cloud infrastructure
- Good with Data structures
- Basic understanding of front-end technologies, such as HTML5, and CSS3
- Understanding of data security principles
- Understanding the nature of asynchronous programming and its quirks and workarounds
- User authentication and authorization between multiple systems, servers, and environments
- Designing and 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
- Strong analytical and problem-solving aptitude skills
- Fluency in both oral and written English