About
I am a Senior-to-Lead Software Engineer with almost two decades of hands-on experience designing, evolving, and maintaining complex software systems across industries and platforms.
My core expertise is C++, not as a niche or specialized tool, but as a general-purpose systems language - one that I have used across the entire stack, from low-level infrastructure to user-facing applications. Over the years, I have worked with C++ in a wide range of contexts: kernel-adjacent and performance-critical components, cross-platform desktop applications, internal tooling, and large-scale enterprise systems handling financial risk and sensitive data.
I am deeply familiar with modern C++ (up to C++20) and have extensive experience modernizing long-lived codebases - some with more than twenty years of production history. This work is less about chasing new language features and more about introducing safer abstractions, improving performance, and reducing technical debt without breaking systems that people depend on.
I approach software with a strong cross-platform mindset. I have worked extensively on Linux, macOS, and Windows, combining portable C++ with deep platform integration where necessary - POSIX, WinAPI, and system-level tooling. For me, portability is never accidental; it is engineered deliberately, tested continuously, and maintained consciously.
Java - systems designed to outlive trends
Alongside C++, I have strong experience with Java in long-living enterprise systems, where correctness, backward compatibility, and predictability matter more than novelty.
My Java work has focused on:
- Core backend services and integration layers
- Performance-sensitive components within large platforms
- Long-term system evolution without disruptive rewrites
I value Java for its ability to support incremental change in large systems - allowing architecture to evolve while production remains stable.
Python - a first-class engineering language
I use Python not as a scripting afterthought, but as a full-fledged engineering tool.
Over the years, I have used Python to build:
- Backend services (Django, Flask)
- Data processing pipelines (Pandas, Dask)
- Automation, testing, and QA infrastructure (Pytest, Hypothesis)
- Desktop applications (PyQt)
- Internal developer tooling and CI utilities
Python allows me to turn complex ideas into working systems quickly - without sacrificing structure, readability, or long-term maintainability.
Making languages work together
A recurring theme in my work is bridging languages and ecosystems rather than treating them as isolated worlds.
I have designed and maintained systems where:
- C++ and Java coexist in large enterprise platforms
-
Python and C++ interact in both directions:
- Clean, stable Python APIs over high-performance C++ cores
- Native C++ libraries loaded into Python/Django environments for compute-heavy workloads
This approach allows me to combine Python's agility with C++'s raw performance, without losing clarity, debuggability, or operational stability.
Beyond code: delivery, infrastructure, and production
I do not stop at writing code - I make sure it builds, ships, runs, and survives.
My experience includes:
- Designing and maintaining complex CI/CD pipelines
- DevOps automation and AWS-based infrastructure
- Working comfortably at the boundary between development and production systems
I find this intersection - where code meets real users, real data, and real constraints - both challenging and genuinely rewarding.
How I work
What defines my engineering approach:
- Systems designed to last for decades, not demos
- A balance of performance, safety, and clarity
- Pragmatic engineering over dogma
- Respect for legacy systems - and the discipline to improve them carefully
I build software people trust with their money, data, and time - and I build it to endure.
Beyond engineering: long-form thinking and personal projects
Alongside my professional work, I maintain long-running personal projects that reflect how I think about systems beyond code.
One of them is writing and translating books, which I treat much like software projects: long-term structure, internal consistency, versioning, and iterative refinement. Working with complex texts - especially translations - sharpens the same skills I rely on in engineering: precision, respect for existing structure, and the ability to improve clarity without distorting meaning. It is slow, deliberate work, and I find it deeply rewarding.
I am also interested in time-management and self-organization techniques, particularly those that support sustained focus over long periods rather than short bursts of productivity. This interest naturally feeds back into my engineering work - from how I structure large tasks and technical debt reduction, to how I plan learning, documentation, and system evolution over years rather than sprints.
I see these pursuits not as hobbies separate from my profession, but as complementary practices that reinforce the same core values: clarity, continuity, and respect for complexity.