My process - How I work

I believe in focus and trade-offs depending on the current situation to provide the best value to my clients.

Understand

Every project starts with understanding your business context. I don't just ask what you are building — I ask why. What problem are you solving? What are your pains and constraints? What are you measuring?

Having worked with startups and enterprises alike, I know that the best technical decisions come from understanding the context. A solution that works for a 3-person startup is different from one that works for a Fortune 500 company.

I document everything from day one. Meeting notes, decisions, trade-offs considered. This creates a knowledge base that outlives my involvement and helps your team understand the rationale behind every choice.

Included in this phase

  • Requirements gathering
  • Architecture review
  • Stack assessment
  • Scope definition

Build

If you are a small, medium-size company I strongly believe in shipping early and iterating. What's normally called Lean Startup. Whether it's a backend API, a Kubernetes deployment, or infrastructure automation, I focus on getting something working in front of users as quickly as possible. If you are at enterprise scale things are different and you want a very mature and solid implementation.

My approach is pragmatic: use the right tool for the job, not the trendiest one. Sometimes that means TypeScript with Fastify, sometimes Python with FastAPI, sometimes Go. The choice depends on your team's capabilities and long-term goals.

I keep you in the loop with regular updates and demos. No surprises, no black boxes. You'll always know where we stand, what's blocking us, and what decisions need your input. Before any work is done, I'll present a roadmap of what we're going to do and why.

He was willing to wear multiple hats outside the strict confines of DevOps and kept the project up and running.

Elfredy Cadapan, Director of Product Development at OpenVPN

Deliver

Shipping is not the end — it's when the real learning begins. I set up monitoring, logging, and alerting so you know exactly how your system behaves in production.

For Kubernetes deployments, I ensure your infrastructure is production-ready: proper resource limits, health checks, horizontal scaling, and disaster recovery procedures documented and tested.

Most importantly, I prepare your team for independence. Knowledge transfer sessions, runbooks, and architecture documentation mean you're never locked into needing me. A good software engineer makes themselves unnecessary.

If my work is related to backend development, rest assured I test my code before shipping.

Included in this phase

  • Observability. Metrics, logs, and traces configured so you can understand system behavior and debug issues quickly.
  • Reproducibility. Everything reproducible and version-controlled. No magic code, no undocumented manual steps.
  • Knowledge Transfer. Documentation, runbooks, and hands-on sessions with your team so they can maintain and extend the system confidently.
  • Measure. I'll help you to measure your real product usage so we can shape it and improve it. No more assumptions about the client needs.

My values - How I approach every project

After 10+ years in software, from aerospace to startups, I've learned that the best technical solutions come from clear thinking and honest communication — not from chasing trends or overengineering.

  • Honesty. I don't sugarcoat problems. If something isn't working, you'll know. If I think you're heading in the wrong direction, I'll tell you — respectfully, with alternatives.
  • Pragmatism. The best solution is the simplest one that works. I avoid overengineering and choose technologies based on your actual needs, not what's trending on Hacker News.
  • Ownership. When I take on a project, I own it. I don't wait to be told what to do — I identify problems, propose solutions, and drive things forward. I work shaping the product as if it were my own creation.
  • Documentation. Everything I build comes with context: why decisions were made, how things work, what to do when things break. Your team should never be left guessing.
  • Focus. I do one thing at a time, and I do it well. No context-switching, no half-finished work. When I'm working on your project, you have my full attention.
  • Independence. My goal is to make myself unnecessary. I build systems your team can maintain, document everything, and transfer knowledge so you're never dependent on me.

Tell me about your project