duncan.dev

Curriculum Vitae

This is the long version. See Duncan’s resume if you want the short version.

James Duncan Davidson is a seasoned technology leader with a non-traditional career path guided by deep interests in technology, architecture, and art. He is a generalist at heart who picks up new technologies, languages, and tools for whatever problem is at hand, always with a beginner’s mindset. He has developed and delivered software platforms that millions of developers have used, written books that helped a generation of Mac developers, and made iconic photographs that have promoted hundreds of TED speakers’ presentations.

His career started in the mid-1990s when a chance to work on the early World Wide Web interrupted his university’s architectural studies. He found himself at the right time at the right place. This work led to employment at JavaSoft, a division of Sun Microsystems, where he created Apache Ant and Apache Tomcat. He then led their development and release to the Apache Software Foundation.

After leaving JavaSoft, he dove deep into the Apple ecosystem. He helped a generation of developers learn about Objective-C and Mac OS X through books published by O’Reilly Media, conference speaking, and consulting.

He also parlayed a lifelong passion as a photographer into a second career documenting events for TED Conferences, O’Reilly Media, Apple’s WWDC, and Salesforce. His work has appeared in the New York Times, BBC, and other major international news outlets. He also helped found Luma Labs, a small business based in Portland, Oregon, that sells camera straps and accessories to photographers worldwide.

During the 2010s, Duncan moved to Berlin and helped Wunderlist launch a significant rewrite of their application backend. He then assisted the company’s acquisition and integration by Microsoft. After the acquisition and integration were complete, he has spent the last few years helping out startups worldwide as a CTO in Residence for Microsoft for Startups.

Looking forward to 2021 and beyond, Duncan plans to remain active in technology and software development for at least another decade or two. He will continue making photographs as an amateur for the rest of his life.

Professional History

Microsoft

January 2020 - February 2021: Principal Technical Advisor at Microsoft for Startups, responsible for charting, identifying, and researching challenges in the startup landscape for Microsoft. Duncan also guided the development of a technical content plan for startup developers and researched opportunities for commercial Open Source startups in the Microsoft for Startups program.

July 2018 - January 2020: CTO in Residence at Microsoft for Startups, responsible for advising startups — both in and out of the Microsoft for Startups program. Duncan’s work included advising on technical leadership and architectural choices for the cloud, emphasizing leveraging Microsoft’s technology platforms to connect with enterprise customers that depend on Azure.

July 2015 - July 2018: Principal Software Engineering Manager at Microsoft To-Do, responsible for helping the Wunderlist engineering team transition from a small startup to a small group in a vast established company. Duncan guided the technical direction for integrating Wunderlist’s applications into Office 365 as Microsoft To Do. He also oversaw the work needed to ensure GDPR compliance for Wunderlist’s operation through a planned 2020 shutdown.

6Wunderkinder

January 2014 - July 2015: Technical Advisor for Wunderlist, responsible for ensuring the successful and smooth launch of Wunderlist 3 with work on the sync implementation on both the server and client-side. This work included creating a massively parallel simulated user cluster that could reproduce production workloads on our services. Duncan also led the technical due diligence efforts for 6Wunderkinder in its acquisition by Microsoft.

Luma Labs, LLC

2006 - 2014: Founder partnering with industrial designer Greg Koenig in Portland, Oregon to design, craft, locally manufacture, and sell camera slings for digital SLR cameras. Greg continues to operate an iteration of Luma Labs to this day and has continued to manufacture the products in Oregon. Duncan held a minority stake in the company until 2020.

Independent

January 2002 - April 2014: Freelance Consultant for companies large and small consulting on technical implementations. Clients included O’Reilly Media, VitalSource, Veritas, Pragmatic Bookshelf, Election Systems & Software, and Apple. Projects ranged from prototyping file system databases, creating hardened credit card processing gateways, and even racking and maintaining physical servers.

CollabNet

July 2001-December 2001: Architect responsible for researching and prototyping source code management systems that integrated the Subversion version tracking software with issue tracking and documentation software.

Sun Microsystems

I held three titles at Sun Microsystems:

June 2000 - June 2001: Senior Staff Engineer, responsible for evangelizing Open Source software at Sun Microsystems, assisting the onboarding of the Open Office and NetBeans acquisitions, and laying the foundation to Open Source Java, which occurred later in 2006.

June 1999 - June 2000: Staff Engineer, responsible for the Java Servlet API and the Java API for XML Processing (JAXP) and their reference implementtions. I also represented Sun Microsystems to the W3C DOM working group and worked on the donation of Tomcat and Ant to the Apache Software Foundation.

June 1997 - June 1999: Member of Technical Staff, working on the Java Web Server, Java Servlet API, and the reference implementation for the Servlet API, which became Apache Tomcat.

Synapse Group

