Specifications first
I gather requirements directly with stakeholders, technical and non-technical, before writing any code.

I have been developing software for nearly thirty years, as a freelancer since 2000. I work as a software engineer and full-stack .NET developer: I take applications from analysis to release, or join teams that maintain and evolve enterprise systems. When I lead a group, I coordinate the technical work and mentor junior developers.
On projects where I hold technical responsibility, I define the architecture and oversee how it evolves; on products already under way, I work within the team's scope and processes. I use coding agents where the client allows it.
On this site I try to describe my skills and abilities as clearly as I can, including for readers without a technical background: enough to judge whether I may be right for your needs, without too much detail. For detailed information, please get in touch.
Soft skills count as much as hard skills, and I describe them in How I work. I prefer projects where both are assessed.
I gather requirements directly with stakeholders, technical and non-technical, before writing any code.
I adapt to your existing tools, methodologies and internal procedures instead of imposing new ones.
Automated tests and domain modelling where the complexity justifies them.
I coordinate and mentor junior developers, so the team stays self-sufficient after my engagement ends.
I develop .NET and web applications with Angular or React. Clean Architecture, feature-based organisation, microservices and event-driven communication are choices to evaluate against the problem, the team and my role in the project.
I develop applications and integrations on Azure and AWS, adapting my role to how each project is organised.
I have worked both on platforms run by dedicated teams with restricted production access and on projects where I manage environments, release pipelines and monitoring directly. Services I have used include Azure Functions, Service Bus and Stream Analytics; on other projects, AWS and Terraform for infrastructure-as-code releases.
I use coding agents on projects where the client allows it, starting from written specifications: requirements, constraints and acceptance criteria.
I check changes against those criteria; analysis, architecture and review remain my responsibility. I can also train the individual developers in a team to use them methodically.
For those who run a small or medium-sized business: first find out whether the project holds up, then build it.
Under development and testing
I assess data, costs, risks and ongoing operation with you before choosing the technology; if the project is sustainable, I build it. I work on the individual project, not on general strategies.
I am developing and testing an application that queries business data in natural language: the model interprets the questions, and the database calculates the figures. The project shows how I deal with accurate answers, checks and the sustainability of an AI solution.
A service delivery platform integrating CRM, ERP, microservices and real-time device data, entirely in the cloud.
A document registry and records management system used by local authorities.
Management of territorial distribution campaigns and geomarketing analysis.