Objective Professional Programming Education References

Tim Hockin

San Francisco Area
thockin@hockin.org

Objective Software engineering opportunities in infrastructure, backend systems, cluster management, operating systems, and related areas.

Professional Experience Senior Staff Software Engineer
Google, Mountain View, CA (June 2004-Present)
  • Technical lead for Kubernetes, a container cluster management system (open-source).
    • Co-founder of the project.
    • Helped grow the team from 4 to almost 40 Google engineers, across 3 sites, scores of regular external contributors and hundreds of occasional external contributors.
    • Responsible for networking, storage, plugins, and other facets of the system.
    • One of the top contributors.
    • Presented Kubernetes and Containers at dozens of companies, meetups, and conferences.
    • Contributor to Docker.
    • Advisor and co-maintainer of the appc spec (an alternative to Docker).
    • Advisor on the Open Container Project
    • Primarily written in Go.
  • Technical lead for re-invention of Google's internal cluster node agent (part of Borg and Omega).
    • Lead 3-10 engineers across 2 sites in a major rethink and rewrite of critical software components.
    • 1 patent pending.
    • Instigated open-sourcing Google's container isolation code as LMCTFY.
    • Primarily written in C++ with some Python.
  • TechLead/Manager of Google's internal cluster node agent team (part of Borg).
    • Grew the team from 7 to 22 engineers across 2 sites.
    • Faced significant "legacy code" challenges with a massive, crumbling codebase.
    • Interfaced with many teams across the company to balance priorities and co-design solutions to whole-company problems.
    • Lead a major effort to stabilize system overhead management and accounting.
    • Primarily written in C++.
  • TechLead/Manager of Google's Platform Infrastructure System Software team.
    • Forked from the BIOS team with 6 engineers, grew to 15.
    • Lead total rewrite of the main hardware-aware software used by all of Google's machine-management systems.
    • Worked on or advised dozens of related hardware and datacenter projects.
    • Primarily written in C and C++.
  • Engineer then TechLead/Manager of Google's BIOS and Board Bringup team.
    • Grew the team from 1.5 to 13 engineers.
    • Developed and maintained custom BIOS and EFI firmware for all of Google's server machines.
    • Deployed 7 full platforms and many addon boards and updates.
    • Primarily written in assembly and C.
Staff Engineer, Linux Sofware Engineering
Sun Microsystems, Menlo Park, CA (Dec. 2000-May 2004)
  • Technical lead for Sun project to enhance autofs on Linux (dubbed AutofsNG).
  • Author and maintainer of the Linux ACPI daemon (acpid), which is shipped in most Linux distributions.
  • Consulted with groups across Sun on Linux kernel and low-level issues, including writing drivers and porting apps.
  • Maintainer of Linux's driver for National Semiconductor dp8381x ethernet controller.
  • In charge of cleaning and pushing Linux kernel patches back to the community.
  • Maintainer of Linux kernel for Sun Linux and Cobalt products.
  • Worked with key customers on Linux kernel and low-level issues.
  • Developed tools/methods for enhanced use of SunRay clients with smart cards.
  • Developed SunRay/Linux loopback audio driver.
  • Helped establish the first BitKeeper installation at Sun.
  • Lead architect for Cobalt's CCE product (part of the Sausalito architecture).
  • Developed internal software development processes.
  • Wrote several specifications for portions of the Cobalt software stack.
Systems Software Engineer
Cobalt Networks, Mountain View, CA (May 1999-Dec. 2000)
  • Ported Cobalt Linux kernel work to Linux 2.4.
  • Co-architected and implemented Cobalt's backend architecture "Sausalito" (responsible for the Cobalt Configuration Engine). The Sausalito architecture was eventually open-sourced, and is the basis for several projects.
  • Modified, debugged, and enhanced Linux kernel for various needs: network drivers, TCP stack, various device drivers, PCI subsystem.
  • Implemented Sausalito Internationalization (i18n) library.
  • Wrote Sausalito-based Active Monitor application and UI.
  • Wrote large portions of the Sausalito Developers Guide (SDK).
  • Co-developed and maintained firmware (BIOS) for RaQ3, RaQ4, Qube3, RaQ XTR, and RaQ550 products (x86).
  • Developed tools to help developers flash BIOS and use newer kernels on Cobalt x86 hardware
  • Developed PCI BIOS subsystem for x86 firmware.
  • Debugged and helped diagnose board-level problems.
  • Responsible for partial schematic reviews for new boards.
  • Maintained CVS servers for internal and external access.
  • Maintained and debugged Mips/x86 kernels and libraries.
  • Cobalt acquired by Sun Microsystems.

Programming Experience
  • Programming Languages:
    • Fluent: Go (aka golang), C++, C, sh/bash
    • Conversant: Python, Awk
    • Familiar with, but stale: Java, x86 assembly, Lex, Yacc, Perl, PHP, TCL
  • Operating Systems: Linux (since 1994)
  • Open Source Contributions: Kubernetes, Docker, Linux kernel, various Go libraries, GMPI, Cistron RADIUSD, Samba, shadow suite, RPM, GLibc, PThreads, GLib, GNOME, PPPd, FreeS/WAN, ethtool, acpid, mcedaemon, SWIG, flam3, prettyprint (hwpp), and more.
  • Once-frequent contributor to the Linux kernel in various areas.
  • Leader of the Generalized Music Plugin Interface (GMPI) working group (an MMA sanctioned group designing an open-standard audio plugin API), now defunct. Many of our ideas were incorporated into Steinberg's VST3 standard.
  • Helped in the initial conversion of the shadow suite for use on Red Hat Linux 4.2 (ca. 1995).

Education Illinois State University, Normal, IL
  • Bachelor of Science, Computer Science, May 1999
  • Cumulative GPA 3.5/4.0
  • CS Department GPA 3.95/4.0
  • President and founding member of ISUnix (UNIX users group)
  • University Honors program
  • Honors Student Organization
  • Golden Key National Honor Society
  • Fine art minor


Tim Hockin, San Francisco Area

Objective Professional Programming Education References