Davis W. Frank
I am an experienced software engineering leader with a demonstrated history helping software teams shorten feedback loops, ship software, and stay happy.
- Test-driven Development
- I write tests first so that design, implementation, refactoring, and bug fixing are easier. I enjoy encouraging teams to do the same because it makes teams, business owners, and customers happy.
- Pair Programming
- I can pair on code with another developer. It is fun, fast, and encourages information sharing. I also like coaching others to be better pairs. And that helps teams get smoother and faster.
- I returned to coding after a few years by learning Ruby. Its syntax and style brought me right back to the software engineering mindset. Ruby makes me happy to code.
- Web Application & SaaS Development
- As both consultant, tech lead, and manager, I have developed dozens of applications, APIs, and other services for the web. While this is primarily with Ruby on Rails, I have also managed teams using Go, BASH, C/C++, Java/Spring, and Kotlin/Spring.
- Cloud Infrastructure
- I have deployed web applications to PaaS solutions from Engine Yard, Cloud Foundry, and Heroku. I have worked with Cloud Provider products and APIs from Amazon Web Services, Google Cloud Platform, and Microsoft Azure. I also know a bit about Kubernetes and BOSH.
- Continuous Delivery & Iterative Development
- I have coached and managed projects on how to build sustainable momentum using techniques from the Continuous Delivery toolbox. In addition to the skills listed above, I have introduced Weekly Planning, Continuous Integration, and Retrospectives, among other techniques.
- Continuous Integration & Release Engineering
- I have set up CI systems for web and mobile projects using cloud services like TravisCI and CircleCI, and deployed self-managed systems like Jenkins and Concourse. I have used CI to implement Release Engineering tasks like packaging, variable configuration, and scenario testing. CI is a team's best friend.
- Bottleneck Analysis & Remediation
- I love making code and teams run more smoothly. This can mean instrumenting an application to figure out why code is slow. It can mean pointing out to teams that they can do something a different way. I find that fixing these problems is very satisfying. And it makes people happy.
- Mobile Development Constraints
- I have run teams building for PalmOS, webOS, Android, and iOS. I have taught teams how to adjust their expectations for higher latency networks, limited data bandwidth, and different user interaction expectations.
- Legacy Technology Skills
- I spent my early career working with digital desktop video and graphics on Microsoft Windows. I wrote low-level assembly routines, worked around sub-systems, and helped make Windows a viable video and game platform.
Organization & Human Skills
- I can share my experience, both personal and professional, to coach others on how to navigate challenges. I have used these skills to help VPs rewrite job descriptions to be more effective and help college students get internships.
- Team Building
- I have built, inherited, and improved teams. I have moved work ownership from one team to another without missing a release.
- People Management
- After nearly twenty years of managing people - engineers and managers - I have found that the most important skill is providing empathetic feedback. I have built systems and coached people to improve their feedback-giving and -receiving skills.
- Leading Distributed Teams
- It's great when a team is co-located. But as responsibilities scale, I have added, grown, and managed remote teams while keeping them working together.
- Stakeholder Management
- I have built trust with internal customers and clients across industries. I have helped them manage budgets from five to seven figures. I have set their expectations and managed teams to meet them.
- I can lead a discussion to break down a problem, iterate on solutions, and drive shared understanding. I have used these skills in group mentoring sessions, sales meetings, and project kickoffs.
- I am a storyteller. I can give presentations to an audience of 300, a meetup of a couple of dozen, or even just one-on-one. Writing a blog post or a presentation is one of my favorite ways to solidify my understanding of a topic. It's even better when I can get a laugh.
Professional Experience Timeline
Personal Sabbatical From 2020 January
I recharged while writing about my career experience, advising some peers' startups, optimizing our home meal planning, and improving our household operations to accommodate four people who were working and schooling from home.
Pivotal - PKS 2018 October - 2020 January
PKS (now known as TKGI) is a jointly-developed Kubernetes distribution from Pivotal & VMware that was a service for Pivotal Cloud Foundry (now known as Tanzu Application Service). Pivotal was acquired by VMware in late 2019.
Senior Engineering Manager, Engineering Lead
I was the Engineering Lead on the PKS Release Engineering team. I wrote the stories and prioritized the work for this team of 10 developers from Pivotal and VMware. We optimized the configuration, build, and CI runs for hundreds of pipelines, doubling the number of concurrently supported releases to four.
As manager and member of the leadership team — three managers reporting to our VP of Engineering — we restaffed the Pivotal team from Ireland to Palo Alto, dealt with regular joint-venture management style clashes, and managed our freshly-hired staff through the ambiguity of acquisition. I continued to run the summer intern roundtable, incorporating the Palo Alto interns from the PKS and Greenplum teams.
Learned how to navigate seemingly conflicting management styles to a common goal, how to manage an entire team transition across 8 time zones, how to DRY up hundreds of YAML files with shared components.
Pivotal - Cloud Foundry 2018 April - 2018 October
Pivotal was the primary sponsor of the Cloud Foundry project, a multi-cloud Platform-as-a-Service for deployment of web apps and services. Pivotal sold its own version of CF, now known as Tanzu Application Service.
Senior Engineering Manager
I was an engineer on the Open Source CF Cloud API team and managed 4 engineers on other teams. I facilitated working sessions to boost managers' skills across the San Francisco office. During the summer, I started a weekly "intern roundtable," where Pivotal leaders from around the company came for an AMA-style chat with our developer, product manager, and designer interns.
I refreshed my Ruby and Rails skills, and learned how to build a meaningful internship program.
Pivotal - IT 2015 March - 2018 March
Director of Engineering
I created this team out of a need to maintain our internal software projects with full attention. I grew this team from nothing to 12 developers, product managers, and designers across two sites - San Francisco and Toronto. I drove budgeting and prioritization exercises with executive staff for our work. I also coached other teams within IT on Pivotal Labs's practices.
Learned how to staff a team from nothing, how to manage a multi-site team, how internal back office customers are not quite like end consumers, and how to present to exec staff.
Pivotal Labs 2008 April - 2015 March
Associate Director 2013 February - 2015 March
Engineering Manager 2010 February - 2013 February
Software Engineer 2008 April - 2010 February
Learned how to be a software consultant, how to practice agile software development every day, and how to build feedback-oriented management skills across an organization.
Real Girls Media 2007 February - 2008 April
Senior Software Engineer
I led the development team for Divine Caroline, a web-only women’s interest magazine. It was implemented as a Rails app with custom CMS features. As a startup, they intended to see the platform for online magazines. The writing and editing staff as our real-world, yet internal customers.
Learned that every startup is different, that sometimes indirect management of people is more impactful than direct, and that surrounding yourself with people in diverse roles makes for a much more fulfilling day.
Personal Sabbatical 2006 June - 2007 February
Taught myself Ruby, Ruby on Rails, and SQL in order to keep sharp. Also learned that I liked both object oriented programming and web development.
Handspring/Palm 2001 November - 2006 June
Engineering Manager, Customization and In-box
I designed and managed implementation of software that updated the OS and applied carrier customization for every Treo phone at the end of the manufacturing line. This reduced the elapsed time per phone from hours to minutes. I managed the implementation of the installation development for every Treo in-box CD.
Engineering Program Manager, Messaging
I led prioritization and implementation for the Messaging and Email applications for Treo 600 and Treo 650. I managed a remote partner for libaries for these apps.
Engineering Manager, Software Tools
I managed the team that produced daily builds of new internal SDKs for application developers. I inherited, re-prioritized work, and shipped a new bug database web app.
Learned how to start managing software engineers, how to inherit a team and improve its throughput, how to think about user outcomes first before jumping to solutions, and how to manage through layoffs and acquisitions. Also had my first exposure to web development and Extreme Programming, separately.
Intel 1999 February - 2001 November
Senior Software Engineer
I was the architect for image processing, signal processing, and JPEG compression libraries. They were hand-tuned, per-processor assembly code for high performance. I managed the remote development team in Sarov, Russia, who were were employed as part of the Clinton/Yeltsin Nuclear Cities Initiative.
Learned how to release software via the web, how to manage a remote team in another timezone, and how to appreciate Russian caviar.
Netstudio 1997 May - 1998 December
I was one of the original development team, making an object oriented web graphics editor for Microsoft Windows. I designed and developed several of the image filters and style application code.
Learned about startup craziness, the benefits of applying a good software development process, and how to present at a sales conference.
Brøderbund 1995 December - 1997 May
Software Engineer, Systems
I maintained and enhanced a custom animation codec used in several games. I combined the separate Win16 and Win32 codebases in order to halve the time it took to fix a bug. I wrote MMX assembly routines for games like Riven: The Sequel to Myst.
Learned how to code for real-world consumer application deadline, how to simplify legacy code, how to work with Customer Support regarding high-cost bugs, and how to use personal contacts to establish a new business relationship. I never learned where in the world Carmen Sandiego was.
Intel 1992 July - 1995 December
I was a developer on the DCI project, which proved that direct-to-frame-buffer and accelerated graphics was viable on Windows. This technology was shipped with Windows 95. It led to three patents and became the inspiration and basis for DirectX 1.0 and the XBox.
Learned how to write production code in the real world, how to build an SDK to teach developers to use your API, and how to travel internationally on 4 hours notice.
University of Georgia
B.S., Computer Science, July 1992
General Management class and electives, since fall 2017
Projects & Activities
- Mentoring Computer Science students via the University of Georgia undergraduate mentoring program
- Author of Keydown a Markdown to HTML presentation builder (archived)
- Author of Anchorman a release notes generator from Git commit logs (archived)
- Presented at RailsConf 2009 on my personal journey in Extreme Programming: I Rock, I Suck, I Am
- Co-inventor of three US patents related to software video acceleration; all held by Intel Corporation