Imam Harir, Developer in Rabat, Rabat-Salé-Kénitra, Morocco
Imam is available for hire
Hire Imam

Imam Harir

Verified Expert  in Engineering

Software Developer

Location
Rabat, Rabat-Salé-Kénitra, Morocco
Toptal Member Since
March 31, 2022

Imam is a senior software engineer with more than five years of experience building robust websites and web applications for big companies like Mister-Auto, Stellantis, and Fujitsu. Specializing in React, Symfony, and Node.js, he's worked on different kinds of projects like eCommerce and management web applications. Imam joined Toptal to gain worldwide opportunities and more expertise in areas he's passionate about.

Portfolio

Mister Auto
Symfony, Hexagonal Architecture, CQRS, Event Sourcing, Zend Expressive...
Copiatek
JavaScript, Next.js, Node.js, Full-stack Development, SQL, NestJS
SportsMedAnalytics
REST APIs, Node.js, React, API Development, REST, Next.js, Material UI...

Experience

Availability

Part-time

Preferred Environment

Git, PhpStorm, Visual Studio Code (VS Code)

The most amazing...

...thing I've developed is the reporting module for RunMyProcess using React, Redux, Enzyme, and Jest.

Work Experience

Tech Lead

2020 - PRESENT
Mister Auto
  • Worked as a tech lead and application architect leading a team of six developers, a product owner, and a QA. Added technical details to create tickets and helped my team achieve goals. Collaborated with four other teams.
  • Architected and developed a promotion tool microservice that allows users to create different kinds of promotions that can be applied to a cart, as well as contextualized visuals and pre-headers to display on the front end and the mobile app.
  • Architected and created an order/cart microservice using API calls to handle carts and orders. Connected this microservice with other services to retrieve needed data like products and shipping options.
  • Architected and built a payment handler microservice to return available payment methods depending on customers' cart and handle the payment. It also produces a message using RabbitMQ to notify users about the order's new status.
  • Developed a social media connect feature with Facebook, Google, and PayPal using Zend Expressive and AngularJS. Created a single authentication API to handle them using a strategy design pattern.
  • Created a delivery option selection page using Zend Expressive for the APIs and AngularJS and Twig for the front end. Used a middleware design pattern to secure the APIs and share non-domain-specific logic.
  • Developed an absence management tool using React/Material-UI and Node.js with a JWT-based authentication, roles management, a dashboard for statistics, and advanced Excel generation to generate absence reports.
Technologies: Symfony, Hexagonal Architecture, CQRS, Event Sourcing, Zend Expressive, AngularJS, PHPUnit, PostgreSQL, MySQL, JavaScript, PHP, PHPStan, SQL, APIs, Node.js, React, Material UI, NGINX, HTML, CSS, Sass, GitLab CI/CD, Redis, REST APIs, API Development, REST, Linux, GitLab, Express.js, Git, Full-stack, Back-end

Full-stack Developer

2023 - 2023
Copiatek
  • Created the front-end part of the management tool with Next.js based on a Figma design.
  • Contributed to back-end part (NestJS/Prisma) by adding endpoints and fixing bugs.
  • Collaborated closely with the client to carefully assess and select the optimal solutions.
Technologies: JavaScript, Next.js, Node.js, Full-stack Development, SQL, NestJS

API Software Developer

2022 - 2022
SportsMedAnalytics
  • Developed secured APIs to be used by final clients and a back office using Node.js, PostgreSQL, hexagonal architecture, and Express.js.
  • Developed a secured back office using Next.js and MUI.
  • Created a cron in the server to populate a table with recent data from a third-party API.
  • Deployed the front and back end to the cloud and set up everything from the DNS, SSL, and DB to file storage.
Technologies: REST APIs, Node.js, React, API Development, REST, Next.js, Material UI, Express.js, Hexagonal Architecture, HTML, Linux, GitLab, JavaScript, Git, PostgreSQL, SQL, APIs, NGINX, Full-stack, Back-end

React Developer

2019 - 2020
SanadTech
  • Developed a front-end part of the report, messages, and schedule modules using React, Redux, Enzyme, and Jest. Created custom drag-and-drop components for the configuration page. Used infinite scrolling for the listing.
  • Used GitLab for versioning and GitLab issues for ticketing features and bugs.
  • Reverse-engineered the legacy front end to list web services to use for each action I implemented. Each web service was called using a custom SDK.
Technologies: React, Enzyme, Redux, Jest, JavaScript, APIs, HTML, CSS, Sass, REST, Linux, GitLab, Git, REST APIs, GitLab CI/CD, Argus

React and Node.js Consultant

