|
Extended Résumé Brian M. Clapper President: ArdenTex, Inc. Email: bmc @ ardentex . com WWW: http://www.clapper.org/bmc/ Technical blog: http://brizzled.clapper.org/ A summary résumé is also available. |
PROFESSIONAL EXPERIENCE
March, 2009, to date
Independent Consultant (through ArdenTex, Inc.)
SDI Health, LLC., 220 West Germantown Pike, Plymouth Meeting, PA 19462
SDI Health provides health care data solutions to various companies in the health care business space. SDI processes data from a variety of sources, produces master databases of patient, pharmacy, practitioner, payer, and product data. With that master data in place, SDI can then scrub client-supplied data, analyze health care trends, and perform a variety of other data-related tasks.
My duties, as an independent consultant for SDI, include:
- Tuning and reverse-engineering existing legacy systems
- Designing and implementing new data normalization software
- Participating in the rearchitecture of the internal data warehouse
- Providing software technical advice and direction
The data warehouse rearchitecture effort requires consuming, normalizing, mastering and maintaining millions of rows of health care-related data records from disparate sources. We chose to write the data handling framework using Microsoft SQL Server Integration Services (SSIS), and the effort has required that we write custom SSIS components, in addition to using the stock SSIS ETL transforms.
February, 2008, to March, 2009
Senior Software Engineer
Invite Media, Inc., 1716 Chestnut Street, Suite 4, Philadelphia, PA 19103
Invite Media builds technology and provides network services to facilitate Internet optimized advertising. As one of the senior developers, I was a member of a small team that was responsible for specification, design, and implementation of large-scale, real-time advertising technology. As of March, 2009, Invite Media's systems were providing optimized advertising solutions to a number of customers.
The system was written primarily in Python, with some components in Java. It consisted of various Internet-visible servers and several back-end databases, and it is designed to scale to very large numbers of connections and transactions.
Technologies and techniques used included:
- Amazon's Elastic Cloud Computing (EC2) services
- Amazon's Simple Storage Service (S3)
- The Hadoop map/reduce framework
- The Twisted Python framework
- The RabbitMQ messaging framework
- PostgreSQL
- Django
- SQLAlchemy
These, and other, technologies were tied together with proprietary ad-serving software that provided highly optimized ad delivery.
June, 1999, to February, 2008
Enterprise Architect / Senior Developer
FullTilt Solutions, Inc., 1400 Liberty Ridge Drive, Suite 100, Wayne, PA 19087
I was one of a handful of senior-level developers of the FullTilt Perfect Product Suite product information management tool. We developed, from scratch, a business-to-business ecommerce product that streamlines the management of product data. The product embodies a work flow process that enables a company to process, classify, attribute, search, maintain, and deploy large volumes of product data without requiring armies of data entry personnel. The product's server-side software is written entirely in Java, allowing it to be deployed on a variety of different platforms. Perfect Product Suite's user interfaces consist of browser-based HTML screens that interact with server-side Java servlets.
Perfect Product Suite can import product data in a variety of formats, including spreadsheet data and Perfect Product Suite's XML format. Once the data has been normalized and attributed, Perfect Product Suite stores the data in a relational database, where it is organized according a powerful, proprietary data model.
Perfect Product Suite performs all database access solely via JDBC; consequently, it will run against any robust, full-featured relational database that supports JDBC access. We explicitly support and test against Oracle, IBM's DB2 and Microsoft's SQL Server.
Perfect Product Suite is patented; I am listed as a co-inventor.
As a senior developer, my duties included architecture, design, development, and, occasionally, sales support. I have worked on every component of Perfect Product Suite; among these components are:
- the UIs and servlets
- the database API, which maps the relational database view to an object-oriented one
- the utility library
- the proprietary back-end Import Manager process that automatically classifies and process imported product data
- the XML parsing engine
In March, 2007, I assumed the position of Enterprise Architect, putting me in charge of the overall architectural direction of the product.
The members of our team were located all across the country, and many of us (including me) worked from home offices. Producing a quality product required us to master the challenges of collaborating across large distances and several time zones.
April, 1997 to June, 1999
Senior Architect / Senior Software Developer
PLATINUM technology International, inc. (acquired by Computer Associates International in 1999), Three Valley Square, 512 Township Line Road, Suite 300, Blue Bell, PA 19422
Prior to its acquisition by Computer Associates, PLATINUM was a large software company that focuses on corporate enterprise management software. My group developed and maintained the PLATINUM Open Enterprise Management System (POEMS), a unified infrastructure into which all PLATINUM products were integrating, to provide seamless operation, administration, and look-and-feel across the PLATINUM product line.
In April, 1998, I was promoted to the position of architect, with responsibility for the "back-end" (non-GUI) components of the POEMS infrastructure. Along with the front-end architect, my duties included:
- Reviewing designs to ensure consistency with existing POEMS architecture, future POEMS and PLATINUM product directions, and current development methods.
- Keeping abreast of architectural changes to POEMS software.
- Staying current with competing products and with industry trends.
- Designing components that reach across the internal POEMS teams.
- Participating in management decisions for current and future software releases.
- Analyzing requirements for internal POEMS consumers and external customers, and to help design and plan POEMS/product integration.
- Serving as internal senior consultant for other software developers.
- Engaging in short-term research and prototyping. In this capacity, I built a working Java prototype of the POEMS back-end IPC services. This prototype bcame the basis for our internal Java IPC solution.
- Assisting in software development and production (e.g., filling in on development teams when necessary).
- Participating in PLATINUM-wide architecture meetings.
Prior to assuming the architect role, I was a senior member of one of the internal POEMS development teams. On that team, my duties included:
- Responsibility for maintaining, enhancing, and continued design of the underlying POEMS communications infrastructure.
- Acting as co-team leader for my team, which entails planning projects and coordinating development among other team members.
- Broader design, across all of back-end POEMS services.
- Meeting with other PLATINUM labs to help them understand how to integrate with our technology.
Shortly after PLATINUM was acquired by Computer Associates, I left the company to join FullTilt.
October, 1993, to April, 1997
Senior Member of Engineering Staff
N2K Inc., 435 Devon Park Drive, Suite 600, Wayne, PA 19087-1943
Senior developer, computer security professional, and internal staff consultant for N2K Inc, an Internet-oriented entertainment company and an on-line music retailer that ultimately merged with CDNow. N2K was primarily an on-line music retailer. Until 1998, they also owned a series of products belonging to the former Telebase Systems, Inc. (now part of Dun & Bradstreet). I was originally hired by Telebase, several years before the merger. Telebase's product line concentrated on on-line reference tools which featured full-text database retrieval, as well as access to live reference librarians.
At N2K, my duties included:
- Designing and implementing a UNIX development environment.
- Designing and implementing a UNIX-based corporate firewall.
- Building and maintaining an in-house C++ tool library consisting of more than 200 reusable C++ classes.
- Designing and implementing a C++ network-based server to field credit card transactions and forward them through Visa-supplied hardware to a clearing bank.
- Building a C++ lex- and yacc-driven command shell for a proprietary full-text database system.
- Designing and partially implementing an NFS proxy to permit tunneling NFS traffic safely from behind the corporate firewall to machines in the firewall's DMZ. (See document entitled Notes on a Proxy for Securely Tunnelling NFS through Firewalls for details.)
- Investigating new technologies.
- Evaluating full-text database retrieval software.
- Informally training other employees on UNIX and the Internet.
- Filling in for and training our UNIX system administrators.
February, 1991, to October, 1993
Senior Member of Technical Staff
Tangram Enterprise Solutions (formerly, Rabbit Software Corp.), 7 Great Valley Parkway, Malvern, PA 19355
Senior developer and team leader for Rabbit Software, a small company that developed PC-based SNA networking software, primarily for the UNIX, DOS, and MS-Windows environments.
Duties included:
- Performing system requirements analysis, design, and implementation, especially on the following components: UNIX-based SNA RJE emulation software, large libraries of reusable software components, distributed configuration architecture, interprocess communications layers, custom language parsers, local software development tools, software internationalization support libraries, X-Windows and character-based user interface software.
- Acting as technical resource for first- and second-line managers.
- Mentoring less-experienced developers.
- Working with other development leaders and managers to analyze and solve technical and development process problems.
- Filling in for first-line management.
- Performing Occasional customer support.
February, 1990, to February, 1991
Computer Scientist
Naval Air Development Center (now the Naval Air Warfare Center in Patuxent River, MD), Warminster, PA 18974-5000
After returning from the Software Engineering Institute, I was assigned to a project that attempted to define a set of industry-based computer standards for the Navy. Responsibilities included:
- Examining and defining areas of possible user interface standardization.
- Participating in industry standards efforts.
- Following and reporting on current user interface research.
- Attempting to define long-range user interface goals for software development environments.
- Experimenting with various user interface paradigms and products.
- Serving as chairman of the user interface working group for a software engineering environments standards effort (NIST-ISEE) sponsored by the National Institute of Standards and Technology.
Other duties included:
- Acting as an in-house Unix consultant.
- Performing occasional UNIX system administration.
- Serving on division's local area network planning group.
February, 1989, to February, 1990
Navy Resident Affiliate
Software Engineering Institute (SEI), Carnegie Mellon University, Pittsburgh, PA 15213-3890
Selected to serve as NADC's Resident Affiliate to the SEI for one year. Served primarily as a Navy representative on the User Interface Prototyping Project, helping to build a UNIX-based user interface management system (UIMS) called Serpent. Duties included:
- Tuning user-interface language's compiler run-time code.
- Developing algorithms to replace a commercial production-model support package initially built into the system.
- Assisting the design and development of a graphical user interface editor.
- Writing X Windows-based UIMS demos.
- Building general purpose library routines for both internal use and release with the system.
- Fixing bugs.
- Writing documentation.
- Representing NADC's interests at the SEI.
- Keeping abreast of new technology, with an eye to its transition back into software practice at NADC.
In February, 1990, I co-authored a paper about Serpent and presented it at the Winter 1990 USENIX Technical Conference (available in the Proceedings of the 1990 USENIX Technical Conference).
May, 1985, to February, 1989
Computer Scientist
Naval Air Development Center (now the Naval Air Warfare Center in Patuxent River, MD), Warminster, PA 18974-5000
Initially served as a principal member of a team who developed a software engineering environment for System V UNIX. This environment, used by several Navy contractors, provided controlled access to the software development process; it consisted of a complex set of interdependent software tools and support utilities. As a member of this project, my duties included:
- Performing analysis and overall system design.
- Developing inter-process communication facilities.
- Building support tools, such as a specialized include preprocessor and audit-trail management utilities.
- Creating general purpose library routines.
- Designing and implementing data protection software.
- Developing a message-driven user interface layer.
I also served as system manager for a network of UNIX-based workstations.
May, 1983, to May, 1985
Programmer/Analyst
Financial Automation Corporation, a wholly-owned subsidiary of the Philadelphia Stock Exchange, 1900 Market Street, Philadelphia, PA 19103
Member of the technical staff responsible for maintaining and developing software for Centramart II, a complex, event-driven computer system providing central trading support for the Philadelphia Stock Exchange. Duties included design and implementation of new software, as well as maintenance and enhancement of existing software. All software was written in an extended Pascal dialect, and ran on a Honeywell minicomputer.
January, 1983, to May, 1983
Adjunct Instructor
Temple University, Philadelphia, PA 19122
As an undergraduate, I taught an introductory Fortran programming course in the College of Engineering. I was solely responsible for course material, classroom presentation and examinations for a class of approximately 25 students.
PUBLICATIONS
Bass, L., Clapper, B., Hardy, E., Kazman, R., Seacord, R. "The Serpent User Interface Management System." Proceedings of the 1990 USENIX Technical Conference.
PATENTS
Co-inventor: US Patent #6,668,254, Method and system for importing data. (Also patented in Europe, patent number EP1227411).
MISCELLANEOUS
Languages: Java, Scala, Javascript, C++, C, C#, various assemblers, Perl Python, PHP, all UNIX shells, HTML, XML, SQL
UI technologies: jQuery, GWT, pyjamas
Frameworks: Spring, Django, Pylons, J2EE
Cloud computing and related technologies: Google App Engine, Amazon EC2
RDBMS-related technologies: Oracle, SQL Server, DB2, Hibernate, Django (ORM), Pylons, SQLAlchemy, Microsoft SSIS (including writing custom components)
Operating Systems: Most flavors of UNIX (including Solaris, HP/UX, AIX; Open Source operating systems such as FreeBSD and Linux); Mac OS X; Windows (NT/2000/XP/Vista)
EDUCATION
B.A., Computer and Information Sciences, May, 1983 (Magna Cum Laude)
Temple University, Philadelphia, PAElected to Phi Beta Kappa in April, 1983