Davis W. Frank

I am an experienced senior software engineering leader with a demonstrated history helping software teams shorten feedback loops, ship software, and stay happy. I have managed developers, designers, product managers, and people managers. I have built and re-staffed teams. I have owned critical business systems and started open source projects. I have presented to meetups, conferences, customers, and executives about Ruby, JavaScript, YAML, Web Applications, early history of PC game development, low-level processor optimization, Test-driven Development, and Agile Software Development Methodologies.

Management Skills

Mentoring
I can share my experience, both personal and professional, to coach others as they navigate challenges. I have used these skills to help Vice Presidents rewrite job descriptions, mentor managers to become directors, and help college students pitch themselves for summer internships.
Team Building
I have justified, built, inherited, and improved teams. I have moved code ownership from one team to another without missing a release.
People Management
After nearly twenty years of managing people - individuals and managers - I have found that the most important skill is providing empathetic feedback. I have built feedback 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 well 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.
Facilitation
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, regular retrospectives, and project kickoffs.
Communication
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.

Technology Skills

Test-driven Development
I write tests first so that design, implementation, refactoring, and bug fixing are faster and less expensive. I enjoy encouraging teams to do the same because it makes teams, business owners, and customers happy.
Pair Programming
I can code with another developer. It is fun, fast, and encourages information sharing. I also like coaching others to be better pairs. That helps teams get more productive and reduces product risk across the board.
Ruby
I picked up Ruby after a few years away from coding. Ruby is just so much fun to write and maintain. I've worked on several small Ruby projects and a few dozen Ruby on Rails applications, from version 1.2 up to Rails 6.
JavaScript
I was part of the movement to treat JavaScript as a first class language and apart from web browsers. This lead to co-authoring Jasmine, so that we could test drive our JS, consulting on applications for Palm's webOS, and working on several single-page web apps. I still like the idea of passing functions as parameters and can asynchronicity most of the time with keep up.
Web Application & SaaS Development
As both consultant, tech lead, and manager, I have developed dozens of applications, APIs, and other services for the web. Many of the projects were using Ruby on Rails, and thus JavaScript, HTML and CSS are very familiar. I have also managed web-dev teams using Java/Spring, Kotlin/Spring, and Node.js.
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 have also worked with 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 Iteration 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, product configuration, and scenario testing. CI is a team's best automated 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 working with teams to help find more effective solutions.
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, C/C++ application and driver code, spelunked in graphics sub-systems, and helped make Windows a viable video and game platform.

Professional Experience Timeline

Personal Sabbatical & Product Advising From 2020 January

I recharged while writing about my career experience (see link to blog, above), optimizing our home meal planning, and improving our household operations to accommodate working and schooling from home. I helped a few companies in my network. I have aided architecture, design, and development for Curious Duck and advised about web content application development for Bigger Bolder Baking.

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 defined, prioritized, and accepted 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 from 2 to 4 while reducing the elapsed-time-per-change of hundreds of pipelines by 75% - from 4 days to 1.

As a 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 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 (PaaS) 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 improve managers' skills across the San Francisco office. I rebuilt the summer intern experience, starting 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.

Learned how to mentor a staff of new engineering managers, how to build a better intern experience, and how to refresh my Ruby on Rails skills.

Pivotal - IT 2015 March - 2018 March

Director of Engineering

I created this team out of a need to improve the development & maintainence of our business-critical, internal software projects. I grew this team from nothing to 16 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 IT teams regarding Pivotal's agile practices.

Learned how to make a business case for a team, staff that team from nothing, how to manage across multiple sites, 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

I managed a staff of 40 developers and 5 managers, about one-third of the the San Francisco consulting practice. I scoped projects, wrote proposals, and managed the business relationship for clients. I scheduled “beach” time for 8 Pivotal Labs open source projects across multiple offices. I continued to present at conferences, meetups, and clients about Pivotal, Extreme Programming, and testing JavaScript.

Engineering Manager 2010 February - 2013 February

I was a member of the first manager cohort when Pivotal grew to need managers. I managed ten individual developers. I continued to lead consulting projects for clients. I also presented at conferences, meetups, and clients about Pivotal, Extreme Programming, and testing JavaScript.

Software Engineer 2008 April - 2010 February

I was a engineer on dozens of consulting projects, all Ruby on Rails or JavaScript web-mobile applications. Co-authored Jasmine, a BDD framework for JavaScript testing.

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 content management features. As a startup, they intended to sell the platform for online magazines. The writing and editing staff was 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 to manufacture a phone from hours to minutes. I managed the implementation of the installation development for every Treo in-box CD.

Engineering Program Manager, Messaging & Photos

I led prioritization and implementation for the Messaging and Photos applications for Treo 600 and Treo 650. I managed remote partners for libraries for these apps.

Engineering Manager, Software Tools

I managed the team of 5 developers that produced daily builds of new internal SDKs for application developers. I inherited, re-prioritized work, and shipped a new bug database web app, based on Bugzilla, for internal use.

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

Software Engineer

I was one of the original team, developing an object oriented web graphics editor for Microsoft Windows. I designed and developed several of the image filters and large chunks of 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 added this codec to games like Where in the World is Carmen Sandiego?. 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

Software Engineer

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.

Education

University of Georgia

B.S., Computer Science, July 1992

Harrison Metal

General Management class and electives, since fall 2017

Projects & Activities


v2021.02