
Search by job, company or skills
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.
Job ID: 145812863