Search by job, company or skills

M

Senior NestJS Developer

new job description bg glownew job description bg glownew job description bg svg
  • Posted 7 hours ago
  • Be among the first 10 applicants
Early Applicant

Job Description

Company Description

Mal Bazaar, a licensed insurance broker under the FRA, empowers customers in Egypt to search, compare, and apply for a variety of insurance products with ease. By partnering with leading insurance institutions, the platform provides a seamless, all-in-one solution for users to make informed decisions. Mal Bazaar simplifies the insurance process and ensures transparency. The company is dedicated to enhancing customer experience and expanding access to reliable insurance options across the region.

Position Overview

We are seeking an experienced Senior NestJS Developer to join our team and contribute to the development and maintenance of our enterprise-grade insurance platform. This role requires a strong background in building scalable, maintainable backend systems using NestJS and TypeScript, with a focus on complex business logic, microservices architecture, and high-performance APIs.

Key Responsibilities

Core Development

Design, develop, and maintain RESTful APIs and microservices using NestJS framework

Implement complex business logic for insurance products, quotations, proposals, and policy management

Build and optimize database schemas, queries, and migrations using TypeORM with MySQL

Develop event-driven architectures using CQRS pattern and message queues (Bull/Redis)

Integrate third-party services including payment gateways (Paymob, JumiaPay), SMS providers (Twilio), and cloud services (AWS S3)

Architecture & Design

Contribute to architectural decisions and technical design discussions

Implement design patterns and best practices for enterprise applications

Ensure code quality, maintainability, and scalability across the codebase

Design and implement authentication and authorization systems (JWT, OAuth, SSO)

Build real-time features using WebSockets (Socket.io)

Quality & Performance

Write clean, well-documented, and testable code

Optimize application performance and database queries

Implement comprehensive error handling and logging strategies

Conduct code reviews and mentor junior developers

Debug and resolve complex technical issues

DevOps & Monitoring

Work with containerization and deployment pipelines

Implement monitoring and observability using OpenTelemetry, SigNoz, and Prometheus

Manage database migrations and data integrity

Ensure application security and implement best practices

Required Technical Skills

Must-Have

5+ years of professional software development experience

3+ years of hands-on experience with NestJS framework

Strong expertise in TypeScript and modern JavaScript (ES6+)

Deep understanding of Node.js runtime and asynchronous programming

Extensive experience with TypeORM or similar ORMs

Proficiency in MySQL database design, optimization, and query performance

Strong knowledge of RESTful API design principles and best practices

Experience with Git version control and collaborative development workflows

Core Technologies (Required)

NestJS Modules: Dependency injection, middleware, guards, interceptors, pipes, decorators

CQRS Pattern: Command Query Responsibility Segregation implementation

Message Queues: Bull, Redis for background job processing

Authentication: JWT, OAuth 2.0, SSO integration

Validation: class-validator, class-transformer, Yup

Testing: Jest, unit testing, integration testing

API Documentation: Swagger/OpenAPI

Highly Desired

Experience with microservices architecture and distributed systems

Knowledge of event-driven architecture and message brokers

Experience with WebSockets and real-time communication (Socket.io)

Familiarity with AWS services (S3, RDS, SES)

Experience with Docker and containerization

Understanding of CI/CD pipelines and DevOps practices

Experience with monitoring and observability tools (OpenTelemetry, Prometheus, Grafana)

Knowledge of caching strategies (Redis, cache-manager)

Experience with scheduled tasks and cron jobs (@nestjs/schedule)

Nice to Have

Experience in insurance/fintech domain

Knowledge of MongoDB and NoSQL databases

Experience with OpenSearch/Elasticsearch

Familiarity with rate limiting and throttling mechanisms

Experience with file processing (Excel, PDF generation)

Knowledge of email templating (Handlebars, Nodemailer)

Experience with payment gateway integrations

Understanding of audit logging and compliance requirements

Required Soft Skills

Problem-Solving: Ability to analyze complex business requirements and translate them into technical solutions

Communication: Strong verbal and written communication skills in English

Collaboration: Experience working in agile teams and cross-functional environments

Ownership: Take full ownership of features from design to deployment

