Stephen P Berczuk

http://www.berczuk.com                                                                                        Email: steve@berczuk.com

Skills Summary

Expert in agile software development and release management with over 19 years of experience delivering enterprise applications through multiple release cycles. Skilled at leading teams, mentoring team members, developing architecture, design, and requirements, and establishing lightweight software configuration management and release processes to enable organizations to build stable products quickly. Author of Software Configuration Management Patterns: Effective Teamwork, Practical Integration (Addison-Wesley 2002). Certified Scrum Master (Practicing).

Demonstrated ability to understand and improve legacy code and to become proficient at new technologies quickly. My technology skills include:

á    Languages & Frameworks: Java, SQL, XML, XSLT, HTML, JSP, Struts, Spring

á    Application Servers & Operating Systems: Weblogic Tomcat, Windows NT/2000/XP, Unix

á    Databases: Oracle, Microsoft Access, JDBC/ODBC, SQL Server, Database Design,

á    Methodologies & Tools: Maven, UML, Eclipse, Ant, CVS, Jira, Confluence

Education

Stanford University          Stanford, CA                                              June 1988

Master of Science in Operations Research

Massachusetts Institute of Technology                                                 June 1987

SB in Electrical Engineering

Experience

January 2006 – August 2007  Fast Search and Transfer                                       Needham, MA

Senior Software Engineer, Scrum Master

Technical Lead for a search application development team. Develop code, participate in project and release planning and management and serve as Scrum Master for the team developing an e-commerce application using the FAST platform. Java, J2EE.

á    Developed application components in Java.

á    Developed build and release management system using Maven, Cruise Control and CVS.

á    Organized Sprints and planned releases with the team using Jira and Confluence.

á    Worked with product management and QA to clarify requirements into planable units of work.

á    Consulted with other application teams on applying scrum and using Jira and Confluence effectively.

á    Coached and mentored team members in Unit Testing and design.

á    Provided support for customers and solutions team.

á    Managed a team of 4 engineers.

Boston R&D Operations were shut down.

 

 

June 2004 – December 2005 Iron Mountain                                                             Boston, MA

Senior Software Engineer (Contract/Perm)

Developed software for a Digital Archives application. Developed automated build and deployment scripts. Introduced Scrum to the organization. Established a Wiki knowledge repository for the project. Influenced Release and Configuration Management best practices. Scrum master and automation evangelist.

á    Developer, Sustaining Team. Fixed software problems and wrote deployment and administration tools.

á    Developed application software and build scripts for next generation Digital Archives application. Technical resource for J2EE frameworks (Struts/Tiles, JSTL), testing frameworks, and build/integration tools (ANT, Maven, MKS). Assisted team lead with task management and Scrums.

á    Technical Lead for project to define reference architecture for the next generation Digital Archives application. Facilitated daily Scrum meetings and weekly project planning and status sessions. Designed and developed framework components in Java using J2EE and the Spring Framework.

á    Technical Lead for application to convert proprietary format messages to RFC2822 format for archiving. Developed code in Java and Perl. Worked with QA and operations to improve deployment.

 

February 2004 – June 2004  Perceptive Informatics                                               Waltham MA

Software Developer (Contract)

Member of a 3 person team developing a web application interface to configure the database for an IVR system for clinical trials. Developed in Java using J2EE technologies, including JSP, JSTL, Struts, Tiles and the Tomcat application server. The team used an iterative/agile approach with unit tests and weekly releases. The application uses an Oracle database and the Torque O/R persistence framework.

 

August 2003 – February 2004    Aliaswire, Inc.                                                          Boston MA

Consultant/Contract Software Developer

Developed software and managed projects for a telephone and web based bill presentment and payment system using Java, J2EE technologies, Tomcat and the Eclipse IDE for this early stage start-up.

á    Led the development of the telephone (VXML) interface to the bill payment application. Managed a 3-person team. Maintained and extended VXML for a voice application.

á    Developed a testing infrastructure for voice and web applications using Cactus, StrutsTestCase, JUnit, DBUnit, XMLUnit,and HTTP Unit.

á    Developed components to implement a bill payment system with a web and telephone interface using Java, J2EE technologies (JSP, Taglibs), Jakarta Struts, VXML. Implementing interfaces to an Oracle database and an XML over HTTP web service interface. Led the effort to use Struts in the application.

(I was working at this startup for very little pay. I could no longer afford to work there.)

 

August 2002 – August 2003       Independent Consulting & Community Work

á    Consulting: Consulted with clients about how to improve their build and version management process.

