Architecture & Design
I have broad experience analyzing both present requirements as well as existing code bases to not only declare a strategic architecture but also to define a path to meet that architecture with a blend of both strategic & tactical steps. I have the architecture understanding and awareness to know where and how logic should be implemented but experience to know that the ideal architecture is never achieved in one iteration.
Business Logic
I have implemented both custom business libraries as well as Rocky Lhotka’s CSLA (Component based Scalable Logical Architecture). With each I’ve developed patterns and integrated support to facilitate both common and complex requirements such as saving drafts, saving history, deep hierarchical tree retrieval, record locking, workflow integration, data security and rule validation. I also have experience leveraging code generation to rapidly implement these libraries.
Service Tier
I have comprehensive experience with many service tier technologies. I have used and leveraged a variety of transport technologies including Windows Communication Foundation, Web Services and .NET Remoting and also have experience implementing new WCF features such as dual channels, transport & message security and Queued bindings.
In addition to transport technologies, I have experience with multiple workflow technologies including Microsoft BizTalk and Windows Workflow Foundation.
Presentation Tier
I have delivered many presentation applications across web and desktop platforms. I have delivered solutions on early .NET technologies such as ASP.NET (1, 2.0, 3.5) and WinForms and have also made great investment in new XAML based technologies such as WPF and Silverlight. I have implemented XAML based applications, learned the new designer tool: Microsoft Expression Blend, and have researched new XAML application concepts for the purpose of utilizing new hooks to make application frameworks and achieving the most component reuse possible.
In tackling presentation applications I have developed specialized component toolkits and lightweight but powerful frameworks to streamline development on not only simple view/edit data entry screens but also more complex scenario’s such as dynamic questionnaires and web based applications with heavy client side functionality.