RESUME for John Arrizza http://www.arrizza.com/resume/johnarrizzawebresume.doc Email: johnresume@arrizza.com ---------------------------------------------------------- OBJECTIVE: ---------------------------------------------------------- To work in an Agile environment, designing & implementing embedded products. ---------------------------------------------------------- QUALIFICATION SUMMARY ---------------------------------------------------------- Lead Software Engineer in full lifecycle development projects, client liaison and architectural/design efforts while employed at international shrink-wrap software houses. Strengths: large-scale multi-threaded, multi-process applications in a high-performance environment. ---------------------------------------------------------- SKILLS SUMMARY ---------------------------------------------------------- LANGUAGES : VC++ 6.0 & 7.0, C#, Perl, MS SQL LIBRARIES/APIS: STL, COM/ATL COMMUNICATION : NT Named Pipes, Mail Slots, Serial Communications, TCP/IP, sockets DATABASE : MS SQL Server, ODBC PLATFORMS : NT (3.51 – 2000), pSOS BUILD : MS nmake, Ant, CC omake, scons CONFIGURATION MANAGEMENT : Perforce, Visual Source Safe, ClearCase, PVCS, Continuus TEST : BoundsChecker, TrueTime, TrueCoverage, cppUnit ---------------------------------------------------------- EMPLOYMENT HISTORY ---------------------------------------------------------- Abbot Labs (now Hospira Inc) Project Lead Jun 2004 – Present San Diego, CA, USA Development Environment: C/C++, embedded, wireless Hospira is a world leader in developing intravenous infusion pumps. ------------ Phoenix Project Lead * Phoenix is an FDA class 2 device. * Strategic project planning and scheduling. Participated in development process enhancements. * Liaison to Verification and Validation, and to Quality. Responsible for day to day operations. * Conduct Performance Reviews. * Schedule and conduct code reviews. * Coordinate with outside vendors. ------------ System Engineer * Gather or clarify requirements for various sub-features of the pump. Provide estimates from development to Requirements Team and CCB. * Conduct Hazard Analysis reviews for traceability and FDA compliance. * Algorithm development for certain therapies. ---------------------------------------------------------- Nokia Mobile Phones Team Lead Dec 2002 – Jun 2004 San Diego, CA, USA Development Environment: C, embedded, wireless Additional Skills : Continuus Nokia is a word leader in mobile telephones. ------------ Leadership * Team Lead for the Call Applications Team. Scheduled assignments for members of the Team, gathered, summarized and reported weekly statuses and handled team member performance review tasks. * Wrote enhancements and error fixes for Nokia's CDMA cell phones. * Developed testing frameworks and overall testing strategies for unit and module level testing. * Led new feature development assigned to my team. ------------ Feature and Sub-Feature Owner * Coordinated with other teams (i.e. Sub-Features) to timely deliver all necessary design and code. * Presented feature summaries and plans, and status to upper management. * Responsible for the feature plan, overall design, implementation, testing, and any coordination necessary with Nokia's other development sites in Finland, Copenhagen, etc. ------------ Technical Leadership * Began or participated in initiatives to streamline the error fix process, the enhancement process and the build process. * Investigated new tools for development and testing in an embedded environment. * Developed and delivered training for the SCM tool (Continuus), build tools, error process, OOP, Python, Incremental Development, Automated Testing, Refactoring, and Pair Programming. * Mentored my team members on various aspects of software development and technical leadership. ---------------------------------------------------------- Alaris Medical Inc. Test Engineer (Contract) Sep 2002 – Dec 2002 San Diego, CA, USA Development Environment: C++, COM/ATL, NT4 & Windows 2000 Alaris is an international medical devices manufacturer. They specialize in drug infusion pumps. ------------ Development * Developed tools and procedures for software diagnostic, Unit Testing and other high- quality initiatives. ---------------------------------------------------------- ClickTactics Inc. Architect Oct 2001 – May 2002 Atlanta, GA, USA Development Environment: C++, VB6, Windows 2000 Additional Skills : XML, XSLT, ASP, HTTPUnit ClickTactics is a Web startup company that provides services to the Direct Mail industry. ------------ Technical Leadership * Extreme Programming * Reduced bug count from 60 bugs per release to 5 per release. * Implemented Extreme Programming (XP) development methodology. * Established automated unit testing and acceptance testing procedures and tool sets. ------------ Object Oriented Programming * Mentored other developers on OOP techniques. * Began migration of existing VB6 code to C# and OOP. ------------ Development Environment * Established a stable Development Environment. Set development machine configuration, migrated Test SQL databases to developer machines. * Established development and deployment procedures to QA and Production. * Established stable and repeatable builds. * Used Jakarta's Ant to manage the build, test and deploy processes, wrote several Ant taskdefs (Java), and supporting utility batch files. * Clean up of existing code base. Established a "Scorched Earth" code repository and migrated the existing code base into the new repository on an as-needed basis. * Reorganized the source code and build directory structure to facilitate easy extension for new languages and processes. ------------ Development Development Utilities: * Wrote several development/build utilities including a compile parameter checker (Perl), compile dependency checker (Perl) and VB6 code formatter. Automated Testing: * Wrote a web site tester in C#. Design: * Remote site monitoring via FTP (C++): This NT service ran 7x24. It delivered files for processing and monitored their status via FTP. * Print preview feature: Began prototype work on a print preview system. Used open-source software (ghostscript, tiff, and libpng) to merge image files, text and other components into a pdf file for previewing on a web page. * Various features and bug fixes in C++, VB6, and C#. ---------------------------------------------------------- Marconi Commerce Systems (now Gilbarco-VeederRoot) Lead Software Engineer Mar 1997 – Aug 2001 Greensboro, NC, USA Development Environment: C++, VB6, XML, XSLT, SQL Server 7.0 NT5 Additional Skills : VC1.5 – VC6.0, DIAB/SNIFF+, VB4.0-VB6.0, MFC, XML, XSLT, DTD, PSOS Serial Comm. Marconi is the world's largest gas pump manufacturer with roughly 50% market share. It is an international company with sales world wide including the PacRim, South America, Europe, Africa and Australia. ------------ Embedded Development Serial Communication: * Wrote the serial communication layer using C++. The code was cross-platform and ran on NT using RS-232 serial ports and on pSOS using DISI serial ports. pSOS ran on a 68K-based proprietary board. Protocol debugging: * Used an HP Protocol Analyzer and software RS-232 protocol sniffers to debug problems. Development support: * Wrote the CrindSim simulator in C that simulated all gas pump operations. GUI used Windows Platform SDK calls. The communication layer used either NT MailSlots or NT Serial ports. Embedded debugging: * Found and helped resolve various bugs on the 68K/pSOS board related to high ISR usage from TCP/IP and Serial traffic and related to errors in the board support code. Internationalization: * Re-wrote all Common components in the system to be UNICODE enabled and to run correctly from C++ and VB6. ------------ Leadership Multiple-team Development: * Development liaison with Marconi's Australian development team. * Development liasison for the XMLGateway with Marconi's Montreal-based development team. Representative on NACS: * NACS (National Association of Convenience Stores) created and standardized the XML interface between the Point of Sale and 3rd party software and hardware products. It is similar to Microsoft's BizTalk but tailored for Convenience Store/Gas Station requirements. ------------ Technical Leadership Development standards: * Wrote the original spec for compilation and coding standards. * Wrote automated tools in Perl for verification and enforcement. Build Environment: * Established usage, configuration and release procedures for source control. * Wrote various Perl scripts to ensure compliance. * Wrote build system in Perl and C++. * Automated installation and CD generation with Perl and C++ utilities. Expert resource: * Expert resource for issues regarding C++, NT, Clearcase, memory leak detection for COM/ATL, etc. * Presented the Clearcase tutorial to all new developers. Software Improvement Team: * Led the team to generate new ideas, tools and utilities for improving the delivery and quality of software. Common Subsystem Team: * Responsible for all development, debugging and additions for Common Subsytem in C++/ATL. ------------ Development Design, Refactoring: * Redesigned the XMLGateway product (C++/VB6) for modularity and Standards independence Automated Testing: * To ensure high quality code delivered to QA, I wrote the baseline suite of automated tests in C++ and Perl for two subsystems. Introduced baseline automated testing ("smoke tests") for all subsystems. Development Utilities: * Wrote trace utility in C++/MFC. It was used to find several race conditions and other run-time anomalies during development, QA and in-the-field Beta testing. * Wrote a memory leak reporting utility in C++ for detecting leaks in the C++ heap and the COM heap ---------------------------------------------------------- New Era Systems Services Ltd. (now Beta Systems) Independent Contractor July1993 – Mar 1997 Calgary, Canada Development Environment: C, C++, Multi-platform, TCP/IP Additional Skills : C (CSet/2, MSC, CC), JAVA, XVT, TCP/IP, SNA, HLLAPI, X.25, UNIX (Solaris, DGUX, HP/UX, FreeBSD), OS/2, WARP, Make, DOS, Win31, Win95, NT3.51 New Era develops a "PC backup to mainframe" product called Harbor. It is an international company with offices and sales in Canada, USA, Germany and Ireland. I worked on Harbor Distribution Manager (DM) that distributes files and software from the mainframe to the PC. ------------ Technical Leadership Project Lead and Architect: * Led a small team to convert DM from Mainframe-based to an NT- based Server (C++/VB4). Set the overall system architecture (multi-tiered, TCP/IP), resolved technical issues, and helped with development. Technical Liaison: * Gathered product specifications and provided technical information to a primary DM customer, the Bank of Montreal. ------------ Technical Presentations * Delivered technical presentations to potential customers. * Presented a "white paper" talk about DM at Annual User Group meetings (over 100 customers present). * Demonstrated DM's capabilities by writing a remote Win 3.1 to Win 95 upgrade package delivered over a modem connection to the client machine. Wrote inverse package to reset the demo. ------------ Full Life-Cycle System Development * Perl-like scripting language * Wrote a cross-platform language written in C/Yacc/Lex. Capabilities include: reboot, file system interaction, configuration file/registry editing. * It ran on DOS, Win3.1 – NT3.51, OS/2, Solaris, HP/UX, and FreeBSD. * Wrote supporting utilities: system snapshot and automatic script generation. ------------ 7x24 system: * Wrote a system in C on DGUX to enable the RCMP to allow the police to communicate with the DMV and Insurance databases. Communication was over X.25 and SNA over HDLC. * Wrote a HLLAPI front-end to SNA to ease the effort of screen- scraping the text from IMS databases. ---------------------------------------------------------- BenchMark Technologies Ltd. Senior System Analyst May 1988 – July 1993 Calgary, Canada Development Environment: IBM Mainframe, OS/2 Additional Skills : JCL, Cobol II, PL/I, C/370, ISPF, DCF, Clists, Rexx, VSAM, OS/2, WARP, PM BenchMark develops an "IDE for the mainframe" product called ISPW. It is an international company with offices in Canada, USA and Italy. It has customers such as Shell Oil (The Hague, Shell Canada and Shell USA) and Esso. ------------ Full Life-Cycle System Development Client/Server: * Converted ISPW mainframe product to an OS/2 & PM based Client/Server application DIME written in C. Language Parsing: * Wrote XRef, a VSAM based cross-reference system for ISPW written in Cobol II, PL/I, MVS 370 assembler and C/370. * Wrote Lex in C/370 to help in generating parsers for the various languages: JCL, DCF, Cobol, PL/I, Assembler, CLists, etc. ------------ Business Development Joint Venture Project: * Initiated a Joint Venture Project with the Alberta Research Council to provide a hi-speed communication link enabling client- server architecture between ISPW on MVS and Unix PCs. Foreign Distributor: * Initiated a Distributor relationship with a consulting company in Milan, Italy. Other business operations: * Participated in hiring interviews, review of distributor contracts, pricing and advertising strategies. ---------------------------------------------------------- Other Employment ---------------------------------------------------------- Canterra Energy Ltd. Programmer 1987 – 1988 Calgary, Canada SED Systems Ltd. Team Lead 1986 – 1987 Saskatoon, Canada Canterra Energy Ltd. Programmer 1985 (Summer) Calgary, Canada University of Calgary Lab Instructor 1984 - 1986 Calgary, Canada ---------------------------------------------------------- EDUCATION ---------------------------------------------------------- Certification 1999, Sun Java Programmer Greensboro, NC Masters Degree 1988 – 1993 Masters in Business Administration University of Calgary, Calgary, Canada Specialized in Entrepreneurship Studies; evaluated Business Plan projects submitted by local entrepreneurs. Degree 1983 – 1986 BSc. Computer Science (3.6 GPA) University of Calgary, Calgary, Canada Louise McKinney Scholarship in 1983 (3.8 GPA) ---------------------------------------------------------- PERSONAL PROJECTS ---------------------------------------------------------- * Organizer for XPSD (San Diego Extreme Programming User's Group) see http://www.xpsd.org and http://groups.yahoo.com/groups/xpsandiego/join * Unit test drivers, all using some form of "reflection" see http://www.arrizza.com/unittesters/unittesters.html * Particle Swarm Optimizer (http://www.arrizza.com/neuralnets/pso/pso.html) * Currently working on Bayesian email categorization