ANAS ABBAL

Backend Software Engineer
Leiria, PT.

About

Highly skilled and results-driven Backend Software Engineer with over 7 years of experience specializing in designing, developing, and deploying scalable microservices and robust API solutions. Proven expertise in Java (Spring Boot, Spring Cloud), TypeScript (NestJS, Node.js), and Go, complemented by a strong foundation in distributed systems, agile methodologies, and CI/CD automation. Adept at optimizing system performance, ensuring high availability, and collaborating cross-functionally to deliver impactful, production-ready features.

Work

XHUB
|

Backend Software Engineer

Casablanca, Casablanca-Settat, Morocco

Summary

As a Backend Software Engineer at XHUB, Anas Abbal built and maintained scalable REST APIs using Java (Spring Boot) and TypeScript (NestJS, Node.js), collaborating with frontend teams and automating deployments to deliver production-ready features.

Highlights

Engineered and maintained high-performance REST APIs using Java Spring Boot and TypeScript NestJS, supporting critical business operations and ensuring seamless data exchange.

Streamlined deployment pipelines by automating processes with Jenkins, GitLab CI, Ansible, and Docker, significantly reducing deployment time and increasing release frequency.

Optimized containerized microservices for enhanced performance and security, improving system efficiency and resilience.

Collaborated effectively within agile teams to rapidly resolve complex issues and deliver high-quality, production-ready features.

Self-Taught
|

Backend Software Engineer

Summary

Anas Abbal continuously advanced his backend engineering expertise through self-directed learning, focusing on Go, microservices, and modern distributed system architectures.

Highlights

Gained proficiency in Go by building lightweight, concurrent microservices using Gin, goroutines, and channels, demonstrating initiative in adopting new technologies.

Designed and developed complex microservices architectures utilizing Spring Boot and Spring Cloud (Config, Gateway, Eureka), enhancing system modularity and scalability.

Secured APIs effectively using Spring Security, JWT, and OAuth2, ensuring robust authentication and authorization for distributed systems.

Implemented advanced event-driven systems with Apache Kafka and Spring Cloud Stream, facilitating real-time data processing and asynchronous communication.

Orchestrated containerized services using Docker and Kubernetes, demonstrating strong capabilities in modern DevOps practices and scalable deployments.

ONEE
|

Backend Engineer

Fes, Fes-Meknes, Morocco

Summary

At ONEE, Anas Abbal developed and maintained Java EE applications using the Spring framework, designing scalable backend solutions and integrating APIs with React applications.

Highlights

Developed and maintained robust Java EE applications leveraging the Spring framework, ensuring high reliability and scalability for enterprise systems.

Designed and implemented scalable backend solutions that enhanced system performance and reliability, supporting critical business operations.

Collaborated closely with frontend developers to seamlessly integrate APIs with React applications, ensuring smooth data flow and user experience.

Participated actively in cross-functional teams for requirement gathering and comprehensive system analysis, aligning technical solutions with business needs.

STRUCTEAM
|

Backend Software Engineer

Fes, Fes-Meknes, Morocco

Summary

As a Backend Software Engineer at STRUCTEAM, Anas Abbal developed custom backend solutions using Java (Spring, Hibernate) and TypeScript (NestJS, Node.js), designing efficient database schemas and implementing robust error handling.

Highlights

Developed tailored custom backend solutions using Java (Spring, Hibernate) and TypeScript (NestJS, Node.js), meeting specific client requirements and enhancing system functionality.

Designed and optimized database schemas, improving SQL query performance and data retrieval efficiency for critical applications.

Implemented comprehensive error handling and logging mechanisms, significantly enhancing system stability and simplifying debugging processes.

Collaborated effectively with frontend teams to ensure seamless API integration and feature alignment, delivering cohesive software solutions.

Education

Institute of Technology, Oujda, Morocco
Oujda, Oriental, Morocco

Technical University Degree

Computer Science

Courses

Software Development

Algorithms

Data Structures

System Design

Object-Oriented Programming

Database Management

Languages

English
Arabic

Skills

Databases

MySQL, PostgreSQL, Cassandra (NoSQL).

Programming Languages

Java, TypeScript, Go, C, C++, Python, Rust.

Frameworks & Libraries

Spring Boot, NestJS, Spring, Hibernate, Spring Cloud (Config, Gateway, Eureka, Stream), Gin, JWT, OAuth2, PostGIS, Apache Kafka, RabbitMQ, Redis, Stripe, Sleuth, Zipkin, React (Collaboration).

Tools & DevOps

Git, Docker, Maven, Jenkins, GitLab CI, Ansible, Kubernetes, Prometheus, Vault, Shell.

Architectural Concepts & Methodologies

Microservices, REST APIs, Distributed Systems, Event-Driven Architecture, System Design, API Integration, Performance Optimization, Security, Error Handling, Logging, Concurrency, Load Balancing, Service Discovery, Centralized Configuration, Distributed Tracing, Compiler Design, Memory Management, Agile, SDLC.

Projects

Go Load Balancer

Summary

Built a simple HTTP load balancer in Go using a round-robin algorithm to distribute traffic across multiple backend servers.

Mini Uber

Summary

Developed a cloud-native ride-hailing platform featuring 12 Spring Boot microservices and an event-driven architecture (Kafka, RabbitMQ).

XQUIZ

Summary

Developed a comprehensive Spring Boot web application designed to streamline the recruitment process for xHub events.

Scripting Programming Language (NAS)

Summary

Designed and implemented a command-line scripting language using Java, focusing on core language components.

Garbage Collector

Summary

Implemented a C-based garbage collector to efficiently manage memory allocation and deallocation.