Imam Harir, Software Developer in Rabat, Rabat-Salé-Kénitra, Morocco
Imam Harir

Software Developer in Rabat, Rabat-Salé-Kénitra, Morocco

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. He specializes in React, Symfony, and Node.js, and he worked on different kinds of projects like eCommerce and management web applications. He joined Toptal to get worldwide opportunities and gain more expertise in areas he's passionate about.
Imam is now available for hire

Portfolio

  • Mister Auto
    Symfony, Hexagonal Architecture, CQRS, Event Sourcing, Zend Expressive...
  • SportsMedAnalytics (via Toptal)
    REST APIs, Node.js, React, API Development, REST, Next.js, MUI (Material UI)...
  • SanadTech
    React, Enzyme, Redux, Jest, JavaScript, APIs, HTML, CSS, Sass, REST, Linux...

Experience

Location

Rabat, Rabat-Salé-Kénitra, Morocco

Availability

Part-time

Preferred Environment

Git, PhpStorm, Visual Studio Code

The most amazing...

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

Employment

  • 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, MUI (Material UI), NGINX, HTML, CSS, Sass, GitLab CI/CD, Redis, PhpStorm, REST APIs, API Development, REST, Linux, GitLab, Express.js, Git, Visual Studio Code, Full-stack, Back-end
  • API Software Developer

    2022 - 2022
    SportsMedAnalytics (via Toptal)
    • 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, MUI (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, Visual Studio Code, REST APIs, GitLab CI/CD
  • 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, Visual Studio Code, 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, SCSS, Redis, PHPStan, PhpStorm, 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, PhpStorm, 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, PhpStorm, NGINX, REST APIs, API Development, REST, Linux, JavaScript, Git, Full-stack, Back-end

Experience

  • Mister Auto
    https://www.mister-auto.com/

    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.

Skills

  • Languages

    JavaScript, PHP, SQL, HTML, CSS, Sass, Java
  • Frameworks

    Symfony, Redux, Jest, PHPUnit, Next.js, Zend Expressive, MUI (Material UI), AngularJS, Express.js
  • 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

Education

  • Master's Degree in Information Systems Engineering
    2011 - 2016
    SupMTI - Rabat, Morocco

Certifications

  • Node.js Services Developer
    OCTOBER 2020 - OCTOBER 2023
    OpenJS
  • Node.js Applications Developer
    AUGUST 2020 - AUGUST 2023
    OpenJS

To view more profiles

Join Toptal
Share it with others