Job Details
Experience Needed:
Career Level:
Education Level:
Salary:
Job Categories:
Skills And Tools:
Job Description
Tqweem is 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
- Lead development of microservices to extend current backend
- Lead debugging and fix bugs and implement new features in the backend
- Design and implementation of low-latency, high-availability, and performant applications
- Implementation of security and data protection measures and integrating existing ones
- Participate and contribute towards improving the team’s development process and practices
- Writing unit and integration tests as required.
- Writing down design documents when required
- Drawing UML diagrams to support tasks and requirements
Job Requirements
- 5+ year’s professional experience in Software Development
- Very Good JavaScript experience ideally gained in a fast-moving startup setting
- Experience with API development and microservices development a strong plus
- Very Good Knowledge of NodeJS frameworks such as ExpressJS
- Very good Knowledge of AngularJS and Angular2
- Very good knowledge of the Node.js eco-system (npm, bower, grunt, etc.)
- Solid understanding of database technologies, especially Postgres and MySQL databases
- Proven experience of working in teams in the successful delivery of complex, highly performing and high quality products
- Experience of Agile practices
- Experience of working with business stakeholders, product owners and business analysts to analyze requirements, develop ideas and design solutions
- Understanding the nature of asynchronous programming
- Good understanding of server-side CSS preprocessors
- Good understanding of front-end technologies, such as HTML5, and CSS3
- Understanding accessibility and security compliance
- Knowledge of user authentication and authorization between multiple systems, servers, and environments
- 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