Mentorship: Willingness to mentor junior developers and share knowledge

Attention to Detail: Ensure code quality, security, and performance standards

Adaptability: Ability to learn new technologies and adapt to changing requirements

Time Management: Ability to manage multiple priorities and meet deadlines

Project-Specific Experience

Domain Knowledge

Understanding of insurance business processes (quotations, proposals, policies, claims)

Experience with multi-tenant applications

Knowledge of customer portal development

Experience with partner/broker management systems

Technical Patterns Used in Project

Modular Architecture: Feature-based module organization

Repository Pattern: Data access abstraction

DTO Pattern: Data transfer objects with validation

Mapper Pattern: Entity-to-DTO transformations (automapper)

Middleware Pattern: Authentication, authorization, request processing

Guard Pattern: Route protection and access control

Interceptor Pattern: Response transformation and logging

Command Bus Pattern: Decoupled command execution

What You'll Work With

Technology Stack

Framework: NestJS 11.x

Language: TypeScript 4.7+

Runtime: Node.js

Database: MySQL (with read replicas), MongoDB

ORM: TypeORM 0.3.x

Queue: Bull, Redis

Cache: Redis, cache-manager

Search: OpenSearch

Authentication: Custom SSO, JWT, OAuth 2.0

File Storage: AWS S3

Email: AWS SES, Mailtrap

SMS: Twilio

Payment: Paymob, JumiaPay

Monitoring: OpenTelemetry, SigNoz, Prometheus

Logging: Winston, Pino, MongoDB

Real-time: Socket.io

API Documentation: Swagger

Validation: class-validator, Yup

Utilities: Moment.js, ExcelJS, JSZip, Axios

Project Modules You'll Work On

Insurance products (Motor, Medical, Life, Cargo, Property, Personal Accident)

Quotation and proposal management systems

Policy lifecycle management

Customer portal and authentication

Claims processing and chronic disease requests

Payment integration and processing

Partner and broker management

Discount cards and promotional codes

File uploads and document management

Notifications and email systems

Dashboard and analytics

Forms and dynamic content management

Qualifications

Education

Bachelor's degree in Computer Science, Software Engineering, or related field (or equivalent practical experience)

Experience Level

Senior Level: 5-8 years of total software development experience

NestJS Specific: Minimum 3 years of production NestJS experience

Enterprise Applications: Experience building and maintaining large-scale applications

Team Leadership: Experience leading technical initiatives and mentoring developers

What We Offer

Opportunity to work on a complex, enterprise-grade insurance platform

Collaborative and innovative development environment

Exposure to modern technologies and architectural patterns

Continuous learning and professional development opportunities

Challenging technical problems in the insurance/fintech domain

Remote work flexibility (if applicable)

Competitive salary and benefits package

Application Process

To Apply, Please Provide:

Resume/CV highlighting your NestJS and TypeScript experience

GitHub Profile or portfolio showcasing your work

Code Samples (if available) demonstrating NestJS projects

Cover Letter explaining your interest and relevant experience

Technical Assessment

Shortlisted candidates will be asked to:

Complete a technical coding challenge (NestJS-based)

Participate in a technical interview covering NestJS concepts and architecture

Discuss past projects and problem-solving approaches

Review code and provide feedback (code review exercise)

Interview Process

Initial Screening (30 minutes) - HR and cultural fit

Technical Interview (60-90 minutes) - NestJS, TypeScript, architecture discussion

Coding Challenge - Take-home or live coding exercise

System Design Interview (60 minutes) - Architecture and design patterns

Final Interview (30-45 minutes) - Team fit and offer discussion

Key Success Metrics (First 90 Days)

Successfully onboard and understand the codebase architecture

Deliver at least 2-3 significant features or improvements

Participate in code reviews and contribute to technical discussions

Identify and implement performance optimizations

Mentor at least one junior developer

Contribute to documentation and best practices

Position: Senior NestJS Developer

Employment Type: Full-time

Experience Level: Senior (5+ years)

MalBazaar is an equal opportunity employer. We celebrate diversity and are committed to creating an inclusive environment for all employees.

More Info

Job Type:
Industry:
Employment Type:

About Company

Job ID: 145812863