Amine BAGDOURI

Senior Java Tech Lead | Performance Optimization

Salaire / Taux journalier

Nice, France

Freelance

Peut venir sur site

Expertises

JavaSpring BootApache SparkRedisPythonAWSAWS LambdaDynamoDBKafkaPostgreSQLMongoDBMySQLOracle DatabaseElasticsearchMicroservicesBig DataKubernetesGradleMavenGitLabGitHubBitbucketConfluenceJiraDockerAzureAngularTomcatJavascriptAndroidSQLiteAdobe Photoshop

Langues

Arabe (Maternelle)Anglais (Courant)Français (Courant)

À propos

Introduction

Java Tech Lead with 8+ years of expertise in high-performance distributed systems and Big Data solutions. Proven track record optimizing Spark applications (2x throughput increase), reducing batch processing from 2 hours to 15 minutes, and teaching distributed systems at engineering schools. Specialized in performance tuning, cloud architecture (Azure/AWS), and building scalable enterprise applications for finance and IoT sectors.

Liens

Expérience de travail

Java Tech Lead

Societe GeneraleFreelance

sept. 2021 - Présent

5 ans 2 mois

92800 Puteaux, France

Developing and maintaining Big Data applications that calculate counterparty risk related metrics for Société Générale, with emphasis on performance optimization. - Contribute to the design and architecture of applications, processes and workflows. - Implement new features, improvements, bug fixes and tests (unit, integration & BDD). - Configure and deploy Spark applications on Azure HDInsight. - Migrate our Spark applications from Azure HDInsight to AKS SoK8s, - Determine the adequate Azure VM types to use on the new SoK8s cluster, to maintain the same level of performance while reducing costs. - Develop a tool that monitors, records and synthesizes performance related metrics for Spark applications. - Design and run a series of performance tests to navigate the space of ways of improving the performance of our Spark applications while reducing costs. - Tune resource usage and provide technical solutions for performance related problems. - Increase the throughput of a Spark application from 3000 to 6500 elements per hour, while reducing resource usage, via leveraging some optimization techniques. - Implement a buffering system that lead to the reduction of the duration of a Spark batch process from over 2 hours to around 15 minutes. - Implement a prioritization mechanism on top of Kafka, for the purpose of allowing important daily batches to meet their deadlines. - Investigate and resolve technical issues on our production environment. - Develop a Spark operation memory and processing profiler using AspectJ AOP. - Develop a smart watchdog that automatically gracefully restarts a Spark application to improve its stability and performance. # Technologies: Java SE 8, Spark, HDFS, Oozie, YARN, Parquet, SoK8s, Azure (HDInsight, Storage, AKS, Event Hub, Key Vault), PostgreSQL, Spring (IoC, Boot, Data, AOP), JUnit, Cucumber, RESTful Web Services, ElasticSearch, Kibana, Kafka, Redis, Kubernetes # Tools : Intellij IDEA, Jira, Github, Nexus Repository, Maven, Zeppelin.

Course Instructor

EPITA: Ecole d'Ingénieurs en InformatiqueFreelance

sept. 2024 - déc. 2024

4 mois

Paris, France

Designed and delivered a comprehensive 30-hour course at EPITA Engineering School, covering core principles and practices in distributed systems. The course spanned topics essential to distributed architectures, including network communication, scalability, coordination, consistency, and resilience. Through a hands-on approach, students built a distributed trip-booking application using Java and Spring Boot.

AWS IoT Backend Developer

ALIZENTFreelance

déc. 2020 - juil. 2021

8 mois

92800 Puteaux, France

At Alizent, a subsidiary of Air Liquide, developing and maintaining a digital platform that allows welders to monitor gas cylinders reserve indicators and ensure their automatic replenishment. - Participate in the design and architecture of the platform's microservices. - Implement solutions that answer technical problems (single sign-on, log indexing). - Implement new features, fix bugs and write integration tests. - Configure and deploy the application on multiple AWS environments. # Technologies: Python, AWS (Lambda, S3, CloudFormation, DynamoDB, Cognito, RDS, CodePipeline, CloudWatch, API Gateway, SNS, SQS), RESTful Web Services, PostgreSQL. # Tools: Visual Studio Code, Azure DevOps, Docker, NoSql Workbench, WSL.

