|
|
Overview
Software Architect with 14 years of development experience using a myriad of technologies. Have exercised technical leadership in all stages of software lifecycle via collaboration with business stakeholders in defining system requirements, object-oriented analysis and design, design reviews, code reviews, and collaboration with developers and IT staff in troubleshooting/debugging production issues. Have written reusable frameworks and components to provide rapid delivery of reliable, extensible systems.
Professional History
August 2008 - September 2008. Tiba Solutions, Greenville SC. Lead Technical Architect.
State of SC project:
- Defined technical requirements for web service-based messaging. Expressed requirements for service description, serialization, and security in terms of interoperable standards (WS-I Basic Profile 2.0, SOAP 1.2, WS-Security Username Token Profile).
- Defined architecture, including validation, reliable messaging, and logging, using Windows Communication Foundation, .NET 3.5, and Microsoft Enterprise Library.
June 2008 - July 2008. CSC\Covansys, Farmington Hills MI. Senior Manager, serving as Software Architect.
State of SC project in Columbia, SC:
- Delivered evaluation of several candidate architectures for data synchronization and redundant capabilities in distributed system.
- Provided guidance to development team leads, including:
- How to write unit tests for batch processes
- How to use design patterns to simplify code
- Security considerations for web services
- Wrote coding frameworks for implementing business rules and for dynamically navigating related objects. Advised team leads on how to use the frameworks to solve their technical challenges.
2003 – June 2008. Seibels Bruce Group, Columbia SC. Senior Web/Windows Developer.
- Provided leadership for service-oriented architecture (SOA) initiative by designing and developing web service interfaces to outside vendors and to internal systems.
- Developed technical specifications for insurance point-of-sale web application. Designed database schema. Simplified and streamlined development effort by applying Model-View-Controller (MVC) architecture.
- Managed technical collaboration with offshore development team. Created skeletal solution for a policy retrieval service, handed off implementation, reviewed code before check-in. Provided guidance and code review for web application updates; used desktop sharing and chat to troubleshoot difficulties.
- Implemented Test-Driven Development (TDD) methodology for web service and applications in order to improve code quality and to automate regression testing for multiple customer scenarios. Created a utility class for declaring XML-formatted test inputs and expected outputs. Trained other developers in using TDD. (See my article, "Test-Driven Design: Make Sure You Fail!")
- Developed time and resource estimates for web application development efforts. Identified significant risks and mitigation strategies.
- Established project management systems, including source code control, versioning, and modularized build scripts.
- Created analysis cube and reports (with SQL Server 2005) to compare the reliability of GIS data from competing vendors. Results were used to obtain significant leverage in contract negotiations.
- Developed and documented a wide variety of tools and utility classes for use by other programmers, including business rules implementation, encryption/decryption, and configuration management across multiple environments.
- Instrumented web applications and web services to diagnose performance issues. (See my article, "How To: Instrument Your Code to Time Its Use of Resources.")
- Employed SQL Server 2005 Reporting Services and Integration Services to build a "Bug Portal" that is widely used internally for troubleshooting and software quality analysis.
2003. Independent Consultant
- Designed BizTalk orchestration to implement claims processing workflow.
2000 – 2002. Microsoft Corporation, Charlotte NC. Application Development Consultant.
- Developed and delivered ASP.NET and ASP.NET/BizTalk Server prototypes for Microsoft Premier customers, using C# and VB.NET.
- Organized scalability testing for several ASP.NET and ASP applications. Wrote test scripts using Application Center Test.
- Performed thorough design reviews of many ASP.NET and ASP applications written by MS Premier customers. Aspects reviewed included performance, scalability, and security.
- Performed code reviews of ASP.NET and ASP applications written by MS Premier customers. Contributed to code maintainability and extensibility by identifying opportunities to incorporate appropriate design patterns and utilization .NET Framework capabilities.
1997 – 2000. Microsoft Corporation, Charlotte NC. Escalation Engineer (Critical Problem Resolution).
- Debugged Windows 98/95 and Outlook 2000/97 at assembler and source code levels in order to resolve issues reported by Microsoft customers.
- Collaborated with customers and Microsoft professionals in managing production problems and devising workarounds.
- Developed utilities for the Exchange 2000 Resource Kit in VC++ (html4mat, net2strm)
1996 – 1997. Keane Corporation, Charlotte NC. Senior Consultant.
- Developed software systems in several technologies (C on Unix, Cobol on MVS) and in all phases (design, coding, test, maintenance). Worked in banking and textile industries.
1994 – 1996. Computer Sciences Corporation, Blythewood SC. Programmer Analyst II.
- Developed property and casualty claims systems in C on OS/2 and Cobol on MVS.
1991 – 1993. Merrill Lynch, Laguna Hills, CA. Financial Consultant.
1984 - 1991. Doulos Community, Freehold, NJ. Overseas Administrator.
Summary of Skills
|
Architecture
|
Service-Oriented Architecture, UML, .NET, XML, Database Modeling and Design, BizTalk Orchestrations, Deployment Planning, Reviews (Architecture, Design, Code), MSMQ, WCF, COM+
|
|
Development Team Tools
|
Team Foundation Server, Visual SourceSafe, SVN, Visual Build Pro, MS Project
|
|
Developer Tools
|
Visual Studio, Unit Tests (MS Unit, NUnit), Visio, SQL Server Analysis Services (SSAS), SQL Server Reporting Services (SSRS), BizTalk Server, Application Center Test, Sandcastle (MSDN-style documentation tool), NHibernate
|
|
Languages
|
C#, VB.NET, T-SQL, Javascript/ECMAScript, C++, C, DB2 SQL, Cobol
|
|
Diagnostic Tools
|
Visual Studio Performance Profiler, Fiddler, Netmon, WinDbg
|
|
Methodologies
|
SDLC, Scrum, Test-Driven Development, Domain-Driven Development, MSF
|
|
Databases
|
SQL Server 2005, 2000; DB2 5r4
|
|
Internet
|
ASP.NET, AJAX, XSLT, HTML
|
|
Infrastructure
|
IIS Website Administration, Network Load Balancing (NLB); SQL Server: Integration Services (SSIS), Replication, Maintenance Plans, Indexing
|
|
Platforms
|
Windows Server 2003, Vista, XP, 2000, 98/95; IBM i5 (AS/400); MVS; AIX; OS/2
|
Education
B.A., Woodrow Wilson School of Public and International Affairs, Princeton University
Certifications
- C# Web Applications (70-315)
- VB.NET Web Applications (70-305)
- C# Windows Applications (70-316)
- SQL 7 Design and Implementation (70-029)
- Analyzing Requirements and Defining Solution Architectures (70-100)
Notable Publications
"The Software Project Loan Shark (and How to Avoid Death at His Hands)"
"Refactoring with the Parameterized Factory Pattern"
"Opportunistic SOA (or How to Make Your Cool New Code Survive the Hype Cycle)"
"How To: Modify an Existing Xml File"
|