Barcelona · Backend engineer
Hi, I'm Julio. I build the half of the game nobody sees.
Twenty years writing backends. These days, the online services behind a live AAA shooter - the accounts, the logins, the data underneath. When it works, nobody notices. That's the job.
Started in Caracas in 2006, worked my way through Madrid, landed in Barcelona. Eight stops, one language - C# - and a stubborn habit of going back to school at night. I make small games on the weekend and I'm slowly writing down what twenty years taught me.
The long run
Twenty years, one stop at a time
Not a straight line, and not supposed to be. Every stop taught me something the next one needed.
.NET Software Developer
WAU · Caracas, VenezuelaSix years selling mobile content: carrier integrations, WAP and web apps, and the reporting that proved the subscription numbers were real. First lesson of my career - a system is only as reliable as the integration you don't control.
Senior Software Engineer
Mahisoft · Venezuela / MadridThe years I crossed the Atlantic. DocuSign e-signature into ChannelSoft's CMS, and listings work for Homesearch and Ten-x. Two continents in the same standup, which teaches you to write things down.
Senior Solutions Developer
Quodem · MadridA WPF point-of-sale so pharmacists could build their own promotions, and a conferencing platform for doctors running medical congresses. Two domains I knew nothing about, which is the fastest way to learn to ask better questions.
MSc, Video Game Development with Unity 3D
CICE · MadridEvenings and weekends, learning the craft I'd only ever served from the backend. Unity stuck and never left.
Senior Backend Developer
NIIT Technologies · MadridA trips importer for seasonal travel content, and drag-and-drop page modules in Sitecore so content managers stopped filing a ticket every time they wanted to move a block.
Senior Backend Engineer, then Mobile Developer
Cognizant · MadridTech lead representative for the Madrid backend team on a used-car-lease microservice, then a Xamarin app that let dairy farmers check production across their sites. Different worlds, same DDD habits.
Senior Backend Engineer, Online Services
Ubisoft · BarcelonaThree chapters in five years: an early Ubisoft Connect initiative that never reached production, the Rainbow Six Siege reputation system backend on AWS, and for the last two the Account team - user profiles, authentication, TFA, passkeys, SSO, and account linking with Steam and Blacknut. I don't carry a lead title; I carry the POCs, the spikes and the ADRs.
Novrix Labs
My own thing · OkmayaWhere I build games and tools nobody asked for, which is exactly why they're fun. I model and texture a fair amount of it myself - the art lives on ArtStation and Sketchfab, the builds on itch.io. Knowing how the asset was made changes how you argue about what the backend should carry.
What I'm actually good at
Four things I get called for
Not a list of logos. These are the problems people put on my desk.
Keeping strangers out
Authentication that has to be right every single time, for everyone, forever. I've done the whole passkey ceremony end to end and read the spec when the tutorials disagreed.
Choosing where data lives
Access patterns before schemas. Key-value or relational on the merits, hybrid when the honest answer is both, and migrations that finish without a maintenance window.
Putting out the fire
Deploys, rollbacks, and knowing which one to reach for at 3am. Reading logs at volume until the story makes sense, then writing down what happened so it doesn't happen twice.
Building the thing itself
I make small games on my own time. It's why I understand what the backend is actually holding up - and why I argue about latency budgets like they're personal.
Writing
Notes from the server room
Whatever I've been chewing on. Mostly .NET and distributed systems, sometimes games, occasionally neither.
Passkeys in C#: the whole WebAuthn ceremony, end to end
Every passkey tutorial shows you the happy path and skips the part where the challenge, the origin and the credential ID all have to line up or the browser silently refuses. The short version: the challenge is a nonce you generate server-side and never trust the client to echo back unchecked, the origin check is what actually stops phishing (not the biometric prompt, which is just UX), and the three places I've seen tutorials and the spec disagree are attestation handling, resident-key requirements, and what "user verification" is supposed to mean when the authenticator itself decides. Fido2NetLib gets you most of the way in C# - the rest is reading the WebAuthn spec once instead of the fifth blog post copying the first one.
Choosing a database you can still live with in three years
Start from the access pattern, not the schema. If you're reading by a single key almost every time, a key-value store will outlive three schema migrations that would've hurt in a relational one. If you need to ask questions you haven't thought of yet - ad hoc joins, reporting, "show me everyone who" - relational buys you that flexibility back. Most real systems are honestly both: a fast key-value path for the hot read, and a relational store for the stuff that needs to stay queryable. The mistake isn't picking the "wrong" one, it's picking either one on brand loyalty instead of on what you actually do with the data.
If any of this is your kind of problem, I'm easy to reach.