Java Software Engineer

ADSN

sept. 2019 - oct. 2020

1 an 2 mois

Aix-en-Provence, France

On a mission at ADSN Group, as a Java Software Developer : - Develop and optimise multiple batch processes that manipulate big SQL data volumes. - Optimise a component that manipulates huge JSON files in order to reduce memory footprint. - Implement new features of a platform used for secured data transfer between notaries and their partners. # Technologies : Java SE 8, Spring (IoC, Boot, Data, MVC, Batch, Security), JUnit, Hibernate, RESTful & SOAP Web Services, Angular, Oracle Database, Tomcat, ElasticSearch, Kafka, Redis. # Tools : IntelliJ IDEA, Jira, BitBucket, Bamboo, Confluence, Maven, Nexus Repository.

Java Performance Engineer

smartTrade Technologies

avr. 2017 - août 2019

2 ans 5 mois

Aix-en-Provence, France

Benchmarking and optimising smartTrade’s software performance : - Automate the performance tests of our software's backend and integrate them in our process of CI/CD. - Detect and fix performance bugs of our software using latency monitors, memory profiling, CPU profiling, memory snapshots (heap dumps), and CPU snapshots (thread dumps). - Rewrite a performance critical component in a multithreaded manner to improve its throughput. - Develop UI client simulators alongside the design and development of performance testing scenarios for our web server. - Design and develop a new schema for our database of monitoring data alongside the implementation of its associated software layer, in order to improve its performance. - Write JMH micro-tests of performance to compare multiple and choose between code alternatives. - Investigate and resolve performance problems in our clients production sites. - Improve an open source UI framework developed by smartTrade in terms of CPU, memory and bandwidth thanks to some software optimisations. - Rewrite a web data grid of the UI framework to improve its performance, extensibility and reusability. - Analyze application assembly code to identify the root cause of a performance regression. - Detect and report a significant performance regression in Eclipse Java Compiler: https://bugs.eclipse.org/bugs/show_bug.cgi?id=537011 # Technologies : Java SE 9, Spring IoC, MongoDB, MySQL, GWT, Hibernate, JUnit, JMH, JavaScript. # Tools : Eclipse, Gradle, JFrog Artifactory, GitLab, GitHub, Bamboo, Confluence, Jira, Yourkit Java Profiler, Java Mission Control, Async Profiler, Eclipse Memory Analyzer. SmartTrade is a software company specialised in multi-asset electronic trading solutions.

Android Application Developer

Masarat App

juil. 2015 - août 2015

2 mois

Témara, Maroc

Development of the mathematics quiz game "Sumoo" for Android. # Technologies : Android, SQLite. # Tools : Android Studio, Adobe Photoshop.

Android Application Developer

Masarat App

juil. 2014 - août 2014

2 mois

Témara, Maroc

Development of the Android version of the educational application "Arabic Alphabet Oasis". # Technologies : Android, XML. # Tools : Eclipse, Adobe Photoshop.


Formation

Aix-Marseille University

Master’s Degree, Distributed Information Systems

2016 - 2017

1 an 1 mois

M2 Systèmes d'Information Répartis Valedictorian

Ecole Marocaine des Sciences de l'ingénieur

Engineer’s Degree, Computer Science

2012 - 2016

4 ans 1 mois

Moroccan School of Engineering Sciences Valedictorian


Licences et certifications

Oracle Certified Professional Java SE 11 Developer

Délivré le : avr. 2021

Certifié par Oracle

Pivotal Certified Spring Professional

Délivré le : juil. 2020

Certifié par Pivotal Software, Inc.

Le meilleur endroit pour trouver votre prochaine opportunité

© 2026. Tous droits réservés.