Training
One of the fastest and most cost-effective ways to empower a development team is with training. Developers leave my training equipped with critical skills they need to write high quality code and with less defects.

I have a long track record of successfully teaching object oriented programming, software design and test driven development. Let me put together a custom curriculum that addresses your needs or attend one of my Agile Software Development Essentials classes where I’ve put the best of what I’ve discovered in my career for writing maintainable, extendable software.

Coaching
I offer more personalized coaching and consulting one-on-one or in small groups focused around your project and questions, including:

  • Requirements, User Stories and Acceptance Tests: Defining what you need to get started on a project can be a challenge. Driving requirements from acceptance tests can be a powerful way to articulate each piece of functionality. You’ll get tips, tricks and tools for defining a living specification that won’t go out of date as your code changes.
  • Design: Drawing on the wisdom of design patterns, refactoring and testing we design solutions that are easy to understand, maintain and extend.
  • Consensus on Coding Standards and Best Practices: There are a handful of simple practices that can be used to build software that is easier to maintain and extend but some of these practices are not generally known. I review this information with every team I work with and they are always thankful that I did.
  • Planning, Assessments, Reviews and Evaluation: Often an outside perspective can be helpful in reviewing designs and implementations. I’ve done so many design and code reviews that I can often immediately spot patterns in problems that have eluded others. By focusing on what can be encapsulated I can help you discover better ways to design your software.
  • Tools: Do you need developer tools, version control or collaboration technology? I’ve worked with many of them and can help you find tools to meet your specific needs.
  • Triage and Debugging: More than an extra set of eyes I know the kinds of challenges .NET and Java software can have. More often than not I’ve been able to significantly help teams in a short period of time locate bugs and design flaws and help them get back on track to meet deadlines.

Contact me to learn more.