á    Development: Oct – Nov 2002: Developed a tool in Java for monitoring a telephony server for a VXML application related to health care for Silverlink Communications. Used Eclipse, and the Log4J logging framework. Set up a version control system (CVS), and intranet server (Apache).

á    Writing and Training: Presented tutorials on using agile development techniques at conferences and to corporate clients. Regular columnist at CMCrossroads.com. Technical Advisor for StickyMinds.com. Set up a wiki (TWiki) for an online community. Built and maintained, a wiki for high school students to review each other’s work. Taught 2 1- day classes on web design to high school students.

 

June 2001-August 2002           Skyva International                                               Medford, MA

Developer

Developed Java applications for business process modeling, and service management applications.

á    Prototyped web services applications for the Skyva application. Focused on run time configuration issues.

á    Developed tooling for configuring persistence (RDB to Object mappings for an Oracle DB) using IBM San Francisco Framework and Java. Developed requirements.

á    Practiced and evangelized agile development approaches. Wrote ANT scripts and assisted with build and configuration management processes.

Laid off Aug 15, 2002. Sykva was acquired by ABB International in 2002.

 

October 2000-May 2001           iPhrase Technologies                                       Cambridge, MA

Principal Software Engineer

Developed software in Python, Java, and C++ for 2 release cycles of a web-based natural language search engine that ran on Windows and Unix platforms. Introduced and applied agile development techniques.

á    Technical Lead for Presentation Team. Developed the infrastructure to allow iPhrase to use XSLT and CSS technology to present the XML results of the iPhrase search engine, allowing customers to customize appearance and presentation. Planned releases, established requirements, supervised and tracked project, responded to needs to various customer deployments. Supervised 1 engineer.

á    Verification Tools team developer. Defined project goals, wrote tools to verify the performance of the query interpretation and answer systems in Python. Wrote a prototype tool in Java for editing test data to address portability concerns about the existing VB tool. Wrote a web-based interface/server for the query tool to allow testers to run tests more effectively.

Laid off May 2001.

 

July 1999-October 2000           Verbind                                                  Boston/Lexington, MA

Senior Software Development Engineer

Developed software in C++ for a Customer Relationship Management (CRM) System.

á    Technical lead for Audience Manager portion of the CRM application, which coordinated audience selection and message delivery. Supervised 1 engineer, coordinated with marketing and other technical teams. Defined the architecture and XML interfaces.

á    Refactored, maintained, and enhanced core CRM technology using C++ and Rational Rose.

á    Facilitated agile development process in the company including requirements and design processes. Developed build and release scripts and assisted with configuration management process.

Left in advance of a layoff and to pursue more challenging work. Verbind was acquired by SAS in 2002.

 

October 1998-July 1999           NetSuite Development Corporation.                     Concord, MA

Senior Software Engineer

Developed Software in C++ and Visual Basic for a enterprise network design application. Led quality improvement process including code reviews.

á    Key member of the product design and development team for the Enterprise product. Adapted existing APIs to work in a client server environment using Oracle. Technical lead for new features team.

á    Primary developer for the COM API used by network design products. Supervised the architecture of the network design framework. Enhanced and maintained core APIs using C++ and Rational Rose.

Netsuite has since been acquired by Visionael Corp.

 

April 1998-September 1998       Biztravel.com                                                     Somerville, MA

Senior Software Engineer

Developed software in C++ for an internet travel reservation system running on Windows NT.

á    Designed and developed software and support tools. Developed and maintained interfaces to the customer reservation system. Designed and developed database access code and (Oracle) database schemas.

á    Designed and developed monitoring and reporting tools in Perl and C++ for operations personnel.

Laid off September 1998. Biztravel has since been acquired by Rosenbluth International.

 

January 1997-April 1998          Corechange, Inc.                                                   Boston, MA

Senior Software Engineer

Developed software for a client-server organizational management application in C++ under Windows.

á    Developed a role-based desktop customization application using C++, DCOM, Win32 APIs and ATL.

á    Worked with deployment teams to develop product requirements and to provide custom solutions. Assisted QA team with test planning. Improved requirements process, and mentored junior staff.

Left in advance of a layoff. Corechange has since been acquired by Open Text.

 

February 1996-December 1996 Optimax Systems Inc (now I2)                           Cambridge, MA

Senior Systems Engineer

Developed genetic algorithm based manufacturing scheduling applications using Microsoft Access and Visual Basic under Windows and HPUX using VBA, MS Access, C++ and a proprietary constraint language.

á    Project Manager for vehicle paint scheduling application. Delivered application into production. Engaged in extensive customer contact to develop requirements and provide support and enhancements.

á    Wrote a prototype Available-To-Promise system in Java.

