Technical Skills: (must have)
● Excellent JavaScript programming skills
● Hands-on experience with developing REST APIs using Node.js and Express framework
● Hands-on experience with using multiple data sources and databases into one system
● Hands-on experience with implementing Role based User authentication and authorization system
● Hands-on experience with middleware and routing
● Sound understanding of asynchronous programming
● Sound understanding of data-interchange format such as JSON
● Sound understanding of standard authentication systems such as OAuth2, JWT and SSO
● Sound understanding of fundamental design principles behind a scalable application
● Hands-on experience with version controlling tools (e.g. Git)
● Proficiency in writing efficient, normalised and scalable database schemas
● Experience with Amazon services (e.g. SNS, SES, S3, etc.)
● Experience with error handling
● Basic understanding of front-end technologies, such as HTML5, and CSS3
● Knowledge of accessibility and security compliance
● Knowledge of GraphQL in Node.JS
● Knowledge of server-side templating (e.g. Jade, Handlebars.js, etc.)
Additional Skills: (nice to have)
● Knowledge of Deployment process
● Knowledge of Prisma for GraphQL
● Knowledge of asymmetric and symmetric encryption methods (RSA, AES, SHA).
● Good understanding of server-side CSS pre-processors
Key accountability of Node Developer will be to plan, develop, maintain and optimise codebase for backend of MyLOFT.
● Planning and Development
○ Design Planning of the functional App in coordination with software development team
○ Develop low-latency and high-availability RESTful backend APIs/web-services
○ Use GraphQL (Prisma) to interact with Database
○ Implementation of security and data protection layer
○ Integration of data storage solutions like AWS S3, Redis, etc.
○ Integration with third-party/external services like SNS, SES, etc.
○ Work closely with Mobile and Web app team for exposing APIs
● Testing, Security and Maintenance
○ Follow best practices for testing and maintenance to ensure that codebase is executable, readable and easy to maintain
○ Ensure secure data transmission between server and clients by implementing suitable encryption methods
○ Ensure that security and versioning of the codebase is maintained
○ Write and maintain technical documentation for ready reference
● Post-Launch Activities
○ Periodically participate in code review and refactoring to improve app performance
○ Participate in user feedback sessions to identify and understand user requirements
● Beta/Marketability Tests (for POCs)
○ Coordinate with development team to evaluate technical feasibility of new requirements
○ Build prototypes/POCs
○ Actively participate in relevant technical forums
○ Participate in training and knowledge sharing initiatives