To employ, enhance and augment my skill set by designing and developing modern software solutions using current technologies and development methodologies.
A contracted or full-time position as a member or leader of a small team of highly motivated results-driven software engineers.
University of Missouri, Rolla, MO
Bachelor of Science - Computer Science, May 2001
Major GPA: 3.9/4.0, Cum. GPA: 3.8/4.0
Gateway EDI, St. Louis, MO
Programmer/Analyst III (Tech Lead)
October 2011 - Present
- Led an agile team that developed an enterprise web application for medical clients using an ASP.NET MVC3 web frontend.
- Developed SOA middleware using SOAP-based WCF web services, including secured customer-facing services.
- Led iteration retrospectives for other teams and provided agile guidance as needed.
- Championed code review and unit testing standards and guidance.
- Performed major source merges and deployments, including production environment configuration.
- Provided general mentoring and a series of development lunch-and-learns to other developers.
Asynchrony Solutions, St. Louis, MO
June 2011 - September 2011
- Added new features and functionality to Java portlets built on the Liferay platform, using Java, CSS, jQuery and jQuery UI.
- Implemented browser-based user acceptance tests using Cucumber and Selenium, including Ruby hooks to leverage Liferay web services.
- Provided engineering support services to a mission-critical client.
CPI Corporation, St. Louis, MO
Senior Software Engineer
April 2009 - May 2011
- Developed customer-facing e-commerce web sites for various business lines, leveraging Microsoft Commerce Server 2007 as the primary technology platform and ASP.NET frontends using XHTML, CSS, jQuery and jQuery UI.
- Developed customer service and management portals for the e-commerce websites.
- Integrated e-commerce sites with the LinkPoint gateway for authorizing and processing credit card payments.
- Developed backend reporting features and applications for e-commerce websites including automated Excel spreadsheet generation and integrated Google Analytics data retrieval.
- Wrote and optimized large-scale data transformation and transfer procedures in SQL for both data migration and reporting functions.
- Designed and developed a full-featured and reusable .NET API for natively interfacing with the vtiger CRM system via its JSON-based web service. Implemented a custom JSON serializer and dynamic CLR type generator to facilitate weakly-typed entity mappings in addition to strongly-typed entities.
- Developed a sweepstakes marketing site using the ASP.NET MVC 3 framework and jQuery UI.
CPI Corporation, St. Louis, MO
April 2008 - February 2009
- Implemented key business logic and abstract utility objects in .NET 3.0, building upon ActiveRecord entity mapping layers to SQL Server databases.
- Designed and developed rich customer-facing user interfaces using WPF. All UI panels were designed to minimize interface complexity as much as possible while still supporting complex business requirements. UI panels were developed to fully support localization and themability.
- Built custom controls using the WPF framework, including templatable and custom-rendered controls.
- Provided patterns for business object design utilizing an event driven paradigm friendly to the WPF architecture.
- Provided research and guidance for improving and standardizing development practices in C# and WPF and leveraging the relevant framework elements to reduce code, bugs and development time.
Demand Management, Inc., Clayton, MO
Senior Software Engineer/Architect
January 2006 - April 2008
- Worked with VP of technology and selected senior developers to design, architect, estimate, and implement a brand new product leveraging the latest technologies, including Visual Studio 2008, .NET Framework 3.5, WCF, LINQ, and SQL Server 2005. Worked on architecture and design of all major data model, middleware, and UI portions of the software system. The new product was a multi-user 3-tier system with complex data storage and processing requirements supported by SQL Server and .NET middleware, interfaced with the user via a web-deployed .NET client application. Leveraged WCF as the means for client-server communication.
- Guided the upgrade of existing products to current technologies: C++ projects from Visual Studio 6 to 2005 and web projects from VB6/ASP to VB.NET/ASP.NET.
- Completely redesigned an existing procedural C++/MFC/Access product in .NET 2.0 with Windows Forms, SQL Server, and a layered object model that could be used not only by the native Forms application but also by an ASP.NET application for bringing a web interface to the same data and business logic. Abstracted and made generic much of the logic of the product to make it much more easily extensible in the future.
- Mentored other developers in the transition to the .NET framework and technologies and the C# language, including automated unit testing.
- Set up and administered Microsoft Visual 2008 Team Foundation Server for requirements, development and work item tracking efforts. Created team projects, administered security, and set guidelines for system usage and work item entry and detail. Created automated build scripts in Team Foundation Build using MSBuild to perform automatically triggered builds of software applications in response to source code changes.
Demand Management, Inc., Clayton, MO
January 2003 - January 2006
- Designed and implemented a fully configurable stand-alone data import/export application for moving data between text files and relational databases. GUI support allowed the user to build parameters defining the data fields, format and types that were then saved as XML definitions to be used by the data transfer engine to perform the operation. Implemented in Visual C++/MFC.
- Added new features, functionality and screens based on customer request to the flagship software products, as well as several others written in various languages and libraries including ANSI C++, Visual C++/MFC, Delphi and ODBC.
- Frequently participated in customer support calls in order to diagnose customer issues, as well as track and correct them in the software itself.
- Added relational database support to legacy products previously using only an ISAM database, while enforcing minimal changes to the user interface and experience.
- Frequently aided other developers in design methodologies and approaches to problems, as well as troubleshooting and debugging issues they had encountered. Regarded as a "go-to" guy for help with debugging and tracking down and explaining difficult bugs as well as general technical knowledge on various subjects.
Centrics Technology, Inc., Creve Coeur, MO
June 2001 - December 2002
- Managed and developed new features and requirements changes, and investigated and solved support issues for a multi-step retail transaction processing system. The system was a fully database-mapped object oriented C++ server with a COM interface layer and Visual Basic GUI clients performing a multitude of concurrent functions.
- Performed duties including conferencing with customers, requirements definitions, software development and testing, software building, deployment, and handling of support issues.
- Extended functionality of the existing system. Designed and added new components and new functionality including new COM components interfacing with external systems. Implemented all new reporting features using Informix SPL and Crystal Reports. Gained extensive troubleshooting, debugging and issue resolution experience.
- Worked on porting the aforementioned system to the new Microsoft .NET 1.0 framework.
- Languages: .NET 2.0-4.0 (C#/VB.NET/ASP.NET), C/C++, Java, SQL/T-SQL, and others
- Tools: Visual Studio, .NET Framework (including WPF/WCF), Eclipse, MS SQL Server, IIS/ASP.NET, Windows Server, Team Foundation Server, and others
- Personal: Excellent written and oral communication skills, as well as exceptional reasoning, deductive and problem-solving skills. I am an avid learner and an enthusiastic teacher.
References and contact information available upon request.