á    Developed client-server scheduling applications. Maintained and extended the scheduling toolkit. Designed database schemas to store constraint and scheduling data.

Once my client project was done I left to pursue work emphasizing programming in C++.

 

June 1992-January 1996          MIT Center for Space Research                        Cambridge, MA

Software Tools Engineer

Developed software under tight deadlines and rapidly changing requirements, to analyze data from, and to monitor a scientific satellite (the Rossi-XTE satellite) in C++, TCL, and Perl on Unix (Ultrix, SunOS4, Solaris2) for a project developed by teams at MIT, Goddard Space Flight Center, and UCSD.

á    Designed and implemented portable software to monitor instruments, and analyze data.

á    Designed and promoted a C++ framework for handling telemetry that was used by the 3 project teams.

á    Designed and developed (in TCL and C++) tools for real-time mission monitoring and data archiving.

á    Performed support tasks, including, developing and maintaining the SCM system across project locations.

á    Supervised graduate and undergraduate students who developed tools to support our work.

 

May 1990-February 1992         Eastman Kodak Boston Technology Center          Billerica, MA

Software Engineer

Developed Photo CD photographic applications using C++ on Unix (SunOS). Technical liaison between Boston and Rochester development teams.

á    Developed software for Kiosk Application using C++, X11/Motif. Implemented user interface, integrating application framework, application code, and image processing APIs.

Laid off Feb 1992.

 

Jan 1989-April 1990                Systems Center, Inc.                                         Waltham, MA

Technical Support Representative, Relational Database Products Division

Supported and tested products that managed and optimized DB2 applications running under MVS/TSO.

á    Assisted customers in technical evaluation of IBM DB2 products (including running beta programs). Resolved customer problems involving database design and optimization, and product customization. Wrote tools for customer and internal use.

á    Trained support representatives in Massachusetts, Virginia, and Reading, UK offices.

Left to pursue work as a programmer.

Selected Publications

I have a regular column on Agile Software Configuration Management on CM Crossroads (www.cmcrossroads.com), and am the editor of the “Agile Infrastructure” section of the Agile Times, the newsletter of the Agile Alliance. A complete list of publications (including links to online versions) is available at www.berczuk.com/pubs.

Book

Berczuk, Stephen with Brad Appleton. Software Configuration Management Patterns: Effective Teamwork, Practical Integration published by Addison-Wesley, November, 2002.

Articles

Berczuk, Steve, “Pragmatic Software Configuration Management,” IEEE Software. March/April 2003.

Berczuk, Steve, “Software Configuration Management Resources”, a Reference Point article in the January/February 2003 issue of STQE Magazine (Volume 5 # 1).

Cabrera, Ralph, Brad Appleton, and Steve Berczuk. 1999. Software Reconstruction: Patterns for Reproducing the Build. In Proceedings of the Sixth Annual Conference on Pattern Languages of Program Design. Monticello, IL.

Berczuk, Stephen P. 1997. Teamwork and Configuration Management. C++ Report 9, no. 7: 28 ff.

Berczuk, Stephen P. 1996. “Organizational Multiplexing: Patterns for Processing Satellite Telemetry with Distributed Teams.” In Pattern Languages of Program Design, ed. John Vlissides, James Coplien and Norm Kerth, 2. Reading, MA: Addison-Wesley.

Berczuk, Stephen P. 1995. “A Pattern for Separating Assembly and Processing.” In Pattern Languages of Program Design, ed. James Coplien and Douglas Schmidt, 1. Reading, MA: Addison-Wesley.

Berczuk, Stephen. 1994. “Finding Solutions through Pattern Languages.” IEEE Computer 27, no. 12 (Dec. 1994): 75-76.

Professional Activities

Member of ACM, IEEE, and Computer Professionals for Social Responsibility. Participate in the Boston Agile Bazaar. Author of the book (Nov 2002) Software Configuration Management Patterns: Practical Teamwork, Effective Integration. Active in OOPSLA and Agile Software Development communities. Columnist for CM Crossroads News (news.cmcrossroads.com). Participate in Boston Agile Development user group. Presenter at SD Best Practices (2004-2007), and participated on panel discussions for SD Times and CM Crossroads.

Member of the Program Committee for the 1996 through 2000 Pattern Languages of Programs conference, and Program Chair for the 1998 conference. Co-Leader of a workshop on Configuration Management Patterns for ChiliPLoP 98, held in Wickenberg, AZ in March 1998. Participant in a workshop on Organization Patterns at OOPSLA 1999.

My professional interests include software patterns, team dynamics, and agile software development.

Background

Graduate of Stuyvesant High School in New York City. More information about my interests and current projects is on my web site: www.berczuk.com.