2019 - 2019
Innoveos
  • Reviewed code for the project, especially for parts where best practices were not followed with React and Node.js.
  • Identified performance-related mistakes like the absence of memoization, uncleared timeouts, intervals or useless rerenders, and the incorrect usage of a UIkit library where components were affecting other components' imported styles.
  • Identified that the Node.js app was running in production without being built for production, so I added a script in package.json for that purpose.
Technologies: React, Node.js, JavaScript, Git, APIs, HTML, CSS, Sass, REST APIs, API Development, REST, Linux, GitLab, Express.js, Enzyme, Redux, Full-stack, Back-end

Full-stack Developer

2018 - 2019
L'argus
  • Developed a monolithic MVC web application for clearance of used vehicles for the Ivory Coast customs using Symfony, MySQL, and jQuery. Created an Android mobile app to scan generated QR codes from a web application and get vehicle information.
  • Built a sales management web app for AIVAM using React and Symfony for the APIs. Included features such as CSV data export, dashboard, and business calculations.
  • Tracked and fixed bugs with a Trello ticketing tool.
Technologies: Symfony, React, PHP, JavaScript, Git, SQL, APIs, HTML, CSS, Redis, PHPStan, NGINX, REST APIs, API Development, REST, Linux, PostgreSQL, PHPUnit, Full-stack, Android, Java, Back-end

Full-stack Developer

2017 - 2018
Mobiblanc
  • Developed a back-end API for my2M, the official application of the Moroccan public television channel 2M. Created APIs to return video media files.
  • Created a back-end API for a professional mobile app using Symfony, Redis for cache, MySQL for database, and a JWT-based authentication system.
  • Tracked and fixed bugs using Jira as a ticketing system.
Technologies: Symfony, Node.js, MySQL, Git, Redis, JavaScript, PHP, SQL, APIs, NGINX, REST APIs, API Development, REST, Linux, PHPUnit, Full-stack, Back-end

Full-stack Developer

2017 - 2017
Iwaco
  • Contributed to developing a monolithic CRM using flat PHP MVC for a phone repair team to insert customers' data and track repair information.
  • Developed an Android app and an API for a retail department and back office using Symfony. Implemented a custom form generator in the back end to allow mobile app users to fill out custom forms and post the data back to the back end.
  • Customized Xibo signal player CMS using flat PHP and JavaScript. Implemented a custom action to fetch remote LDAP users and insert them in the Xibo user table. Implemented a custom action to pick files from a remote FTP server.
Technologies: Symfony, Android, PHP, Java, SQL, APIs, HTML, CSS, Sass, NGINX, REST APIs, API Development, REST, Linux, JavaScript, Git, Full-stack, Back-end

Mister Auto

A big eCommerce subsidiary company of Stellantis group based in France that specializes in selling cart parts and operates in many different countries. The company has over 100 employees and multiple software engineering teams, each with its own POs, QAs, and tech leads.

As a tech lead and application architect, I architected solutions, added technical details to create tickets, and helped my team to achieve set goals.

We used open-source technologies like PHP and JavaScript and worked agilely. Also, my team and I developed many microservices using hexagonal architecture and best practices while maintaining legacy projects.

RunMyProcess

https://www.runmyprocess.com/
RunMyProcess is a property of Fujitsu Siemens. I joined a Moroccan-based company named SanadTech that worked on a front-end part of this project.

As a freelance React developer, I worked with a team of five members and delivered the front-end part of the report, schedule, and message modules.

I also implemented advanced drag-and-drop pickers and a lot of other amazing components.

Absence Management tool

I was asked to develop an absence management tool using React/Material-UI and Node.js with a JWT-based authentication, roles management, a dashboard for statistics, and the advanced excel generation to generate absences reports.

Languages

JavaScript, PHP, SQL, HTML, CSS, Sass, Java, Argus

Frameworks

Symfony, Redux, Jest, PHPUnit, Next.js, Zend Expressive, Material UI, AngularJS, Express.js, NestJS

Libraries/APIs

React, Node.js, API Development, REST APIs

Tools

Git, GitLab, NGINX, GitLab CI/CD

Paradigms

REST, CQRS, Event Sourcing

Platforms

Linux, Android

Storage

PostgreSQL, MySQL, Redis

Other

PHPStan, Hexagonal Architecture, APIs, Full-stack, Back-end, Enzyme, Full-stack Development

2011 - 2016

Master's Degree in Information Systems Engineering

SupMTI - Rabat, Morocco

OCTOBER 2020 - OCTOBER 2023

Node.js Services Developer

OpenJS

AUGUST 2020 - AUGUST 2023

Node.js Applications Developer

OpenJS

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring