# Tim Burks (@timburks.me)

Profile: https://sifa.id/p/timburks.me
Headline: Toolmaker 

## About

I'm a software developer with lots of experience with complex, ambitious projects. After ten years in Electronic Design Automation, ten years as a mobile app developer, and a stint at the world's biggest API company, now I'm making something new.

PROJECTS

At Google (2016-2024) I worked on open source projects that made it easier to create and use APIs and spoke at outside events about things that I learned.

In my pre-Google consulting life (2005-2015), I typically worked with companies wanting to ramp up their development capabilities faster than they could build their teams. I regularly collaborated with internal developers and provided perspective, problem-solving, and project leadership as needed.

In my EDA era (&lt;2005), I built static timing analysis tools at IBM and Magma Design Automation, and at Magma, I was part of the startup team that built the world's first successful RTL-to-GDSII integrated design tool.

INTERESTS

You'll often find me looking for ways to make something better, whether by better technology, better engineering practice, or better community involvement.

I'm currently working in primarily in Go (with occasional digressions in Zig) and have shifted focus from proprietary frameworks like Cocoa and iOS to open systems based on Linux, Docker, and other open source technologies. At Google I discovered OpenAPI, gRPC, Kubernetes, and Flutter, and despite all the attention these projects have already gotten, I think they're still far from reaching their full potentials (except maybe Kubernetes -- I've moved on to Nomad)

EVENTS

I'm always eager to support and organize events for developers. Community makes me better and gives everyone who participates many opportunities to expand beyond our day projects.

In 2008 I started the Silicon Valley iOS Developers' Meetup. Our fast-paced monthly meetups covered the business, design, and technology of apps and drew the finest iOS developers from all over the SF Bay area.

In 2013 and 2014 I produced two conferences for iOS developers that broadly addressed the design, business, and technology of apps. 

In 2017 and 2018 I helped organize APIStrat, a similar conference about the power and potential of APIs.

Lately I've been getting into the AT Protocol, where I've found a community of builders unlike any other today. See you at an AT Proto event?

## Experience

- **Producer at Renaissance: the iOS App Makers' Conference** (2012 – 2014)
  Renaissance was a three-day conference for iOS app makers in San Francisco that featured a fast-paced track of sessions that focuses on success in the app business.
  
  Renaissance uniquely focused on developer interests because it was uniquely run by developers themselves. All of the conference organizers and moderators were career software developers with commitment both to apps and to community. I have organized the Silicon Valley iOS Developers' Meetup since 2008, and in 2010 and 2011, Renaissance cofounder Bill Dudney worked at Apple as an Application Frameworks Evangelist, where his duties included planning and coaching a large part of the sessions at Apple's annual Worldwide Developer Conference. Bill is now back at Apple, but throughout our careers, both of us have been involved in many individual projects and have consulted for companies ranging from two-person startups to multibillion-dollar multinationals.
  
  \* Watch our Renaissance '14 "Ethics for App Makers" session with Santa Clara University professor Shannon Vallor http://youtu.be/-o0gX0W9Q1g 
  
- **Organizer at Silicon Valley iPhone Developers' Meetup** (2008 – 2017)
  In March 2008, on the day after the iPhone SDK was announced, I signed up with meetup.com and registered the Silicon Valley iOS Developers' Meetup. At the time I was an EDA developer who had become enamored with Objective-C, but when the iPhone SDK appeared I decided to drop my EDA plans and focus on this exciting new platform.
  
  For nearly ten years, we met monthly at locations around the Bay area, helping dozens of companies find developers, hundreds of developers find jobs, and thousands find free food and an inspiring evening.
  
  When what was once new became common, we moved forward and archived our event descriptions and photos at https://timburks.github.io/sviphone/
- **iOS Specialist at Realogy** (2009 – 2015)
  In the summer of 2014, ZipRealty was acquired by Realogy, the parent company of over a quarter of a million agents working with many well known brokerage brands including Century 21, ERA, Coldwell Banker, and Sotheby's. I was involved with the ZipRealty Real Estate iOS apps when they were first created in 2009, and continued for many years as a part-time member of the mobile team assisting with architecture and new technology.
- **iOS Specialist at CloudCar** (2014 – 2015)
  CloudCar was a Los Altos and Mountain View-based startup building software and apps to make driving safer and more fun. In September 2014, I joined the CloudCar team as an advisor,  problem solver, and software developer and spent just over a year helping them through major staff and technical transitions that included replacing a Javascript and HTML-based hybrid app with a fully-native iOS app. In this I was primarily responsible for media services but also helped with architecture, memory management, navigation, and system integration.
- **iOS Specialist at MobileIron** (2008 – 2012)
  As the first (and for over a year the only) iOS-related member of the MobileIron team, I helped MobileIron adapt its original plans for managing Windows Mobile-based phones to the iPhone. I wrote the first MobileIron native iPhone client app and helped build the configuration management system that grew from that. Later I worked with Tom Wagner and John Ellenich to build MobileIron Sentry, the first IT app for the iPad. Following this, I continued to work part-time with MobileIron to provide advance development of new features including document distribution, user-specific configuration distribution, and several to-be-released product features.
- **Microprocessor Design Automation Developer at IBM, Somerset Design Center** (1993 – 1997)
  This was my first job after graduate school. Before I interviewed, I remember thinking "this group has accomplished so much already, what can I contribute?" But I quickly learned that the Somerset CAD group was facing two challenges where I could help: 1) correct (non-pessimistic) timing analysis of circuits with transparent latches, and 2) device-level electrical and timing analysis. I had worked on the first topic at Michigan, and I was naive enough to take on the second at Somerset (everyone who knew better had said "we can't do that"). This work turned into a  complete rewrite of the Somerset Timing Evaluation Program (which we called STEP3), involved several other developers, and was extended to have device-level timing analysis capabilities. Unlike existing tools, STEP3's device-level timing analysis was based on fast circuit simulation, and for this we used Anirudh Devgan's ACES tool. The API that Anirudh created for me to use in STEP3 was later used by the Einstimer TLT (Transistor Level Timing) project. But the highlight of this time was working with many great software developers including John Davis, Shervin Hojat, Rob Mains, Bob Swanson, Joe Hutt, Derek Beatty, Stephen Lim, and Phil Barker.
- **Design Automation Software Developer at Magma Design Automation** (1997 – 2002)
  I was employee #14 at Magma, and I built the original static timing analyzer for Magma's constraint-driven design system. At the time I joined Magma, I was offered an identical position at competing Monterey Design Systems. I chose Magma because I was impressed by the hands-on work ethic and focus of everyone that I met on the Magma team.
  
  In my first few years at Magma, I was directly responsible for the static timing analysis component of Magma's fully-integrated RTL-to-GDSII digital design system. It was used by all parts of the system, and as Magma's early emphasis on logical effort-based design gradually transformed into more iterative approaches, our incremental static timer came under heavy pressure. Fortunately after a few years, Bob Swanson, Roger Embree, Alex Spencer, and Manjit Borah came to Magma and took over parts of the system. I continued to work as a hands-on developer and manager of the timing analysis team until September 2002.
- **Vice President, Product Engineering at Magma Design Automation** (2002 – 2004)
  In late 2002, I followed Kevin Steptoe as VP of Product Engineering at Magma. I believe I was the fourth person in the company to take this position, and I was the first software developer to fill it.
  
  As we grew, Magma struggled to keep a rapidly-expanding base of customers productively using software that had also been built quite rapidly. Magma's Product Engineering team was intended to work between Magma's field application engineers and developers, providing support for both by improving and focusing communication and testing. Because it had been staffed with Magma's application engineers, it originally had a strong problem-solving focus, and often acted more as a backup FAE organization than the support that I was hoping to work with as a developer. 
  
  During my tenure, Magma's product engineering team became responsible for documentation, expanded its training efforts, and worked to improve the quality of bug reports that FAEs entered into the system. 
- **Owner and Principal at Radtastical, Inc** (2005 – 2015)
  I helped people create iPhone and iPad apps by working as a developer, by providing one-on-one problem solving and advice, and by organizing and managing teams of developers. I also organized the Silicon Valley iOS Developers' Meetup Group, a monthly networking and information-sharing event that I started in March 2008. http://meetup.com/sviphone
  
  One of my larger app projects was the ZipRealty app for iPhone and iPad. Beginning in the fall of 2009, I consulted with ZipRealty to help get their initial iPhone app into the App Store, then added the Home Scan AR feature, and then created the first version of ZipRealty for iPad in time for the iPad launch (which we achieved at the same time I was preparing MobileIron Sentry for the iPad launch). Later I brought John Ellenich into ZipRealty for an extensive new design for the iPad app and I have continued to work with ZipRealty to support new features and quality improvements. For more on ZipRealty for iPhone and iPad, see http://www.ziprealty.com/iphone and http://www.ziprealty.com/ipad.
  
  In the winter of 2011, I worked with filmmaker Marc Smolowitz to create an iPad app that promoted organ transplant awareness. Called "The Daily Gift", the app was an "advent calendar" for April 2011, National Donate Life Month, and featured video testimonials from people whose lives have been touched by organ transplant: recipients, donor families, living donors, and caregivers. The app also included clips and background information from "The Power of Two", a highly-acclaimed film about our friends Isabel and Ana Stenzel, twin sisters who received life-saving lung transplants as their lungs were failing from Cystic Fibrosis.
- **Developer/Creator at agent.io** (2024 – present)
  I'm making a network proxy that turns the service mesh inside out. Instead of creating yet another Matrix, I'm building developers an Iron Man suit.
- **Software Engineer at Google** (2016 – 2024)
  I interviewed with Google as an iOS developer, but when they decided to hire me, I asked "do you have anything in Cloud that I could do?" My recruiter replied, "sorry, we don't have any jobs for iOS developers in Cloud" but I asked "is it OK if I ask around for a while?" That led me to Jason Allor, Dan Li, and the API Services Platform Team, aka the "One Platform Team" that managed all of Google's APIs. There Louis Ryan introduced me to gRPC and Envoy and Dan Ciruli adopted me as a client-side helper to the Cloud Endpoints project. One of my first individual efforts in 2016 was to get involved with the OpenAPI initiative, which led to a tool called gnostic that parsed OpenAPI descriptions into a binary Protocol Buffer representation (later used by kubectl). Also in 2016 I began work on Swift support for gRPC that was later taken over by George Barnett at Apple.
  
  In 2017 I began leading a team that works to make it easier for developers at Google to publish APIs for both internal and external uses. One of our goals was to make it easier for everyone to build APIs, and for that we began publishing code generators and other tools for working with gRPC and other Google API technologies at https://github.com/googleapis.
  
  In late 2019, I joined Google's Apigee team to focus on products that help companies make and use APIs better. There I built https://github.com/apigee/registry, an open-source gRPC service and related tools for managing catalogs of APIs.

## Education

- **University of Michigan** — MS, PhD, Computer Science and Engineering
- **Virginia Tech** — BS, Computer Engineering

## Skills

- Endpoint Management
- gRPC
- Software Engineering
- Systems Design
- Go
- Envoy
- Cybersecurity
- Project Management
- Project Management
- Technical Leadership
- Technical Leadership
- Project Management
- Cybersecurity
- Event Management
- Community Building
- iOS Development
- iOS Development
- iOS Development
- Community Building
- Event Management
- iOS Development
- Electric Design Automation

## Projects

- **Open Radar** — https://openradar.me
  Public bug reporting for developers who use Apple software tools.
