Software Architect
Philosophy
I will build great software by listening closely to my customers, learning their
vocabulary, finding deep models of their needs, and delivering
fast, simple, elegant solutions. I will bring out the best in the teams I work
with and keep the craft of software development creative, enjoyable, and fun for myself
and my colleagues. I will promote a global culture of intellectual community by
participating in the open-source movement and favoring the fruit of the community's
labor whenever possible.
Previous Engagements
System Architect/Framework Manager, Lamar Advertising
Baton Rouge, Louisiana
February, 2003 - present
Architecture
- Responsible for the architecture of the large-scale migration of Lamar's business applications from a Unisys mainframe to a web and desktop portal; the mission of this migration is to re-implement all of Lamar's internal business systems from scratch using a .Net distributed architecture; the migrated systems include the accounting (payables and receivables) systems, the customer/contract/invoicing system, the inventory system, and numerous auxiliary applications
- Responsible for the technical designs of all projects; led sessions for object discovery and analysis, developed and reviewed models for each system, and coached developer teams through the design phase
- Set standards and guidelines for project naming, version control, code reviews, and implementation; evaluated tools and technologies for use on all projects
- Mentored developer teams in object-oriented development and coached teams through day-to-day implementation issues; introduced Agile development methodologies to Lamar's MIS team, including test-first development and continuous integration
- Initiated the initial research and development of an integrated data warehouse used for analysis and business intelligence reporting; later, worked closely with the data warehousing specialists in design and implementation issues
- Received a personalized in-depth course on data warehousing and business intelligence architectures and implementation with Microsoft architects at the Microsoft Training Center in Dallas
- Received a personalized proof-of-concept/training course on SQL 2000 Reporting Services from the Microsoft Training Center in Austin
Development
- Managed/Developed My Digital Displays, a software system to book, schedule, monitor and maintain Lamar's new Digital Display network of outdoor LED and LCD signage; the system allows customers to manage their own digital outdoor campaigns in near realtime
- Developed, released, and supported a reflection-based object persistence engine; this system greatly reduces the amount of data access code required for each project built by the Lamar MIS software development team; the engine used both design-time code generation and a runtime mapping library to persist business objects without writing data access code; the engine (at ~40,000 lines of code and 8 months of work) has saved an estimated 10-30,000 lines of SQL and .Net data access code per project, and has delivered the expected time savings during development
- Developed and released the core domain object library and maintenance application, called the Organization system, to manage company structure and employment information, following the Party/Accountability model described by Martin Fowler; this system provided the centralized base for all other business applications
- Developed, released, and supported the centralized security model used in all of Lamar's business applications; the security system integrated Windows logins for employees and custom-authenticated logins for external users into a single permissions-based entitlement model managed by a single security administrator
- Implemented a continuous integration build system using CruiseControl.net, NAnt, NUnit, and other open source build tools
Management
- Managed the Framework Team, a group of highly technical and talented developers who provided the tools, libraries, and subsystems enabling the rapid development of business applications; my team developed and supported all of the technical infrastructure for Lamar's software development team, including builds, configuration, deployment, batch processing, persistence, and user-interface frameworks (web and smart-client portals)
Independent Developer, RDA
Atlanta, Georgia
August, 2002 - December 2002
Project E&Y Organizer 4.0
- Developed ASP.Net user interface and related SQL Server 2000 stored procedures (using SQLXML) for Ernst & Young's high net-worth client tax preparation software; the system consisting of ~550 screens (~14000 fields) and ~1000 stored procedures
- Developed code generation tools in C# to accelerate UI and data-access development
- Assisted with development of application framework, implemented in C# using the ASP.Net framework
Technical Lead/Technical Support Engineer, Corillian
Hillsboro, Oregon
April, 2002 - July 2002
Technical Lead
- Developed .Net training and provided technical guidance to peers of all technical skillsets
- Developed and improved toolsets (in C#/ASP.Net) used by peers in daily call-center operations
Technical Support Engineer
- Provided 3rd tier technical support and maintenance for online banking products implemented in ASP, XML/XSL, SQL Server and C++, deployed at financial institutions throughout the world; products included a web services infrastructure, some of which was based on .Net technologies
Software Consultant, RDA
Bethesda, Maryland
May, 1999 - September, 2001
Project Web CRD (Central Registration Depository), Technical Lead
- Led three-person team (part of a thirty-member project team) in the development of the NASD-R's centralized broker/brokerage registration application; responsible for design/development of components and team scheduling
- Led customer acceptance meetings and supported our business champions during end-user training
Project SONAR (Securities Observation, News Analysis and Regulation), Developer
- Full life-cycle project; responsible for two artificial intelligence subsystems (text-mining and rules engine) of an award-winning insider trading investigation system for the NASD-R
- Developed web-based stock/volume graphing component implemented in Visual Basic and VML
Independent Research and Internal Projects
- Performed early research on .Net platform; researched and developed on early beta of .Net (Spring 2001); developed C#/ASP.Net sample application and wrote a whitepaper for the "Thought Leadership" area of RDA's public website
- Attended graphic design seminar under Edward Tufte
- Designed and developed framework and user interface (implemented in C#) for a SQL query performance tuning application for internal use
Software Developer, Antares
Baton Rouge, Louisiana
December, 1998 - May, 1999
- Developed and supported a small-business loan application system and an industrial trade show event registration system; implemented solutions with Microsoft technologies (Visual Basic, C++, SQL Server, Access)
Baton Rouge, Louisiana
April, 1997 - December, 1998
- Full-time student position
- Developed software systems for nutritional analysis (to support staff nutritionists and dieticians) alone and with a small team; implemented solutions with Microsoft technologies (Visual Basic, C++, SQL Server, Access)