
I have over 20 years experience in software, working on everything from embedded systems, aviation, media, retail to cloud-based enterprise applications. For the past five years, I've focused on educating, and inspiring other developers. I coach and mentor. I've spent hundreds of hours doing pairing sessions, coaching and tutoring developers at all levels of proficiency. I've worked with developers on everything from programming basics, to object-oriented design principles, to refactoring legacy applications, to pragmatic testing practices, to architecture decisions, to career development choices.
I have a business- and customer-oriented perspective. As a bootstrapped entrepreneur, I understand looking at customer needs first. I am an optimizer and delegator, never content to just “do the job” without improving the process at the same time. I am always looking for greater leverage and greater impact. I can help your developers learn and apply these same skills.
Practices: TDD, BDD, DDD, CI/CD, pair programming, micro/macro design
Languages: F#, C#, C/C++, Java, Swift, Objective-C
Platforms: .Net, .Net Core, Azure, AWS, Docker, Kubernetes
Testing Tools: NUnit, XUnit, SpecFlow, OCUnit, RSpec, Cucumber, FSCheck, NSubstitute, Moq, CATCH
Databases: SQL Server, SQLite, Postgres, Mongo DB, Cosmos DB
IDEs: Visual Studio, VS Code, IntelliJ, CLion, Xcode
Version control with Git, TFS, SVN and Mercurial