DavidPellegrini

Home: 510-727-1525Cell: 510-909-5815Office: 510-537-1616

25698 Crestfield Circle, Castro Valley,

Objective / Contract projects: analysis, design and development of web applications and database systems.
Overview / Broad technical experience coupled with an understanding of business issues and processes.
Seasoned programmer, analyst, and system architect. Conscientious and self-managed. Focused on high value deliverables. Consistently delivered releases on time. Clutch player.
Full lifecycle software development, from concept through delivered product.
Strong background in Relational Database and Object-Oriented systems. Recent focus on web technologies, e-commerce, and 3-tier database applications deployed over the internet or an intranet. Linux and Open Source experience. Quick study on new technologies.
Education / CornellUniversity, Ithaca, NY
B.A. Computer Science. Concentration in Cognitive Psychology.
Skills, Tools, Languages / •Java, Perl, SQL, PL/SQL, Smalltalk, C++, C, Pascal
•Oracle, MySQL, Sybase, relational database theory, DBM
•Linux, Windows NT 4.0, Solaris, OS/2, VAX/VMS
•Basic TCP/IP networking under Linux and NT
•Web app development: Java servlets (JSDK), JDBC, J2EE, Apache, WebMacro, HTML, JMS
•Analysis & Design: Object-Oriented, Relational, Entity-Relationship (ER), Use Cases, UML
•ERWin (ER), ArgoUML (UML), Rational Rose (OMT, Booch), Teamwork (ER)
•Client-server and 3-tier (n-tier) architectures. Familiarity with Web Services, Message Queues
•Data warehousing, legacy data migration and integration
•Ability to write clearly and concisely using Word, FrameMaker
•Excellent organization, analysis, and presentation skills using MS Project, Excel, PowerPoint
•Software engineering process, including formal code inspections, effective QA, Test Driven Design, Extreme Programming
Recent Highlights / •Performance tuning and optimization of an Oracle database and associated PHP application.
•Business process analysis, followed by the design and development of a web application to facilitate these processes. Designed a MySQL database and developed a JDBC wrapper layer for accessing the database. Designed the UI and led the development of a Java/Struts application. Deployed on Linux and Tomcat.
•Designed and implemented a templated web site architecture using Apache that is both simple and elegant. Uses a nifty Rewrite rule and Server-Side Includes to redirect requests through a standard template and pull in the requested pages. Simple directory conventions allow for section-specific graphics and menu selections.
•Developed a web site release management process using CVS to support web site development and deployment. Wrote scripts to tag releases, then deploy those releases on staging systems and the live site.
•Led a disaster recovery project. Implemented real-time database replication and mirroring between redundant data centers on the East and West coasts. Used Network Appliance NetApp storage systems and OC3 data links as basic infrastructure.
•Designed and developed an extensive marketplace application for contract projects. Supported proposal and bidding processes, plus project milestone tracking and wrap-up. Developed on Linux in Java and MySQL using JServe and WebMacro.
•Analyzed a core business process and identified opportunities to improve effectiveness and efficiency. Presented recommendations to executive staff.
Experience / More than 20 years in software engineering
1996 – present / XSite Design / dataweb systems, inc., Castro Valley, CA
Independent Consultant / Principal
Started consulting as a sole proprietor dba XSite Design, then later as a corporation with a talented group of developers dba dataweb systems, inc. Specialties include relational database design, object-oriented system design, application development, project management, and internet/intranet web site development. Clients and projects:
Cooperative Community Energy, San Rafael, CA – Developed web site for reaching out to prospective solar energy customers plus co-op members and employees. Site is partitioned into public and private areas, and is templatized for consistent look and easy maintenance. Developed on Linux with Apache.
Analyzed the core business processes from sales through completed projects, with the goal of standardizing the process. Subsequently developed a web application to facilitate the process, covering employee administration and task assignment in addition to lead tracking, proposals, and closing the deal. Photos and documents can be uploaded and downloaded through the application. Project dashboard provides at-a-glance summary of the status of active projects. Developed in Java with Struts, JDBC, MySQL, Tomcat, Linux.
O'Reilly and Associates, Sebastopol, CA – Designed and implemented an extensive web application called sourceXchange, a marketplace for Open Source development, bringing together skilled developers and corporate sponsors wishing to fund development. Covers registration, RFPs, proposals, project milestones, peer review, and project wrap-up. Developed with Java servlets, JServ, JDBC, MySQL, Apache, WebMacro and Joist. O’Reilly liked the system so much that they spun off CollabNet to run it (see below).
Wind River Systems, Alameda, CA – Designed and implemented an internet resume and skills registry to assist WRS clients in hiring qualified candidates. Candidates can submit and update their profiles, and prospective employers can search those profiles using a rich set of criteria. Access is password protected using WRS access control and Apache htaccess. Developed in Perl with Apache, mod_perl, Berkeley DB (DBM), and Javascript on Solaris.
SBC Pacific Bell, San Ramon, CA – Designed and implemented an intranet order-entry system. Designed the database and middle-tier API to be reusable for a variety of products and services, becoming the basis of two distinct ordering systems. Developed with Oracle 8, PL/SQL, SQL, server-side Java (servlets), and JDBC on NT 4.0 with IIS.
Ascend Communications, Alameda, CA – In collaboration with another consulting group, designed and implemented the technology underlying Ascend's third generation web site. The system provides dynamic HTML, web page templates, session tracking and multi-level security without requiring htaccess or cookies. Developed with Oracle 7.3, SQL, PL/SQL, Apache, Java servlets, and JDBC on Solaris.
Indianapolis Newspapers, Inc., Indianapolis, IN – Created an Oracle 8 database for classified ads to be viewed via the internet. Deployed on Solaris.
Edify Corp., Santa Clara, CA – Evaluated a database design for an online banking system. Database is designed for a variety of RDBMS’s, starting with MS SQLServer and Oracle. Used ERWin to create cross-platform database specifications, complete with referential constraints and triggers. Created and validated the databases on both platforms.
DBStar, Inc., San Francisco, CA – Wrote a module for a relational database design toolset to encapsulate the DBMS specifics for Informix, allowing a user to take a logical (platform-independent) relational database design into a physical design, then generate SQL DDL scripts. Developed in C/C++.
Network Equipment Technologies, Inc., Fremont, CA – Evaluated and installed Macintosh based web server log file reporting tools.
1999 – 2001 / CollabNet, Inc., Brisbane, CA
Technical Manager, Principal Software Engineer
Launched and ran sourceXchange.com while continuing its development. Established a development and release process promoting high productivity and fast cycle times (18 releases in 14 months). Matrix-managed a team of engineers, template designers, content developers, and customer support reps. Helped build the company from 4 employees to over 140.
Refactored and extended the original sourceXchange architecture to support other, independent application suites on the same framework. Refactored again to support re-branding, custom look and custom content for targeted markets and corporate intranets.
Led an architecture team to define a new architecture in which integration and automation were the primary drivers. Settled on a loose coupling of otherwise independent systems, with messages between them to make queries and updates. Java message queues (JMS) pass change events to keep other interested systems up to date. Adaptor modules implement a common API for each independent system.
1995 – 1996 / Prism Solutions, Inc., Sunnyvale, CA
Senior Software Engineer
Data Warehousing software development and product architecture. Mentored other engineers regarding analysis and design of relational databases and object-oriented systems.
Architecture Team — Principal architect for domain modeling and the domain object framework for the next generation of products. Prepared a PowerPoint presentation for the executive staff.
Product Development Team — Development of a diagrammatic tool for designing the information flow into a data warehouse. Lead for domain modeling, object framework, and persistent storage. Contributed to UI design. Developed in VisualWorks Smalltalk for Windows 95.
1993 – 1995 / ParcPlace Systems, Inc., Sunnyvale, CA
Methodologist, Senior Software Engineer
Researched object-oriented methods, then developed and published the Object Behavior Analysis (OBA) Method. OBA is an object-oriented analysis method that identifies objects by refining requirements and scripting behaviors. We developed a half-day tutorial for OOPSLA ‘94, and published an article in OBJECT Magazine, June 1994.
Developed MethodWorks, a tool to support OBA. Led the design and implementation of the domain object model and object storage, including mapping objects to Oracle and Sybase relational databases. Also oversaw the technical documentation. Conducted usability studies and performed formal code inspections on key aspects of the product to ensure a high degree of quality.
Progressed from concept to beta in eight months, GA in ten months. MethodWorks was delivered on time with no known defects. Developed in VisualWorks Smalltalk on Solaris, Macintosh, and Windows 95.
1989 – 1992 / Cadre Technologies, Inc., Menlo Park, CA
DB Software Corporation, Palo Alto, CA
Senior Software Engineer
As an early member of the engineering team, helped architect DBDesigner, a tool for logical and physical relational database design and reengineering of non-relational legacy databases.
Project lead for importing and exporting Entity-Relationship (ER) diagrams. Researched algorithms for translating ER diagrams to the Relational Model, and the reverse. Developed translators and facilities for extracting metadata from Teamwork/IM and KnowledgeWare ADW.
Designed and developed SQL generation and catalog reporting facilities, memory management, and portions of the product kernel. Wrote many engineering documents.
Developed in C++. Deployed first release on OS/2. Four more releases on SunOS.