Aymen Farhani

Aymen Farhani

Senior Software Engineer
Belgium
French, English, Arabic

About Me

I am a Senior Java Developer with seven years of experience specializing in Java/JEE, Spring/Spring Boot, Docker, Microservices, AWS and Terraform.

Passionate about building scalable, clean, and efficient software solut…

Experience

Information and Process Architect / Scrum Master

SPEOS
Jan 2025 - Present · 1 year 9 months

Microservices architectural style:
- Preparing architectural diagrams for existing applications, including: Data structure diagrams, Component diagrams, Business flow diagrams, Container diagrams, APIs interaction diagrams...
- Documenting applications built with Grails and Groovy in combination with Spring Framework, leveraging RabbitMQ, REST web services, and SOAP APIs for communication.
- Updating and migrating older documentation in Confluence to a new version, ensuring accuracy and alignment with current systems.
- Enhancing and refining existing architectural diagrams to reflect the current codebase and system architecture.
- Designing simplified diagrams to help developers understand the application and facilitate new feature integration.
- Actively participating in weekly architectural meetings to contribute to system design and decision-making processes.

𝗦𝗸𝗶𝗹𝗹𝘀 𝗮𝗻𝗱 𝘁𝗼𝗼𝗹𝘀: IntelliJ IDEA, Docker, Java, Groovy, Grails, Spring Framework, WSL, Ubuntu, REST APIs, RabbitMQ, Hazelcast, ElasticSearch, Archimate, C4 model, Confluence, Scrum

Information and Process Architect / Scrum Master

SPEOS, BRUSSELS, BELGIUM
Present

<p>Preparing architectural diagrams for existing applications, including data structure diagrams, component diagrams, business flow diagrams, container diagrams, and APIs interaction diagrams.<br>
Documenting applications built with Grails and Groovy in combination with Spring Framework, leveraging RabbitMQ, REST, and SOAP APIs for communication.<br>
Updating and migrating older documentation in Confluence to a new version, ensuring accuracy and alignment with current systems.<br>
Enhancing and refining existing architectural diagrams to reflect the current codebase and system architecture.<br>
Designing simplified diagrams to help developers understand the application and facilitate new feature integration.<br>
Actively participating in weekly architectural meetings to contribute to system design and decision-making processes.<br>
Methodology applied: Scrum.</p>

Full Stack Java/JEE Angular Developer

ARHS DEVELOPMENTS, BRUSSELS, BELGIUM

<p>Development and maintenance of different modules (management of CVs, users, matching CVs, UI interfaces).<br>
Development and maintenance of web services that allow communication between applications.<br>
User interface development with Angular.<br>
Using Git for versioning.<br>
Using Maven for dependency management and project lifecycle.<br>
Cross code review.<br>
Migration from Maven multi-modules to microservices architecture using Spring Cloud and Eureka Registry.<br>
Running applications using Docker containers via docker-compose.<br>
CI/CD continuous integration and deployment via GitLab CI (merge request and deployment to the test environment).<br>
Participation in different agile ceremonies (daily meeting, demo).<br>
Methodology applied: Scrum.</p>

Full Stack Java/JEE Developer

SPF FINANCES, BRUSSELS, BELGIUM

<p>Development and maintenance of different modules (management of plots, transactions, cadastral divisions, sending notifications, UI interfaces).<br>
Development and maintenance of web services which allow communication with external applications.<br>
Creation of a batch solution which points to a database to read documents, search for their reference through a web service and update them (standalone application).<br>
Development of batch launch and configuration interfaces with Spring Boot, Spring Batch and Angular.<br>
Using Git for versioning.<br>
Using Maven for dependency management and project lifecycle.<br>
Design and development of user interfaces using JSF 2 and PrimeFaces.<br>
Cross code review.<br>
CI/CD continuous integration and deployment via GitLab CI (merge request and deployment to the test environment).<br>
Participation in different agile ceremonies (daily meeting, demo).<br>
Methodology applied: Scrum.</p>

Full Stack Java/JEE React JS Developer

BE SOFTILYS, Tunisia

<p>Development of APIs that allow the mapping of XML files into Java objects using Spring Core, Spring Boot, Spring REST, Spring Data JPA.<br>
Development of user interfaces using ReactJS and Redux.<br>
Back-end in Java Spring Boot, with the provision of services through a REST API layer (Spring MVC, Spring Data, Spring REST).<br>
Database architecture with MySQL.<br>
Implementation of unit tests (back side), with Spring Boot Test, JUnit and Mockito, of all layers of the application (REST API, business logic, data access layer).<br>
Using Git for versioning.<br>
Using Maven for dependency management and project lifecycle.<br>
Creation of API documentation with Swagger.<br>
Code review with SonarQube.<br>
Running applications using Docker containers via docker-compose.<br>
CI/CD continuous integration and deployment via GitLab CI (merge request and deployment to the test environment).<br>
Participation in different agile ceremonies (daily meeting, demo).<br>
Methodology applied: Scrum.</p>

Full Stack Java/JEE Angular Developer

WHITECAPE TECHNOLOGOES, Tunisia

<p>Development and maintenance of different modules (user management, project management, export procurement, complaints management).<br>
Development of user interfaces using Angular.<br>
Improvement and maintenance of different modules (user management, mailing, management of procurement actions).<br>
Database architecture with MySQL.<br>
Implementation of unit tests, good practices of clean code.<br>
Using SVN for versioning.<br>
Methodology applied: Scrum.</p>

Full Stack Java/JEE JSF Developer

IT PEAC, Tunisia

<p>Development, improvement and maintenance of the various data processing and export access modules (files, photos and videos) using Spring Core, Spring JDBC and Spring Batch.<br>
Migrating Spring configuration from XML format to annotations and Java based configuration.<br>
Development of integration batches, manipulation and export of data in XML and CSV formats.<br>
Data export in Excel format with Spring Batch and Apache POI.<br>
Database architecture with PostgreSQL.<br>
Developing unit tests for previous modules using JUnit and Mockito.<br>
Refactoring and implementation of technical solutions allowing code reusability.<br>
Using Git for versioning.<br>
Using Maven for dependency management and project lifecycle.<br>
Methodology applied: Scrum.</p>

Full Stack Java/JEE Developer

IT-SERV, Tunisia

<p>Generation of the Oracle database.<br>
Development of the MyBatis persistence layer.<br>
Creation of data presentation dashboards (Spring MVC).<br>
Development of Spring, JSF, PrimeFaces business interfaces.<br>
Methodology applied: Scrum.</p>

Skills

Enterprise Java Beans (EJB) Hibernate Junit Maven MySQL PostgreSQL Python Structured Query Language (SQL) Struts Design Principles Flask JavaScript Microservices Object-Oriented Programming (OOP) Angular CI/CD Confluence Docker Jenkins JavaScript Object Notation (JSON) Kubernetes MongoDB PL/SQL Terraform Tomcat Java 8 Java 11 Java 17 Spring Data JPA Spring Data JDBC JUnit JSF PrimeFaces JBoss Server XML JAXB JSP Servlet
Report this Profile?