Core backend
Java services and TypeScript server runtimes with explicit validation, authentication, and domain boundaries.
- Java 17/21
- Spring Boot
- Spring Security
- Node.js
- TypeScript
- REST

I’m Mohamed Baghdad, a software engineering student at EMSI and an ALX-trained backend engineer. I started by building applications end to end, then kept moving deeper: API behavior, database constraints, authentication, containers, deployment configuration, and observability.
My GitHub reflects that progression. It includes Android clients, point-of-sale products, Spring services, Python automations, and cloud systems labs. The common thread is practical systems work—understanding how data moves, what can fail, and how to make that behavior explicit.
I’m currently looking for environments where backend fundamentals matter and where I can learn from engineers operating real services at scale.
Building Spring Boot services, containerized runtimes, observability stacks, and event-driven architecture labs.
Strengthening Java, data modeling, distributed systems, and software architecture through formal study and project work.
Developed a stronger foundation in backend problem-solving, engineering discipline, and independent execution.
Retail, loyalty, education, health, and automation projects turned technical concepts into concrete trade-offs.
A shorter, more honest toolkit: technologies I use in current repositories and can discuss through actual design decisions.
Java services and TypeScript server runtimes with explicit validation, authentication, and domain boundaries.
Relational schemas for transactional systems, plus document storage and caching where the access pattern calls for them.
Repeatable local and cloud runtimes driven by environment contracts, health checks, and automated workflows.
Hands-on exploration of event streaming, monitoring, exporters, and Kubernetes deployment design.
I’m actively deepening the parts of backend engineering that become important once a service has traffic, multiple consumers, and consequences.
Kafka consumer behavior, dead-letter handling, idempotent processing, and the boundaries of transactional guarantees.
Metrics, traces, dashboards, and alerts designed from failure modes.
Containers and clear environment contracts as a baseline, followed by orchestration, scaling, and managed service trade-offs.