Work Experience

See my work experince details below.

  • Software Development Engineer, Associate

    Contributed to the design and the implementation of a (Python) CLI utility to manage and generate automatically the deployment workflows as a layer on top of an internal deployment tool. (Currently the maintainer) :

    • Designed with a team of experienced cloud developers the new concept of workflow as collection of deployments and test actions associated with a specific AWS deployment environment.
    • Implemented the CLI generation tool to use generic config files to create workflows in a customizable way.
    • Packaged the project, added the package process using a GitLab CI, to build and publish the build artifact to an AWS S3 bucket.
    • Created an update feature to get the latest shared version from the S3 bucket and promote it from CLI.
    • Results: Improved the lifecycle of all the deployed products. The team reached a more efficient working cycle.

    Contributed in the enhancement and the creation of new features for internal platform that manages cloud environments :

    • Updated the API layer (Python Pyramid) and the task processing side (Celery, RabbitMQ, SQLAlchemy).
    • Updated and created UIs views (JavaScript, ReactJs, Ant design).
    • Packaged the application using Nix and deployed it using Infor tools.

    Implemented the automation to deploy a new multi-tier project on a cloud-based infrastructure on top of the internal deployment tool :

    • Designed, analyzed, and troubleshooted a new large-scale distributed system with the DevOps/SRE practices.
    • Wrote SaltStack script to fully configure the remotely created compute nodes. Using CloudFormation templates to provision the required AWS resources.

    Reduced the deployment time by updating the used environments and automations:

    • Transformed the packaging manager from (nix) to the default python packaging tool using (poetry).
    • Packaged the API codebase and the UI code and added the package process using a GitLab CI, to build and publish the build artifact to an AWS S3 bucket. The packages are used within the deployment process.
    • Enhanced the automation (Salt) scripts to configure the freshly created cloud compute nodes (EC2 nodes).
    • Results: Reduced the deployment time by 40%.
  • Software Development Engineering Intern

    Designed and implemented a monitoring and management (microservices) for a distributed and large-scale industrial IoT platform

    • Designed, conducted tests and proof of concepts to validate the advantages of designed solutions.
    • Implemented a microservice to collect and manage remote exposed metrics for industrial distributed IoT devices, using scheduled collection job actions.
    • Set rules to scale up or to scale down running instances on a private cluster.

    Created an automated cluster installer (vagrant) to setup a multi-node and multi-machine cluster using (ansible).