Key Skills
- Software Engineering: Designs object models and database schemas. Writes solid, well-structured and reliable code in numerous languages. Emphasizes quality and attention to detail.
- Technical Leadership: Provides vision and direction to the software process. Coordinates developers with product management and quality assurance teams. Enumerates functional goals for release milestones. Delivers on time and on budget. Acts as a role model for others to do the same.
- Business Analysis: Focuses on the big picture. Strives to understand customer needs. Writes functional specifications. Gives technical presentations to investors and customers.
Work Experience
7/2009-2/2011. Software Contractor, Kodak Imaging Network, Emeryville
Designed and developed upgrades and enhancements to the systems managing the company's order fulfillment pipeline.
- Developed web service interfaces exposed to a global network of fulfillment vendors. Used SOAP / Axis / WSDL. By designing well factored APIs and utilizing off the shelf frameworks we were able to significantly reduce the cost and lead times of integrating new vendors.
- Revamped the infrastructure for generating index prints. An index print is included with each fulfilled order and contains a summary of the order along with marketing collateral. By building the index print logic in an architecturally more appropriate location enables the business to present more consistent branding to customers, and more quickly deploy assets supporting marketing campaigns.
- Enhanced the permissions and authentication infrastructure in the application by integrating with LDAP server infrastructure. A more robust permissions infrastructure enables more sophisticated “power user” functionality without risking accidental use by line operators. Operations that previously required third tier involvement could be delegated to second tier operators resulting in significant gains in operational efficiency and a 72% (YOY) reduction in orders canceled due to data issues.
- Supported efforts for improved system stability by automating code deployment and basic regression. Within twenty minutes of committing a code change, the code would be compiled, deployed and smoke tested. This infrastructure caught numerous bugs and enabled massive efficiency gains in resolving defects.
- Successfully built consensus for simpler codeline management practices. A cleaner and more understandable branching model meant bug fixes didn't get lost and overhead related to merging and integrating was greatly reduced.
5/2007-5/2008. Software Architect, Lithium Technologies, Emeryville
Senior position working on the company’s flagship product serving over 1 billion page views a month for enterprise customers. Application architecture was java / Tapestry / mysql / linux.
- Spearheaded the analysis and design of the next generation co-branding and customization framework using Tapestry IOC.
-
Drove the restructuring of a growing and unmanageable codebase into an organized & modular structure. Restructured codebase comprised loosely coupled units built using ant / ivy.
- Influenced the evolution of the company’s practices around management of the code base including branching / merging and release management.
-
Key member of the interviewing and hiring team. Interviewed candidates from director level through entry-level college hires & interns. Participated in off-site recruiting events.
9/2004-5/2007. Principal Software Engineer. Ofoto / Kodak Gallery, Emeryville
Lead position for a consumer facing high-volume imaging and fulfillment service processing around $100,000,000 of business per year. The system consisted of 500,000+ lines of java code running on 20 server types against horizontally partitioned relational database comprising about 200 tables. The development environment consisted of multiple codelines with complex integrations between them.
-
Designed and developed SOAP interfaces for B2B e-commerce integrations. The interfaces utilized the full XML/SOAP stack including WSDL, W3C Schemas, and WSS authentication.
-
Collaborated with off-site contractors located in India, Germany and North Carolina.
-
Participated in the Architects group – a cross functional team with a mandate to maintain the quality of the codebase and to explore new technology initiatives.
-
Successfully advocated iterative, low-ceremony development processes with increased management visibility into project status.
- Led the integration with the tool suite of a brand name imaging software strategic partner. Acted as an engineering liaison with contemporaries in the partner company. The integration used an adapter pattern to co-ordinate a complex workflow between the client application and the on-line service using XML on both sides of the adapter. Implemented and evangelized unit tests to maintain code stability. Coordinated with a distributed team comprising off-shore and on-shore developers.
- Deployed and maintained a wiki server running MoinMoin. The wiki was tremendously successful as a tool to collaborate between various teams and evolved to become the “first stop” when looking for documentation and information.
12/2001-9/2004. Senior Software Engineer. PMI Mortgage Insurance Co, Walnut Creek
Senior position on a team maintaining a transaction engine originating the company’s main revenue stream. The architecture comprised a large distributed multi-tiered application. IBM MQSeries and XML were used to interact between major subsystems and with other enterprise systems. The database comprised about 200 tables.
- Implemented XML interface adapters for e-commerce channels implementing an industry standard interface that simplified integration with customers' systems.
- Re-engineered the build/deployment process of the system using ant. The re-engineered processes reduced build/deployment time from 1-3 days down to 2 hours. Configured J2EE development environment for “Turn Key” use by a team of developers unfamiliar with java development enabling developers to quickly get up to speed in java development.
- Significantly refactored aspects of the system architecture to conform to generally accepted OO design patterns including use of interfaces, tiers, separation of concerns, etc.
- Provided third tier production support. Resolved performance, blocking and deadlocking issues. Suggested workarounds where necessary to maintain system up-time. Worked with vendors' professional services groups to resolve critical system-outage issues.
6/1999 – 10/2001 Director of Software Development. Interpraise, Inc, San Francisco
System architect and development lead for an ASP offering a trading platform for the Real Estate Industry.
- Original developer of the company's order tracking and appraisal management system.
- Involved in all aspects of design, implementation and deployment of code base as it grew to around 250,000 lines of high quality code.
- Supervised the Development and QA teams of up to 10 persons. Effectively delegated development tasks among developers.
12/1996 – 6/1999, Consultant, Panurgy Northern California, San Francisco
Consulting position for a Microsoft Solution Provider Partner specializing in web and e-commerce solutions.
- Lead developer for an e-commerce shopping-cart for brand name software company offering products available for download or fulfillment on physical media. During peak season the site became one of the busiest e-commerce sites on the Internet.
-
Primary developer for a mission-critical order processing system for an e-commerce video store.
2/1995 – 12/1996, Development Manager – Research Systems , Grubb & Ellis, San Francisco
Technical manager in MIS department of a national real estate brokerage serving 2000+ agents and 200+ corporate staff.
5/1994 – 2/1995, Software Developer, Eagle Research, San Francisco.
Member of a development team of custom software house.
2/1993 – 5/1994, Programmer / Support Engineer, Unisoft International, San Francisco.
Programmer / Support engineer working with a networked application for retail stores.
Education
-
Bristol Polytechnic, Bristol, UK
Graduated with HNC in Mechanical Engineering with coursework in Computer Science.
-
Rolls Royce Technical College, Filton, UK
Graduated with ONC in Aerospace engineering.
