Imam Harir
Verified Expert in Engineering
Software Developer
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
Experience
Availability
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
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.
Full-stack Developer
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.
API Software Developer
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.
React Developer
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.
React and Node.js Consultant
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.
Full-stack Developer
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.
Full-stack Developer
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.
Full-stack Developer
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.
Experience
Mister Auto
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/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
Education
Master's Degree in Information Systems Engineering
SupMTI - Rabat, Morocco
Certifications
Node.js Services Developer
OpenJS
Node.js Applications Developer
OpenJS
Skills
Libraries/APIs
React, Node.js, API Development, REST APIs
Tools
Git, PHPStan, GitLab, NGINX, GitLab CI/CD
Languages
JavaScript, PHP, SQL, HTML, CSS, Sass, Java, Argus
Frameworks
Symfony, Redux, Jest, PHPUnit, Next.js, Zend Expressive, Material UI, AngularJS, Express.js, NestJS
Paradigms
REST, CQRS, Event Sourcing
Platforms
Linux, Android
Storage
PostgreSQL, MySQL, Redis
Other
Hexagonal Architecture, APIs, Full-stack, Back-end, Enzyme, Full-stack Development
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring