PERRY LUO
Enterprise Release Manager
**** ********* **., *********, ** 95014
Cell: (510) 825 - 3316 H: 408-***-**** email: **********@*****.***
Professional Summary
Senior Software Configuration Engineer, Principle Build and Release Engineer, Manager and Software Engineer with years of experiences in SCM, Build & Release system development with variety of SCM tools. Solid skills in SCM strategies, Release Management, Planning, Change Control, scripting, application deployment and issue resolutions etc.
Technical Skill Highlights
Skilled with Software Configuration Management (Releases, Builds, Version Control, Change Management, etc. – Planning through release and deployment) – 20 years
Perforce - 15 years Git – 5 years
Gerrit – 2 years Gitolite – 2 years Cgit – 2 years
ClearCase (Multisite) – 5 years CVS – 5 years
Jenkins – 5 years Jira – 2 years
PVCS – 2 years
WebLogic – 5 years Perl – 20 years
Python – 5 years Swarm – 3 years
Clear DDTS – 5 years Rally – 1 years
Agile – 6 years Curl – 1 years ANT – 5 years PHP – 5 years
Unix Shell Scripting – 20 years GNUmake – 20 years
UNIX/Linux – 20 years Windows – 20 years
Cruise Control – 2 years C/C++ – 5 years
Java – 5 years
Bugzilla – 10 years Cygwin – 5 years Maven – 2 years
Expect, CGI – 5 years
Apache, IIS, Mailman – 6 years
SQL, Access, Window Socket – 3 years InstallShield, MySQL – 5 years
Engineer Release Manager/Staff International Game Technology 3/2017 – 12/2017
Setup Apache Web Server at CentOS platform. Developed Environment Deployment Status Web Pages in Python and PHP.
Proposed and developed automated release system for Dev, QA, staging and production environments. It automatically transfers files, updates property files, checks environments and deploys packages.
Duplicated the deployer server which is written in Python, shell script, PHP, MySQL database.
Staff Software Engineer (SCM/Build & Release) AppliedMicro Corporation 11/2008 – 3/2017
Improved Release Procedures and build systems for 30 product lines. Provided guidance and best SCM/Release practices for software release management. Developed nightly build and release systems. Prepare release notes.
Integrated Perforce with Bugzilla. The Perforce job auto generated after filed a bug in Bugzilla. Code submission description should include job ID (bug ID) in order to submit.
Setup and administrate Jenkins build servers for continuous builds and delivery (CI/CD)
Developed automated testing systems in Perl and shell scripts. It auto deploys builds and run test cases at testing servers. Auto report results in email.
Design and setup Perforce commit-edge architecture to support geographically distributed work groups. Use edge server as build farm for continuous builds and nightly builds.
Use read only replicas to implement off-line checkpoint and depot backup for commit and edge servers.
Setup and administrate Helix Swarm. Code got reviewed before submission. Administrate Perforce. Support geographic located users abroad.
Upgraded Perforce server to Helix 2016.2.
Setup and administrate git server and mirrors. Use gitolite administrates git. Use cgit as git web server. Setup and administrate Gerrit, the code review tool.
Use gcc linaro cross compiler toolchains to compile APM 64 bits arm processor at Linux platform.
Senior SCM Manager Pillar Data Systems 5/2008 – 11/2008
Improved the company’s SCM infrastructure. Analyzed the root causes of Perforce performance issues. Proposed solutions and solved the performance challenge. Re-structured Perforce database and server. Moved Perforce server to high speed Linux box. Upgraded the Perforce to the latest version. Suggested and changed the development methodology for the company. Significantly improved the Perforce performance.
Improved SCM, Release and development methodology. Proposed Parallel Development solution and solved single mainline challenge. Significantly improved company’s productivity.
Interacted with members of Development, Lab Engineering, IT, and Quality Assurance and provided SCM (Perforce) support for various projects.
Administrate and maintain Perforce.
Integrated Jira with Perforce. Perforce job auto replicated after creating an issue in Jira. Jira
issue updated after a fix submitted in Perforce. Wrote triggers in Python.
Senior SCM Engineer / Build & Release BEA Systems, Inc. 10/2002 – 5/2008
Architected, designed and developed a new Enterprise SCM system using Perforce, Perl and Curl across multiple platforms. Setup, configured and administrated Perforce Server and Proxy Server from the ground up for geographic locations. Designed and developed SCM Tools and trigger systems in Perl. Integrated and automated the SCM system with Rally. Source code submission in Perforce has to comply with the record in Rally.
Associated Rally records are auto updated with Perforce submission information. Designed and developed auditing system for Release Notes and SOX Compliance.
The system collects changes since last release in Perforce, comparing those changes with Rally records and states, generates report and indicates discrepancies if any. Successfully migrated over 50 ClearCase vobs to Perforce depots.
Responsible for Software Configuration Management, Change management, Release Management Policies and SCM tools etc for WebLogic applications and Siebel Applications in BEA. Using ClearCase Multisite to perform the software configuration management, branching, merging, labeling, version control and change management etc for BEA IT applications across geographic locations at Unix/Linux and Windows environments.
Acting as Project Manager, organized and ran the Change Control Board meetings. Coordinated software development efforts, assuring that all requirements, issues and bugs in DDTS are tracked and addressed prior to cutting kit. Using auditing system generates report for the content of releases.
Write Release Notes. Cut, install and deploy kits to QA environment and deliver the kits to staging. Developed numerous build systems using Maven / Ant for various WebLogic applications. Working with dev team, setup and configure domains using Weblogic for web applications.
Trouble shoot and debug WebLogic application configuration, installation and deployment issues. Suggest and offer alternative solutions for challenging problems. As backup of production support, help production support team trouble shoot and deploy applications at production environment as well.
Administered ClearCase Multisite and DDTS. Installed and upgraded ClearCase from 4.1 to 6.0. Setup and configured Cruise Control including Apache server for nightly builds. Wrote Ant scripts for Cruise Control to auto build and run test cases.
Principal Software Engineer
Openwave Systems, Inc.
7/2002 – 10/2002
(Lead of Build & Release Team)
Led SCM/Release team, developed highly efficient and scalable auto build, package, installation, regression and release systems (using Perl, Expect, Shell scripts, CGI, html, etc.) for Openwave product families at Unix platforms (Solaris, AIX). This system can auto build, package, install and run test cases for any products at any platforms by configuring the “configuration file”. Using Perl, CGI and HTML developed a Web based reporting system.
All of the automation status (logs) are reported at the company’s internal web pages dynamically. Utilized PureCoverage Report scripts and developed own report scripts in Perl to summarize the code coverage and report the data on the Web pages for each product on the fly.
Using Perforce to perform the SCM activities such as branching, merging, labeling and versioning etc.
Define and follow product development and release schedules with project management. Communicating across multiple functional groups (R&D, QA, Documentation, etc.) to meet on-time product delivery schedules with a high level of quality. Support oversea R&D and QA teams located at Ireland.
Release Manager Arcot Systems, Inc. 1/2001 – 6/2002
Built and led the SCM/Release team. Architected, designed and developed Enterprise SCM and Release systems for entire company.
Designed and developed SCM / Release policies and procedures.
Performing configuration management activities using CVS across multiple platforms (Solaris, AIX, Linux, FreeBSD, Windows NT/2000.) Coordinated R&D and QA teams to ensure common software management and release practices. Responsible for products releases, verify release checklist and sign-off releases.
Released 38 releases and 26 patches for Arcot’s 10 software product lines. Responsible for the source code repository including branching, merging, versioning etc. Supported oversea R&D and QA teams at India.
Designed and developed fully automated QA Regression Systems from the ground up for Arcot software product families (10 product lines) at six platforms (Unix, Windows).
Products are automatically installed after completions of integrations (builds and packages). Automatically run Test Cases after successful installations.
Perl scripts dynamically generate HTML pages on the fly to report the status of builds, installations and regressions at company’s internal SCM Web Pages. Languages used; Perl, Unix Shell scripts, awk, sed, pkgadd, pkgmk, etc), Windows NT Shell scripts and HTML.
Deployed and customized CVSWEB. Users can browse CVS repository at company’s internal Web Page (CGI), view, diff and download files.
Worked at product packages and installations using pkgadd, pkgmk, Bourne Shell scripts and InstallShield.
Principal Release Engineer Arcot Systems, Inc. 3/2000 – 1/2001
Established SCM systems using CVS across multiple platforms (Solaris, Linux, FreeBSD, AIX, Windows NT/2000) from the ground up. Migrated SCM system from Visual Source Safe to CVS. Administrated Visual Source Safe.
Designed and developed fully automated build systems across Unix (Solaris, Linux, FreeBSD, AIX) and Windows NT/2000 platforms for Arcot software products families (developed in C/C++, Java, etc.) using Unix shell Script, Windows NT Shell Script, Perl and MSDEV.
Designed and implemented SCM and Builds reporting systems in Perl, HTML and Shell scripts (Unix and Windows). Setup and administrated Apache Server for company’s internal Web Sites. The information of build’s status and “who updated CVS” are updated dynamically at SCM Web Pages. Performed and maintained integrations for Arcot product families at total of more than 48 builds in daily bases.
Developed Perl scripts to automatically change version numbers on the fly. All of related source files including .rc files are changed during the builds. “.rc” files will be generated if they do not
exist. Entries inside correspondent .dsp files are changed accordingly.
Developed Perl scripts to automatically generate checksum.txt for the packages of all platforms (md5, md5sum).
Performed and implemented software configuration management methodologies and change processes. Designed and developed an automated “Source Code Change Control System”. Changes are based on the “IDs of Requirements, Enhancements, or Bugs that recorded in PVCS Tracker system”. Files can be checked into CVS and correspondent record in PVCS will be automatically updated if the information (SCR ID) provided by developer at the check in time matches the record in PVCS. This system developed in Perl, Unix shell, Expect and Tcl scripts together with the configurations of CVS administration files. It can be turned on and off upon requests based on CVS modules (directories).
Automated the “CVS watch”. Developers receive emails automatically if somebody touched (edit, unedit, commit) the files that are set in “watch”.
Senior SCM Manager / Build & Release Avant! Corporation 2/1998 – 3/2000
Setup from the ground up, administrated and maintained the Enterprise Software Configuration Management Systems using CVS for Avant!’s seven software product lines. Developed and implemented SCM policies and processes to ensure common software management and release practices during products development and release operations. Responsible for product releases and validate contents of releases.
Designed and implemented auto Build and Release Systems across multiple Unix platforms including Solaris, HP, AIX, ALPHA, LINUX, IRIX, etc for both 32 and 64 bits compilations. Using GNU make, shell scripts and Perl developed an organized scalable make system.
Multiple products share common libraries and header files. Source code tree was divided into “lib” and “bin”. Code under “lib” generates libraries. Code under “bin” generates “executable binaries”.
All of generated files saved at subdirectories (e.g. sun32, sun64, aix32, etc.) based on platforms. At the final stage, compiled libraries, executable binaries are symbolic linked to common areas for other products to share and use. With this system, people can easily add new products and platforms, can build unlimited number of products at unlimited number of platforms at same time with only one copy of source code.
Perl scripts read logs and generate reports on the fly. An automated email system sends reports to engineering groups.
Responsible and administrated the SCM (RCS) system for HSPICE and AWAVES products. Maintained and improved the automation systems such as build (integration), regression and release at multiple Unix and Windows NT/98/95 platforms for HSPICE and AWAVES products. Responsible for software products packages using InstallShield at Windows Platforms.
Senior Software Engineer Teradyne, Inc. 4/1996 – 2/1998
Designed and implemented an auxiliary software tool for Diagnostic software package in C++ to detect whether there are some voltages / currents exist at the relays of electronic pins of Testers on the fly at Solaris platform. Remove those voltages / currents before opening and closing relays.
Maintained and redeveloped AC Characterization software tools in C++ for Tester series at Solaris platform. Involved in device drivers and real time programming such as develop software controllers to control robot and scope etc. for real time data transmission and acquisition. The robot is used to transport signals from tester to scope and pulse generator and acquire signals from pulse generator to tester to measure signal timing accuracy.
Developed numerous test cases in C++ (white box testing) to test API functions for our team.
Software Engineer (SCM/Build & Release) Crosspoint Solutions, Inc. 5/1995 – 4/1996
Ported the Place and Route software products developed in Visual C++ from
Windows NT/95 platforms to Solaris, AIX and HP platforms. Using GNU make developed a make system to build these products.
Established from scratch and administrated Software Configuration Management Systems (SCM) using PVCS across multiple platforms (Solaris, AIX, HP, Windows NT/95). Introduced and implemented SCM methodologies and responsible for all SCM activities. Developed an automated build and release systems (shell scripts, batch files and Perl) for both Unix and Windows platforms. Coordinated teams between R&D and QA and responsible for products releases.
Installed, configured and utilized software tools including Intersolv PVCS Version Manager, Hummingbird NFS Maestro and SunSoft SolarNet PC-NFSpro, etc.
Software Engineer Mitratech, Inc. 2/1993 – 5/1995
Developed extensive database systems, communications systems and GUI for Internet users at Windows NT platform. Designed and implemented data transmission protocols and data encryption schemes between clients and server for real time, multi-task program on the top of the TCP/IP layer.
Using state talking method, Distinct TCP / IP Window socket, Visual C++, SQL, Access, HTML to perform the information transmissions and data processing.
Established Windows NT network systems from scratch for entire company (Over fifty people). Set up and administrated Windows NT Server, DNS Server, Mail Server (MS Exchange), IIS Web Server and Printer Server etc.
Software Engineer HuaNan Computer Corporation 7/1985 – 4/1992
Designed and developed various database applications using dBASE. Applications developed for customers include accounting management systems, inventory control systems, human resource management systems, etc. The accounting management system includes accounts
receivable & payable, payroll and sales orders & billing. Features of inventory control system include generating physical inventory worksheet report, ordering inventory using a PO, receiving inventory shipments against POs etc.
EDUCATION MS in Electrical Engineering
(Overall GPA 3.929 / 4.0)
California State University, Los Angeles.
1993 to 1995
BS in Computer Science
South China University of Technology, Canton, China.
1981 to 1985
REFERENCES Available upon request. (US citizen)