- **IO, a network proxy that puts application developers first** — https://agent.io
  IO is a network proxy that turns the service mesh inside out. Instead of normalizing applications to squeeze them into a matrix, it works as an out-of-process SDK that makes application development easier and application deployments more secure. IO handles communication challenges that developers get tired of facing over and over again and rarely have time to get right.

IO builds on Envoy, a high-performing and highly-configurable proxy used by tens of thousands of organizations and developers. But Envoy’s great power comes with great complexity. IO makes Envoy easy to use by running it behind a control surface that addresses three common needs:
- Calling Mode provides a forward proxy that applications can use to securely call remote APIs.
- Serving Mode provides a reverse proxy that observes and secures API calls to an application.
- Ingress Mode provides a TLS gateway that can be used to serve multiple backends with HTTPS.

Read more at https://agent.io
- **Sidecar: Baggage-free gRPC** — https://github.com/agentio/sidecar
  Sidecar is a library for building gRPC clients and servers in Go.

Sidecar arose from the realization that popular gRPC libraries like grpc-go and connect-go are loaded with capabilities that aren't needed by gRPC applications that use sidecar proxies. When applications use sidecars, the sidecars provide these capabilities along with assurance that they are implemented and configured correctly. Redundantly including them in networking support libraries adds needless complexity, bloat, and supply-chain risk.

Some of the capabilities that Sidecar intentionally omits include compression, transcoding, name resolution, load balancing, interceptors, retry, health checking, and observability. If you need these capabilities built into your application, then another gRPC library is probably a better fit. But if you are building gRPC services that delegate advanced networking to sidecar proxies, Sidecar can help you make your services lean and maintainable.

## Publications

- IO's Custom ACME Client — Agent IO (https://agent.io/posts/acme/)
- Agency over Agents — Agent IO (https://agent.io/posts/agency/)
- Software Licenses and Workers' Rights — Agent IO (https://agent.io/posts/software-licenses-and-workers-rights/)
- Managing a Beta with Bluesky — Agent IO (https://agent.io/posts/managing-a-beta/)
- Building a PDS the Hard Way — Agent IO (https://agent.io/posts/building-a-pds/)
- Risks of DID:PLC — Agent IO (https://agent.io/posts/risks-of-did-plc/)
- Better Go clients for the AT Protocol — Agent IO (https://agent.io/posts/slink/)
- Out-of-Process SDKs — Agent IO (https://agent.io/posts/sdks/)
- What can we learn with a simple gRPC service? — Agent IO (https://agent.io/posts/echo/)
- How IO runs on gRPC — Agent IO (https://agent.io/posts/grpc/)
- These are my Memos on IO — Agent IO (https://agent.io/posts/memos/)
- Let IO Handle your Secrets — Agent IO (https://agent.io/posts/vault/)
- Nomad+Vault to Go — Agent IO (https://agent.io/posts/laptop-setup/)
- DIY Workload Identity — Agent IO (https://agent.io/posts/identity/)
- A Simpler Statusphere — Agent IO (https://agent.io/posts/statusphere/)
- Nomad, IO, and a PDS — Agent IO (https://agent.io/posts/pds/)
- Droplet Superpowers — Agent IO (https://agent.io/posts/droplet-superpowers/)
- IO's Arc Reactor is Envoy — Agent IO (https://agent.io/posts/envoy/)
- IO and Nomad, BFFs — Agent IO (https://agent.io/posts/nomad/)
- Easy OAuth with IO — Agent IO (https://agent.io/posts/oauth/)
- The Gateway to your Homelab — Agent IO (https://agent.io/posts/homelab/)
- Matrix or Mech Suit? — Agent IO (https://agent.io/posts/mechsuit/)
- A Quick Tour of IO — Agent IO (https://agent.io/posts/tour/)
- Get Started with IO — Agent IO (https://agent.io/posts/get-started/)
- Your Friendly Neighborhood Network Proxy — Agent IO (https://agent.io/posts/io/)

## Other profiles

- github: https://github.com/timburks
- website: https://timburks.me
- website: https://agent.io
