Back End Developer

We are looking for a Back End Developer to produce scalable web applications solutions. you’ll be part of a functional team that’s responsible for the Back End development.

Main Responsibilities:

  • Develop back-end APIs in Node.js using JavaScript (ES6)
  • Manage and maintain MongoDB (NoSQL) database.
  • Develop back-end services using microservices architecture and REST API standards.
  • Publish private NPM packages to be used across the back-end systems.
  • Secure the back-end using security best practices against major security threats.
  • Develop backend APIs to cater for features required as per documented feature stories.
  • Oversee the day-to-day functions of the development team.
  • Review and Approve pull requests made by the development team.
  • Conduct training sessions with the team so that they can be equipped with new knowledge and skills to remain current.
  • Enforce clean code and coding best practices (e.g. unit testing).
  • Always be available to provide technical support to team members in their tasks.
  • Familiar with declarative Programming paradigms like reactive and functional programming.

Job Requirements

  • Bachelor in Computer engineering, or computer science is preferred.
  • 0 – 5 years overall experience in Web Development.
  • Strong angular experience alongside professional working experience with NodeJS.
  • Comfortability with Agile Scrum framework.
  • Experienced with JS, TypeScript, HTML,, and JQuery.
  • Experience in MEAN stack (Nodejs and Angular).
  • Experienced with TDD practice (Test Driven Developments).
  • Experienced in Mongodb Modeling and Big Queries.
  • Solid understanding of Git workflow.
  • Experience working with REST APIs and familiarity with GraphQl.
  • Have awareness about SOLID principles and design patterns.
  • Experience with container networking on Docker.
  • Experience working with NoSQL databases (e.g. MongoDB) and familiarity with SQL databases.
  • Highly developed communication skills, including the ability to present ideas and share your knowledge with others.
×