C#

Autotask Billing Export

Created an app to transfer information out of Autotask Web API and into a legacy DBC system.

- Designed and implemented a wrapper for consuming Autotask Web Service.
- Created a DBC file generation framework.
- Implemented architecture in such a way that future persistence schemes can be swapped.

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.

Autotask Query Browser

Created open source project that mimics function of "SQL query browser" for Autotask through its Web API

- Layered architecture to allow multiple presentation formats (web/command line/desktop)
- Implemented a parser and defined rules for a language as a subset of TSQL.
- Defined and processed a series of non-query, runnable commands.

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.

CodeRush Plugin

Created a plugin for DXCore/CodeRush.

- Implemented a Code Rush plugin within visual studio for auto-converting between different variable naming conventions.
- Allowed developers with different stylistic preferences each to see code as they prefer.

Counts Estimator

Designed a tool for forecasting margins when using industrial machinery.

- Architected and oversaw implementation of a tool to help industrial machinery customers project their margins over the lifetime of the machinery, including initial ROI.
- Provided a valuable tool to corporate sales team for helping customers select the best machinery for their needs.
- Successfully followed an iterative and agile release schedule to provide as much up front utility as quickly as possible.

Database Evaluation

Authored a study on the relative usability of various front end programming technologies in conjunction with various RDBMs.

- Designed small applications in 5 different languages, each of which connected to five different databases.
- Created normalized schema and metrics for evaluating performance that eliminated as many comparison variables as possible.
- Presented results in website format.

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.

EasyMoq

Created an open source extension of the Moq utility for easy dependency mocking.

- Used C# extension methods and reflection to extend the native Moq API.
- Made project public on github and accepted any pull requests.

Feedpaper

In the process of implementing open source web app to scrape RSS feeds and display them in newspaper-like format.

- Uses ASP MVC, Github and App Harbor.
- A fun pet project for when I have a bit of spare time.

Fluent SQL Generator

Wrote small open source utility as a fluent interface for generating SQL where clauses

- Implemented with fluent, readable semantics in mind.
- Voluntarily used by other developers to replace a more outdated system.
- Was genuinely fun to write and helped me practice use of composite design pattern.

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.

Proprietary Financial Application

Implemented a series of pages and controls for a major financial application.

- Contributed to refinement of underlying development framework.
- Completed all tasks on or ahead of schedule and under budget.
- Extracted common logic for reuse by other developers

Machine Base

Maintained a database application for tracking customer subscriptions

- Managed software development through two major releases and many minor releases.
- Continued to satisfy new requests on schedule in spite of drastically increased scope from original design.
- Successfully managed stakeholder expectations that were not necessarily compatible and kept everyone satisfied with the application.
- Eventually architected and oversaw a new version of existing software.

MS Test Report Generator

Architected and implemented a utility to read MS Test XML results files and generate formatted HTML reports.

- Used XDocument model to create a consistent data access abstraction for HTML and XML, allowing fluid translation between persistence formats.
- Created a tiered architecture using data access, domain, and service layers to allow application extension to other storage and reporting formats.
- Made use of IRepository pattern to facilitate persistence ignorance.
- Took advantage of flexible design to provide nearly 100% code coverage with unit tests.

No Exception

Implemented an open source library in C# for providing the no-throw guarantee.

- Created wrappers for common C# classes and literals that guaranteed no throwing of exceptions.
- Designed classes to supply customizable, sensible defaults for behavior and return values in situations where exceptions would have occurred.
- Designed the implementation to be extensible in that others can build on the no-throw guarantee classes to implement no-throw in more specific situations.

OBD Reader

Created a utility to allow lay-people to read car OBDII

- Collaborated on a tiered architecture for taking information received from a serial port connection and propagating results up to a visually appealing UI.
- Followed Rational Unified Process development model.
- Implemented a test harness with high coverage in NUnit.
- Delivered well-received project ahead of schedule.

Autotask Project Status

Created a custom app for managing project status in Autotask

- Designed scheme for resolving Autotask "UDF" fields to strongly typed, DTO-capable primitives.
- Created CRUD-mimicking infrastructure for interacting with Autotask web service.

Data Store Editor

Architected, designed, and led implementation of an application meta-data configuration tool.

- Setup architecture, dependency graph, IoC container, source control, and all other project overhead.
- Led and coordinated a team of 8 people in the implementation.
- Sustained 100% unit test coverage and excellent static analysis marks throughout development, keeping defect counts minimal and user story completion on track.

Autotask Ticket Merge

Implemented custom app to allow Autotask tickets to be merged

- Wrapped Autotask web service using repository pattern.
- Abstracted inconsistent API to allow transparent manipulation of different entity types.
- Delivered under budget and ahead of schedule.

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.