Clear Case

Auto REM

Designed and implemented a C# assembly for interfacing with multiple COM driven Auto REM devices.

- Created an architecture extensible enough to provide a single service interface with different internal implementers for each device.
- Integration with existing software components proved the design valid by allowing additional implementations without modifying existing code.
- Made use of null object, state, factory, facade and bridge patterns to provide a consistent abstraction to clients of the module.
- Used dependency inversion and mocking to allow for over 90% code coverage.

Sound Effects Control

Implemented a module for setting the notification beeps on a hearing aid.

- Reworked a "Smart UI", code-behind-heavy application to use MVVM.
- Achieved 100% test coverage of business logic.
- Satisfied all requirement of original implementation in a fraction of the time.

Ear to Ear

Implemented hearing instrument streaming configuration software.

- Designed solution across all vertical application layers.
- Setup reading of information from devices and configuration files.
- Created user experience in accordance with current best practices.

WPF User Controls

Designed a series of reusable user controls for a feature-rich desktop application.

- Designed controls extensible enough for broad reuse by other developers.
- Made use of dependency properties and XAML binding to allow maximum flexibility for client code.
- Overrode control templates or wrapped existing controls in user controls as situation dictated.
- Delivered ahead of schedule, allowing me to provide assistance to clients in how to use.

Tinnitus Sound Generator

Designed and implemented a module for hearing aid fitting software to support tinnitus sound generation.

- Designed and implemented new functionality for an existing application with minimized mutual dependencies.
- Created a testable, dependency injected design with over 80% code coverage.
- Introduced a conceptual service layer to an application that was formerly binding GUI elements directly to domain objects.
- Implemented object communication and validation schemes that served as a template for minimizing coupling elsewhere in the code.