Awaretrain
Sep 2023 — presentSoftware Engineer, Nijmegen
SaaS platform for security awareness training and phishing simulation, used by companies across Europe.
Backend Software Engineer, Apeldoorn, Netherlands
SaaS, logistics, data pipelines and the web work that came before.
Backend engineer on systems where failure is expensive, a European SaaS platform, a high-volume logistics operation. PHP and Symfony are where I've gone deepest, with production work in Python and JavaScript alongside it. The problems that take the time are the same in any language: queues that recover, queries that hold up under load, and enough observability that someone other than me can find the fault.
I care about clean code and practical solutions over clever ones. I'm a PSM II certified Scrum Master, so I'm comfortable leading technical decisions and unblocking the people around me.
Software Engineer, Nijmegen
SaaS platform for security awareness training and phishing simulation, used by companies across Europe.
Software Engineer, Waalwijk
High-volume logistics platform where a slow query is a delayed shipment.
Web Developer, Arnhem
Web platforms glued to a set of older internal services.
Python Developer, Tunisia
Data collection at scale from public sources.
Full-stack Web Developer, Tunisia
Where the PHP and Symfony started.
Security awareness SaaS
A mailbox that no longer exists and a mail server having a bad minute fail the same way at the transport level. Treat them identically and permanent rejections ride the whole backoff schedule, taking up room that belongs to the transient failures retrying would actually fix.
I design queue retry strategies that read the SMTP response and split the two: permanent rejections stop on the first attempt and get recorded, transient ones back off and try again. Little code, and it decides whether a retry queue is reporting problems worth acting on or just talking to itself.
Security awareness SaaS
Reporting that has to leave the tool it was generated in is its own problem. The numbers need aggregating once, arranging for a reader who was never in the tool, and rendering into something portable enough to forward.
I led a summary export end to end: scoping with product, designing the aggregation, building the rendering pipeline, and taking it through release. Turning raw event data into a document a security officer can send to management without editing it first is mostly a design problem, and only then a PDF problem.
Security awareness SaaS
Support could tell that something had broken for a customer, but not what. Every question became an engineering interrupt.
I built dashboards over the platform’s logs and metrics so the team could trace a failed action themselves, which service, which error, and when. Engineering stopped being the first stop for triage.
Logistics platform
Shipment data passes through many hands and every stage has a deadline. I built modular backend components handling that flow.
A good share of the work was on the database side, reworking queries and access patterns where latency was showing up in daily operations rather than in a profiler. Shipped in a Scrum team with frequent production releases, with QA involved early enough to catch edge cases before customers found them.
Web platform integrations
A set of Java-based internal services held data that newer web platforms needed, and moving it was a manual job.
I wrote Python services to move that data between the two, and integrated third-party APIs into the platforms themselves. Unglamorous work that quietly removed a lot of copying and pasting.
Data engineering
Built extraction pipelines against public web sources, handling the usual realities: pagination, rate limits, markup that changes without warning, and pages that only render under a real browser.
Collected data landed in a schema designed for querying rather than just storing, so the people who asked for it could actually use it.
Scrum.org
PSM II, advanced Scrum Master certification covering servant leadership, team dynamics and evidence-based delivery.
View Badge