[ 
Back to Kevin's Homepage |
Resumé in PDF
]
Resumé - Kevin J. Wang
Santa Clara, CA 95051
Internet:
	kjw@leftsock.com -
	http://leftsock.com/kjw/resume/
Over 25 years experience as a Devops Infrastructure Coder, Release Engineer,
Linux Systems Engineer, and Software Engineer
Work Experience
	
	
- On Sabbatical, Santa Clara, CA - Jan 2023-current
- 
	I volunteer as an event leader with http://bikex.org/ , foster
	kittens for the Humane Society of
	Silicon Valley, train to bike 100 miles, cook, bake, and
	perform hardware and software engineering feats.
	
	
- Software Build & Release Engineer (DevOps Engineer) at Google, Mountain View, CA - June 2004-Jan 2023 (layoff)
- 
	As a Software Engineer, I was one of 4-9 developers on an
	end-to-end continuous integration and continuous deployment
	(CI/CD) pipeline from source to production deployment,
	implementing best practices (tests, code reviews, branches,
	monitoring, alerting) for over 28,000 projects.
	
 
 As a DevOps Engineer, I worked on teams from 2 to 5 people,
	supporting 100 to 50,000 developers. Major releases included:
	- Google Web Server aka www.google.com
- GMail Frontend
- Google Search Appliance
- Google+ (Social network)
 Specific projects included:
	- Expand Python testing fake; pyfakefs
	(https://code.google.com/archive/p/pyfakefs)
	- Add unit and regression tests to insure the fake matches the
	core Python functions (i.e. fake_filesystem_vs_real_test.py).
	
- Converted from manual build instructions to regular
	(cron-driven) automated build, test, and deployment
	
- Automated translation imports in over 100 languages. This
	eliminated manual toil of 3-4 hours per week and shortening
	GMail's weekly launch checklist
	
- Migrated off dedicated build machines to scalable cloud
	(i.e. Borg)
	
- Created standardized build policies such as common build
	flags to eliminate mindless config copying
	
- Accelerated time-to-deploy down for 80% of projects down to
	a couple of hours
	
- Design and implement policies for Android support.
	For example, unify build rules and flags, automatic incrementing
	of version codes, cross-compilation to multiple architectures
	(including x86 unit tests), integrate APK signing, deploy to
	Google Play Store, onboard first projects
	
- Moved users away from releases as scripts into submitted
	configurations (i.e. IaC/IaaC). This enabled transparency and
	standardization, reducing developer toil.
	
- Interviewed and onboarded new team members: wrote
	documentation, taught classes, performed individual mentoring
	
- Advocate with users to adopt CI/CD best practices
	
 
	
- Software Build, Release, and Systems Integration Specialist at There, Inc., Menlo Park, CA - Mar 2003-May 2004 (50% layoff)
- 
	As a senior member of the build, release, and systems integration
	team of 4 people:
	
		- Set policies for revision control (Perforce) for all
		(50+) users - engineering, 2d web developers, and 3d
		artists
- Kept 10 development branches in-sync with main
		development branch by designing and implementing hourly
		automatic inter-branch merge tool
- Tutored junior teammates in job-related technology,
		process, policies
- Reduced production cluster migration issues 500% by
		taking ownership of all major software releases
- Increased developer productivity and decreased QA
		downtime by increasing build frequency upto 6 times
		daily with automation; work smarter, not harder
 
	
- Independent IT Consulting - Oct 2002-Mar 2003
- 
	Specified and completed several IT consulting projects including:
	
		- Built qmail mail server with integrated virus
		scanning, authenticated and encrypted send, IMAPS,
		mailing lists, web based management, and fetchmail
		retrieval of E-mails
		
- Installed CVS & build server with commit logging,
		web based CVS browser, CruiseControl for
		continuous Java builds, and local customization of
		CruiseControl
		
- Replaced NT 3 file server with a RedHat Linux
		Samba server. Integrated with existing NT 4 domain to
		provide seamless authentication.
	
 
	
- Build Engineer and Systems Administrator at Entise, Cupertino, CA - July 2002 through Oct 2002 (company closed)
- 
	As member of rapidly growing 25 person startup, supported
	developers by owning and managing build and release in addition
	to maintaining the internal and external network services. 
		
		- Integrated and automated separate builds into one
		coherent process: Linux kernel, Sun JVM, Trifork J2EE
		server, and Java management application
		
- Maintained UNIX, Windows, and networks including WLAN,
		PPtP VPN, Web, DNS, and firewalls
		
 
	
- Engineering Troubleshooter at Nexprise, Inc., Santa Clara, CA (merged with Ventro in July 2001) - Sep 2000-July 2002 (company moved 400 miles away)
- 
	Major projects included:
	
		- Increased performance and scalability of application
		10-fold by tuning the operating system (Solaris), Apache,
		JServ, Oracle, SQL queries, and the Java application
		itself using RadView WebLOAD, Segue SilkTest, and the
		Solaris SE Performance Toolkit
		
- Developed a modular /bin/sh installer, independent
		of any third party tools, such as Perl
		
- Sped up build process by a factor of 10 by
		rearchitecting the automated build architecture.
		Tools used include CVS, CruiseControl, and Ant
	
 Other projects include: load balancing, application scaling,
	performance benchmarking, customer solutions, project management,
	build and release, systems application architecture.
	
- Silicon Graphics, Inc, Mountain View, CA - July 1996-Sep 2000
		- Software Developer - 
		C, C++, multi-platform porting from IRIX to Solaris and
		Linux, as part of a small 5-person team. Network
		throughput was particularly important for this streaming
		video project
		
- Project Manager - 
		Organized 50+ engineers developing the SGI Freeware
		product consisting of 2 CDs and 250 installable packages.
		Created processes and automation software to make the
		release drive itself rather than requiring a person to
		organize the information by hand. (see: http://freeware.sgi.com/
		on archive.org
		)
		
- Release Manager - 
		Coordinated the product handoff from engineering to
		manufacturing. Developed and documented the process and
		contacts involved: customer support, royalties payable,
		contracts, buyers, export compliance, and the factory
		change-control board
		
- Software Build and Release Engineer - 
		Responsible for source control, final compilation, packaging,
		and release of software. Projects sized from the smallest of
		system patches, through medium sized projects, to the large 50M+
		lines and 2 GB of source IRIX OS builds. Source control management
		was done via internal CVS-like tools (ptools)
		
- System Administrator - 
		24/7 support for company-wide source code and distribution
		servers, network services, desktop support, and managed
		Legato Networker daily backups for servers and desktops
		totaling over 1 terabyte
	
	
- Treasurer and Network Administrator for Punk Net Internet Cooperative, San Luis Obispo, CA - Jan 1995-Jul 1996
- 
	Designed, implemented, and administered a twenty site city-wide
	network. Responsible for IP address space management, PPP,
	modem bank, terminal server, billing, new hardware. 
	
	
- Unix System Administrator at Academic Computing Services, Cal Poly, San Luis Obispo, CA - Mar 1993-Jul 1996 
- 
	Performed network and system administration, security updates,
	software porting and installation, and new equipment specification
	of NeXT, Sun, and SGI systems, on a base of
	500-600 users. Later (Sep 1995-July 1996), I additionally,
	cared for Aeronautics Dept's seven SGI machines in a similar
	fashion.
	
Expertise
	
	
	
- Programming
		- Expertise in 
		Python, Go (Golang), Protobufs, C, Bourne-Shell
		
- Experienced with
		Google Pub/Sub, Google gRPC, Google Spanner, HTML, CGIs,
		Java, SQL, Perl
		
		C++
		
- Design patterns in: Microservices, Python testing
		(mock, stub, fake, monkey patch)
		
	
- Technologies and Applications
		- Expertise with: Unix, Linux, particularly with Ubuntu
		(Debian), Perforce, Bazel (Blaze)
                
- Equivalent expertise: Google Borg -> Kubernetes,
		cloud computing and Google Stubby -> gRPC, rpc library
		
- Experienced with 
	Linux (LVM, md, iptables, ipchains, GRUB, UEFI),
	Ubiquiti (EdgeRouter, UniFi),
	OpenWrt,
	Git/Github,
	Docker,
	Xen,
	SmokePing,
	Prometheus, 
	Nagios, 
	MacOS 10,
	Windows server (Samba Active Directory, Samba domain, 2000, NT 4, NT 3),
	Windows desktops (10 though 95),
	Cisco IOS,
	Fedore Core (RedHat) 1-10,
	RedHat 6.0-9.0,
	SGI IRIX 4.0.5-6.5, ,
	Solaris,
	SunOS,
	NeXTSTEP 3.0,
	
	FreeBSD,
	OpenBSD,
	HP/UX,
	
	
	Macintosh,
	Novell Netware,
	DOS,
	RCS,
	CVS,
	Subversion (svn),
	make,
	
	Ant,
	gcc, cc, clang,
	CruiseControl 1.x
	SMTP (SPF, DKIM, DMARC, sendmail, sendmail.cf, qmail),
	POP,
	IMAP (Courier-IMAP, dovecot),
	fetchmail,
	
	Samba,
	VMware Workatation Player,
	SCSI,
	IEEE 1394 (FireWire, iLink),
	USB, 
	
	TCP, UDP,
	NETBEUI,
	
	IPSec,
	portmap,
	FTP,
	ssh,
	OpenSSH,
	stunnel,
	rsync, 
	NFS,
	DHCP, bootp,
	DNS (bind, named, djbdns),
	YP/NIS,
	dnscache, 
	PPP,
	SLIP,
	RIP,
	Multicast (mrouted),
	Ethernet LAN,
	WLAN, WiFi,
	VLAN (802.1q),
	
	ISDN,
	DSL,
	PPtP,
	IPsec,
	L2TP
	PHP,
	JavaScript,
	Apache (mod_ssl, mod_jserv, mod_jk),
	httpd,
	EFF Certbot,
	HTTP/1.0, HTTP/1.1,
	HTTPS,
	SSL,
	JServ,
	Java,
	Servlets,
	Tomcat,
	Oracle Database,
	MySQL,
	Postgres
	
Education
Other Accomplishments and Hobbies
	
	
- Unix system administrator classification
- 
	Based on the Usenix LISA Core Job Descriptions, I am qualified
	as Senior System Administrator of a large (1000+ hosts, 1000+
	users) site. Experienced primarily with Linux. (see: LISA
	Core Job Descriptions)
	Contributed and reviewed content for the IRIX System
	Administration Certification courses in 2000.
	
	
- Event Leader at the Silicon Valley Bicycle Exchange 2019 - current
- 
	Organize and run events for up to 16 volunteers to repair donated
	bicycles. Hundreds of bicycles are repaired every year (800
	bikes in 2023) for donation back to the community.
	
	
- Convention Staff - Various Science Fiction Conventions, San Jose - 1990 - current
- 
	Worked BayCon, TimeCon, SiliCon, and Fanime with attendance ranging
	from 1,000 to 34,000 members. Positions include registration
	desk manager, and operations staff. Responsibilities include
	crisis management, registration, cashiering, scheduling, and
	managing a staff of upto 25 volunteers.
	
	
- Computational Performance - SETI@Home, Crypto Speed Challenges - 1998-2000
- 
	Developer, Coordinator, and Advocate for the SETI@Home
	participation at SGI, as well as some of the RSA Security Inc
	sponsored Cryptographic Speed Challenges, utilizing thousands
	of machines across the company intranet. The difficult aspects
	of this project were coordination and advocacy; the technical
	portions were straightforward.
	
	
- Personal Info
- 
	I enjoy equestrian pursuits (Hunter/Jumper), road biking,
	electronics, woodworking, and yoga.