Skip to content

02Engineering

Five layers, one problem.

Software engineering, databases, distributed systems, data and security are not five careers — they are one problem viewed from five angles. This is where the work sits in each, and which project is the evidence.

The strongest part of the work.

Backend

I care about how a backend is structured, not only whether the endpoints return 200. Where do the boundaries go, what owns which data, what happens when a dependency is down, and how does the next engineer find their way around it. Most of what I build is a modular monolith with real internal seams, because that buys the operational simplicity of one process without giving up the option to split later.

  • Go
  • Node.js
  • TypeScript
  • Fastify
  • Gin
  • REST APIs
  • Authentication
  • Authorization
  • Validation
  • Caching
  • Background processing
  • API documentation

How one application evolves.

Architecture

Monolith → modular monolith → microservices is not a ladder you are supposed to climb; it is a set of trade-offs you pick between, and the interesting question is how one codebase moves along it without a rewrite. That question is what Zudojs came out of: how do developers build complex backend systems without reinventing the architecture every time?

  • Modular monolith
  • Microservices
  • Event-driven systems
  • CQRS
  • Dependency injection
  • Hexagonal ports & adapters
  • Domain boundaries
  • Lifecycle & graceful shutdown
  • Multi-tenancy

Where the work is heading.

Data

Deliberately moving toward Python and data engineering — pipelines, event processing, ranking and recommendation, and the analytics that make a product improve rather than just run. In Zudomart this is a separate Python service so a retrained ranker never requires redeploying the payments path.

  • Python
  • FastAPI
  • Data pipelines
  • Event processing
  • Analytics
  • Recommendation systems
  • Ranking
  • Vector search
  • Automation

Not a separate identity — a way of building.

Security

I am a cybersecurity enthusiast rather than a security professional, and the honest framing is that it changes how I build backends rather than being its own job. Argon2 over bcrypt. Magic bytes over file extensions. Verify before you persist a TOTP secret. Rate limits that survive a restart. Audit trails written before the first dispute, not after it.

  • Secure API design
  • Argon2 & password hashing
  • TOTP / 2FA
  • JWT & session design
  • RBAC & permissions
  • Cryptography
  • Rate limiting
  • Input validation
  • Webhook signature verification
  • Linux & Kali

I do not only meet software through an IDE.

Infrastructure

Most of what I do starts in a shell. Bash, SSH, Docker, Postgres and MariaDB on the box, Nginx or Apache in front, and a deploy that can be rolled back. Knowing the environment underneath the application is what makes the application's failure modes legible.

  • Linux
  • Docker
  • Bash
  • Git & GitHub
  • SSH
  • PostgreSQL
  • MariaDB
  • Redis
  • Nginx
  • CI/CD
  • Postman
  • pgAdmin