A product starts here. I work out how it should behave, where it will break, and what we are actually going to build — architecture, interaction and the hard edges — before anyone writes production code.
Then I write it. .NET and C# are the spine: web, APIs, simulation, the link to hardware. I stay in the work until the design is actually running.
Then it goes live — and that is not the end. I test, deploy, watch it, and stay with it: support and maintenance for as long as people use it.
I get the work ready to build: architecture, user stories, estimates, Jira, GitHub and Teams. The plan and the repo exist before anyone writes production code.
I write it in C# on .NET — ASP.NET, APIs, class libraries, tests — with Git and code review. Unity C# when the product needs a runtime. Problems that only appear when it runs get solved here.
Going live is operations: CI/CD, Docker, logging, monitoring, health checks. Then support and maintenance for as long as people use it.
When those decisions are clear, the next step is to write it. I aim for clear decisions and a plan the rest of the product can stand on.
When it runs, we can ship it. I aim for quality that can be changed later, not a build that only works today.
Once it is live I stay with it. I aim for reliable releases and systems people can depend on.