I’m John Smith, a Microsoft-certified C# developer with a background in full stack software engineering, DevOps, infrastructure, and operations. I was previously Head of Infrastructure and Operations, and a lot of how I think about software still comes from that blend of code, delivery, hosting, and production support.
My day-to-day stack is now centred on ASP.NET Core, ASP.NET, C#, .NET, MySQL, SQL Server, Docker, Git, modern HTML, modern CSS, and modern JavaScript. I still like simple, durable web technology and I reach for vanilla JavaScript before adding a framework unless the project genuinely benefits from one.
I have also become increasingly interested in writing .NET global tools. I like the shape of small command-line utilities that do one useful thing, install cleanly, and can be shared through the normal .NET tooling.
I have spent plenty of time outside the Microsoft stack too. Over the years I have worked with AWS, Linux, macOS, Windows, Python, Node.js, MongoDB, Mercurial, TeamCity, Octopus Deploy, Classic ASP, and older ASP.NET applications. Some of that is now historical rather than my current centre of gravity, but it still gives me useful context when maintaining older systems or moving them forward.
AI is now a major part of how I work. I use it for code exploration, refactoring, debugging, test ideas, documentation, shell workflows, and for turning rough notes into something more useful. My path started with GitHub Copilot as an autocomplete-style extension in VS Code, then moved through ChatGPT, Claude, Gemini, terminal-based coding agents, and now the native Codex macOS app.
The models and tools change quickly, so I treat them as a working bench rather than a fixed identity. At the moment that includes Codex 5.5, Sonnet 4.6, Opus 4.7, current Gemini models, GitHub Copilot, Claude Code, Codex, and other command-line or editor-integrated assistants. I care less about the badge on the tool and more about whether it helps me understand a codebase, make a smaller safer change, and verify the result.
I still enjoy the practical side of software: small tools, clean deployment paths, repeatable environments, and boring infrastructure that lets the interesting parts of a product move faster. I also use speech-to-text heavily to reduce typing and to capture ideas while they are still rough.
I can be found on social media here:
Inspired by Wes Bos and uses.tech, I keep a more detailed page of what I use to do what I do.
This site is deliberately simple:
Historically I edited it with Sublime Text 2. These days it is more likely to be edited with VS Code, a terminal, and AI-assisted tooling.
Have questions or suggestions? Feel free to open an issue on GitHub or ask me on Twitter.
Thanks for reading!