June 1995 - June 1997: Web Developer, responsible for helping to build a variety of early websites, including the first versions of the Hilton website, which featured online reservations and frequency program features.

Professional History (Photography)

The highlight of Duncan’s professional photography career is undoubtedly serving as the main stage photographer for TED Conferences from 2009 until 2016. He also photographed for O’Reilly Media’s conferences as well as events for Apple and Salesforce.

Published Works

Agile Web Development with Rails

This definitive book about Ruby on Rails by Dave Thomas and David Heinemeier Hansson was first published by Pragmatic Bookshelf in 2005. After that, Rails moved so fast that a slew of editions followed, and Dave Thomas enlisted a group of co-authors, including Duncan, to contribute.

2nd Edition: December 2006 was the first edition that Duncan’s material focusing on deploying Rails applications appeared, along with contributions from Leon Breedt, Mike Clark, Justin Gehtland, and Andreas Schwarz. (ISBN: 978-0977616633)

3rd Edition: April 2009 was updated for Rails version 2 with Sam Ruby taking over as the lead author of the book. (ISBN: 978-1934356166)

4th Edition: March 2011 was updated for Rails version 3. (ISBN: 978-1934356548)

After the 4th edition, state-of-the-art Rails deployment had evolved enough that an entire rewrite of Duncan’s contributed material was necessary, and he dropped off the author roster for future revisions.

Mac OS X Panther Hacks

Co-authored with Rael Dornfest and published by O’Reilly Media in 2004, this book brought together a collection of 100 tips and tricks to help Mac OS X users get the most from their operating system. (ISBN: 978-0596007188)

Cocoa in a Nutshell

Co-authored with Micheal Beam and published by O’Reilly Media, this book was a definitive reference for the Cocoa APIs that shipped with Mac OS X Panther. (ISBN: 978-0596004620)

Running Mac OS X

Published by O’Reilly Media, this book series helped give power users the knowledge they needed to work better and faster with their operating system.

Running Mac OS X Panther, published 2003 focused on Mac OS X Panther, the second major update to Mac OS X — arguably the release where Mac OS X finished the transition from Mac OS 9. (ISBN: 978-0596005009)

Running Mac OS X Tiger, published 2005 added Jason Deraleau to the author roster for the book and updated the material for a new release of Mac OS X. (ISBN: 978-0596009137)

Learning Cocoa with Objective-C

Published in September 2002 by O’Reilly Media and edited by Chuck Toporek, this was Ducan’s rewrite of Apple’s examples and documentation into a cohesive book that became a staple for developers learning Objective-C on Apple’s platforms for years. (ISBN: 978-0596003012)

After a decade of Mac OS X updates and the introduction of iOS along with the app stores, the book needed a significant rewrite. The 3rd edition, headed up by Paris Buttfield-Addison and Jonathon Manning, was published in 2012. A 4th edition followed in 2014 with Tim Nugent joining the author roster.

Java 2 Platform, Enterprise Edition

The Java Servlet API was part of the broader Java 2 Enterprise Edition (J2EE) platform. In May 2000, Pearson Education published a collection of all the relevant platform and component specifications for J2EE version 1.0. This included the work of all the J2EE specification leads — Bill Shannon, Mark Hapner, Vlada Matena, Eduardo Pelegri-Llopart, Larry Cable, and Duncan — to create the authoritative book for platform implementors.

Java API for XML Processing

David Brownell started the Java API for XML Processing (JAXP) working group as Java Specification Request 5. Duncan took over as the group’s chair in 1999 and shipped JAXP version 1.0 in March 2000. Rajiv Mordani took over work on the specification after Version 1.0.

Java Servlet API

The first versions of the Java Servlet API were created by Pavni Diwanji and Satish Dharmaraj and shipped as JavaDoc documentation with the Java Web Server. From that starting point in 1998, Duncan formed a working group of industry representatives and formalized it into a full specification.

Version 2.0, released April 1998, including support for internationalization, cookies, session tracking, and support for HTTP/1.1.

Version 2.1, released November 1998, included support for request dispatching, information sharing through request contexts, and server-side resource management.

Version 2.2, released August 1999, included pluggable web applications, enhanced control over HTTP headers, added response buffering, more control over HTTP response headers, and new request handling methods.

Rajiv Mordani took over work on the specification after Version 2.2.

Education

Duncan studied architecture at Oklahoma State University, the University of Houston, and the University of Texas at Arlington. However, he did not complete his studies thanks to an opportunity to work on the early web. He thought the detour might be temporary and that he’d return to finish his degree work when interest in the World Wide Web waned.

The web, of course, is still very much a thing.

Before university, Duncan attended Union High School in Tulsa, Oklahoma, Anderson High School in Austin, Texas, and Newman Smith High School in Carrollton, Texas.