Skills
Languages
C#, SQL, JavaScript, TypeScript.
Backend
.NET and .NET Framework, ASP.NET, Web API, Entity Framework, WinForms, Windows Services, .NET Remoting, Node.js.
Day to day this means HTTP APIs, background and long-running services, multi-tier applications, and the concurrency work that goes with them — threading, synchronization, throttling, and the diagnostics needed to prove a live system is behaving.
Integrations
REST and HTTP APIs, Windows services as an integration layer, hardware and device integration over vendor APIs, and legacy platform integration including Lotus Notes / Domino.
On the advertising side, extensive work against the online marketing platform APIs — Facebook Marketing, Google Ads and Bing — including the rate limiting, pagination and failure handling that large-scale data pulls require.
Databases
Microsoft SQL Server, Oracle Database, MongoDB. Schema and query work on high-throughput applications, plus the profiling to find out why a page got slow.
Frontend
Razor, React, Angular, Vue, CSS. Enough to build and maintain the UI a service needs, rather than enough to call myself a frontend specialist.
Cloud and infrastructure
AWS, Microsoft Azure, Docker, Linux and Windows servers.
Testing
xUnit, NUnit, MSTest, SpecFlow, Cypress.
Tools
git, GitHub, GitLab, Bitbucket, TFS, Jenkins, TeamCity, npm, Jira, Datadog, WiX / MSI installers.
AI assistants
Claude Code, GitHub Copilot, and LLM chat tools — used across exploration, implementation, refactoring, test generation, review and documentation.
Practices
| Area | What that means in practice |
|---|---|
| Testing | Unit tests for logic, integration and end-to-end tests for the paths that would silently break |
| CI/CD | Automated build and deploy pipelines, repeatable packaging, no manual steps at release time |
| Observability | Structured logging and diagnostics designed in, not bolted on after the first incident |
| Documentation | Architecture and onboarding docs written so someone else can take the system over |