(02/04 ~ current)
Lead developer for rearchitected 401(k) plan management system. Responsibilities and achievements include:
- Mentoring the development team in Java development best practices, OO design, J2EE architecture,
programmer testing, automated builds, etc.
- Continued leadership in the definition of a new, layered, architecture for the system, and devising
techniques to allow the old and new architectures to work together under the same application
(see my presentation on Strangling Legacy Code).
- Technical oversight (and hands-on development) of many new or rewritten system features including annual compliance testing,
payroll contribution entry and processing, and Roth 401k processing.
- Performance tuning as the need arises, using JProfiler.
- Led the framework selection process. We adopted the Spring framework based on my recommendation,
and the recommendation turns out to have been a great one, so far!
- Introduced or championed current development best practices and tools such as test-driven development,
domain-driven design, use of CSS, etc. On my watch, the suite of JUnit tests has increased from
20+ to 1,400+ and climbing.
- Rewrote the Ant build to make it more flexible. Added automated configuration of the web
application for differing deployment environments, deployment of the web application to Tomcat,
JavaDoc generation, etc.
Technologies used: Tomcat 4.5, Sun One Web Server,
Java, J2EE, Spring Framework, Hibernate, Oracle, Windward Reports, JUnit, Fitnesse, Ant,
Korn Shell, Ruby.
(11/01 ~ 02/04)
Acted as a lead developer for the MyBEA enterprise infrastructure team, which
provides frameworks and services for the MyBEA suite of "member" applications
(i.e., eSupport,
Dev2Dev, etc.). I had responsibility for many technical aspects of
the MyBEA infrastructure, such as the general architecture, system performance, and the development
processes we followed. I was also responsible for the design and deployment of our clustering
approach, and our security architecture, including single signon.
Responsibilities and achievements include:
- Designed the MyBEA cluster architecture, which spans three WebLogic domains, offering
high-availability web applications, Web Services, and EJB services to other applications in the
MyBEA suite.
- Designed, developed, and deployed a new single signon (SSO) framework for MyBEA member applications.
The new framework is a more pluggable version of the old framework which makes fewer assumptions
about a given application's design, while at the same time centralizing control of the main
SSO algorithm.
- General responsibility for application security frameworks.
- Introduced a team Wiki site to foster better communication and centralization of team knowledge.
- Evangelist for the highest possible quality in our deliveries, including not only code
correctness and performance, but documentation for our end users.
- Performance tuning of infrastructure services using JProbe and OptimizeIt.
- Mentoring other staff on development best practices, Unix, and BEA's development environment.
- Introduced JUnit as a replacement for proprietary testing harnesses.
Technologies used: WebLogic Server (6.1, 8.1), WebLogic Portal 4.0,
Java, J2EE, Oracle, JUnit, Ant, Together/J, Korn Shell, Ruby.
(12/00 ~ 09/01)
Consultant and Lead Developer on the "Portfolio Builder" project at Oppenheimer Funds.
Contributions included:
- Designed and implemented a financial performance "calculator" component. The calculator produced
total return and internal rate of return figures for multiple timeframes for a given
portfolio. The return figures were included on paper and web-based quarterly investor reports.
- Performance tuned the Portfolio Builder web application using JProbe. My work resulted
in a roughly 50% improvement in responsiveness of the application to online queries, and
brought the application well into conformance with established SLAs.
- Designed the overall architecture of the statements-generation subsystem.
- Designed and implemented a multithreaded batch "driver" for statements production (which, due to
intensive JUnit testing, had zero defects reported in test and production).
- Evangelized the JUnit testing framework.
- Consulting and mentoring on general object-oriented design and WebLogic Server architectural
approaches.
- Developed an automated build process using Ant
Technologies used: WebLogic Server, Sybase, Java, J2EE, JUnit, JProbe,
Ant, Together/J, Korn Shell, Windows CMD shell.
(6/99 ~ 12/00)
Architect and lead developer for the Work Delivery System (WDS) team. Involved in all major technical
decisions that affected the team.
My major accomplishment on the WDS team was to conceive of, sell to management, develop, and
deploy several frameworks:
- a Web framework that allowed us to move away from a troublesome "fat client"
approach to an easier-to-develop and deploy set of web applications.
- a lightweight persistence framework
- an external system integration framework
In particular, the Web framework was estimated by management to reduce GUI development time by
two-thirds. We no longer had to deploy a Java client application, which had been a source of
many headaches. Our applications, which previously came down almost daily, became true 24x7
applications. Our users were thrilled with the browser version of the applications.
I was also responsible for the configuration and deployment of the above applications into a
highly-available production environment: a two-machine configuration running clustered instances
of WebLogic Server.
Technologies used: WebLogic Server, Java, J2EE, TopLink OO/relational mapping, Oracle, Together/J, RMI.
(12/98 ~ 06/99)
Played an architect role on a number of projects:
- Co-architect for a Vitria-enabled pilot project at a CLEC. Developed
Java framework to non-intrusively detect changes in source RDBMS systems in order to
feed Vitria connectors.
- Contributed to a pilot project for a major telecommunications provider using
Vitria BusinessWare. My contribution consisted of the development of a "connector"
to a source system in order to control batch processing.
Technologies used: Vitria BusinessWare, Java and Oracle 8.0.
- Designed and developed a "database framework" wrapper for JDBC classes. The
framework hides low-level details of JDBC and presents the database interface
in terms of abstractions such as Database, Table, ResultSet, Row, and Column.
The framework provides high-level actions such as the insertion of an entire
result set from one database into a table from another database. The framework
greatly enhanced the productivity of the team for both of the above projects.
Technologies used: Vitria BusinessWare, Java, SQL Server, Oracle, and Microsoft Access.
FirstPlus Financial (as Digital Answers, LLC)
(08/98 ~ 12/98)
Provided consulting services directly to the CIO, including organizational analysis,
development process improvement, and the architectural review of a multi-tiered
Java/CORBA-based application that was nearing completion.
Mirim, LLC
(05/98 ~ 7/98)
Held architect position in this accounting start-up. Responsibilities included:
- identifying appropriate development and deployment technologies
- mentoring engineering staff in object-oriented analysis and design techniques using UML
- ownership of the enterprise object model and architectural models
- leading design sessions
- establishing the development methodology and culture
- advising the CEO on information technology strategy.
Ernst & Young, LLP
(05/93 ~ 05/98)
Lead developer on many high-visibility internal projects:
- Architect, designer, and developer for a large ($10M) internal development effort
to develop software products to automate the firm's own management consulting processes.
These products were deployed to as many as 6000 desktops within the firm. The project
employed object-oriented and component-based (COM) techniques in C++ and Visual Basic.
- Designer and developer of the firm's first web-enabled methodology deployment mechanism.
This solution employed WinCGI to read the firm's
methodology repository and format content from the repository in real-time.
- Technical lead and developer for many projects centered around Navigator and Fusion, the firm's methodology
and toolset, and owner/architect of the internally-developed application framework upon
which the toolset was built. This work was done in PowerBuilder 3.0 and 4.0.
Electronic Data Systems
(01/86 ~ 05/93)
Lead developer on a large variety of projects on many platforms:
- Acted as tech-lead for the first deployed, Windows-based, object-oriented, C++ system
developed by my group. Learned C++ on-the-job. Used Borland C++ 2.0 and
OWL (Object Windows Library). Did rudimentary class and object modeling.
- Completed numerous projects on large mainframe Medicaid claims processing
systems. Gained a lot of industry knowledge. Used COBOL, ALC (assembler),
JCL, CLIST, etc. Additional COBOL work done on Medicaid support systems
running on PCs.