I’m a software developer with over 10 years of experience working both as a freelancer and as an employee within companies with global reach. Over the years, I’ve contributed to systems and applications where both backend and frontend components were used by millions of users, particularly in large-scale, high-traffic environments.
My background spans a wide range of technologies and project contexts. Some tools I’ve studied in depth, others I’ve learned directly on the job—because in real-world software development, the ability to adapt to new languages and ecosystems is essential. My core experience is rooted in PHP, including vanilla PHP and frameworks such as CodeIgniter, Laravel, and Zend, as well as API-focused solutions like Slim.
Beyond PHP, I’ve worked with Python in several contexts, primarily for automation and tooling, including tasks such as automated testing with Selenium and workflow automation. This has allowed me to choose the most practical language for the problem at hand rather than forcing a single-tool mindset.
I’ve also worked with CI/CD pipelines, using tools such as Jenkins and GitHub Actions, and have implemented Docker-based development environments where they improved consistency and developer productivity.
On the frontend, I’ve used multiple JavaScript frameworks over the years, including Angular and Ext JS. Today, my primary focus is Vue.js, which aligns well with my preference for Laravel when building medium to large-scale applications.
I’m a strong supporter of Agile methodologies and have worked both as a team member within structured Agile teams and as a solo developer, where planning, ownership, and self-organisation are critical. I value pragmatic processes that support delivery and long-term maintainability rather than methodology for its own sake.
I see AI as a valuable tool when used thoughtfully, but I’m cautious of over-reliance on “vibe coding” approaches that can result in unclear or fragile code. Strong fundamentals, clear intent, and code ownership remain essential, regardless of tooling.
This blog is a place where I share practical insights from real-world software development—technology choices, architectural trade-offs, and lessons learned from building and maintaining systems at scale.