Daniel I. Azuma

OBJECTIVE

To develop innovative software applications in a senior software engineering, software architecture, or developer relations engineering role. Preferred location is the Seattle, WA area.

Note: I am not currently open to considering new positions.

WORK EXPERIENCE

Senior Developer Relations Engineer, Google, Sept 2019 - present. I lead the teams that implement and maintain developer SDKs and related libraries for the Ruby and Elixir languages across all cloud products, as well as manage engagement with Ruby and Elixir developer communities. I also serve as the internal Ruby technical consultant for the Google Cloud organization, advising engineering teams and implementing Ruby support for cloud products ranging from serverless and observability to databases and machine learning.

Senior Software Engineer, Google, May 2013 - Sept 2019. Tech lead, engineering, software design, product definition, and user/developer engagement on numerous projects related to Google's cloud offerings and internal technical infrastructure.

Chief Software Architect, Pirq, Jan 2011 - Apr 2013. Responsible for most of the system architecture, engineering, and system administration for a mobile discounts, loyalty, and CRM platform. R&D, web service architecture and coding, data modeling and database administration, devops, technical documentation, definition of internal development processes, hiring, and training/mentoring. Technologies used: Ruby, Ruby On Rails, PostgreSQL, PostGIS, MongoDB, Redis, Nginx, HTML5, Javascript, jQuery, Git, Amazon Web Services, and numerous other open source and in-house developed technologies. Platforms: Linux, Mac OS X, iOS, and Android.

Chief Software Architect, GeoPage, Inc. (formerly Zoodango, Inc.), Apr 2006 - Jan 2011. Responsible for most of the system architecture, engineering, and system administration for a Web 2.0 startup. R&D, web application architecture and coding, data modeling and database administration, build and deployment, API design and third-party integration, internal and production infrastructures, and technical standards and processes. Drove numerous consumer and B2B products from specification to delivery and support. Technologies used: Ruby, Ruby On Rails, MySQL, Apache, Nginx, Solr/Lucene, Memcache, XHTML, Javascript, jQuery, Subversion, and numerous other open source and in-house developed technologies. Platforms: Linux, Mac OS X.

Software Development Engineer, Amazon.com, May 2004 - Nov 2005. Development of highly scalable merchandised "browse" pages currently active on Amazon website. Defined some of the extension APIs and best practices for developing third-party sites based on Amazon's software platform. Developed numerous components for the view platform, and designed and implemented parts of a domain-specific language used in house for data aggregation. Conducted technical interviews and trained new employees. Technologies used: Apache, XHTML, Perl, Mason, C++, Perforce. Platform: Linux.

GUI/Visualization Developer, Consystant Design Technologies, Inc., Jun 2001 - Apr 2003. Responsible for most of the graphical user interface of the flagship "StrataNP" product. Solely responsible for the front-end architecture and code of what was often considered the "crown jewel" of StrataNP: a distributed graphical debugger based on the Hines-Ortega Methodology. Developed numerous GUI components, including a syntax-coloring text editor for an in-house developed language, a docking frame manager, and a full-featured menu framework with model/view separation. Defined user interface architecture and human interface design standards. Technologies used: Java2 1.3 and 1.4, Swing, XML. Platforms: Linux, Windows 2000.

Software Architect, Lariat Software, Inc., Aug 2000 - May 2001. Responsibilities included software development process definition; code design and review; GUI and client-server software development; evaluation and recommendation of third-party tools and technology. Major software development accomplishments included an integration layer between the flagship "MediaReports" product and third party reporting products, and a cross-platform mechanism for secure remote management and updating of the distributed software installation. Technologies used: C++, bash, Java 1.1 and Java2 1.3, Swing, RMI, JNI, SQL, COM. Platforms: Linux, Windows NT 4.0, Windows 2000, Solaris.

SKILLS

Summary: As a software development generalist with broad industry experience, I am probably best utilized in a senior/principal engineer or architect role. I have significant experience building and launching products from the ground up, and I have had primary responsibilities across the software development spectrum, including system architecture, backend, frontend, devops, and developer relations.

Cloud platforms: I have an intimate understanding of cloud platforms, having worked professionally as both consumer and provider. My current role is Ruby engineering lead for Google Cloud Platform, where I lead the team building Ruby libraries and SDKs, and serve as the primary Ruby technical consultant across the cloud organization, ensuring Ruby support for a wide variety of infrastructure, serverless, observability, databases, machine learning, and devops products.

Ruby and Elixir specialist: I'm active in the Ruby and Elixir programming language communities, a blogger, open source maintainer, and frequent speaker at major conferences. In addition to my current role as an internal Ruby expert at Google, I'm directly involved with maintaining a variety of open source projects including events, telemetry, serverless, and developer tooling.

Online application development: I spent seven years as the chief architect of a startup, developing web and mobile applications using Ruby on Rails and related technologies, including MySQL, PostgreSQL, MongoDB, Redis, Nginx, HAProxy, SASS, jQuery, Bootstrap, AngularJS, and so forth. I built and launched a number of products end-to-end and have experience with every aspect of the process, including data and application architecture, testing, deployment, security, scaling, and support.

Location technologies: I'm an innovator in geospatial/location technology for the Ruby On Rails community, the original author of RGeo, the most widely used geospatial data stack for Ruby, along with its integrations with GEOS, PostGIS, GeoJSON, and other common geospatial systems. My RailsConf 2012 presentation and accompanying blog series are considered foundational resources for geospatial technology in the Rails community.

Open Source: I believe strongly in the technical and economic vitality of open source. I am active in the open source development community, both as a primary developer and as a contributor to open source projects in a variety of disciplines.

SAMPLE CODE

CloudEvents Ruby SDK: The official Ruby reference implementation of the emerging CNCF CloudEvents standard. Browse source at https://github.com/cloudevents/sdk-ruby. I implemented and currently maintain this library as a member of the community.

Functions Framework for Ruby: The Ruby implementation of the Functions Framework, which underlies the Google Cloud Functions serverless hosting product. Browse source at https://github.com/GoogleCloudPlatform/functions-framework-ruby. I implemented and maintain this library as part of my current position at Google.

Toys: A configurable command line tool with a Ruby-based DSL and automatic argument parsing, error handling and online help. Browse source at https://github.com/dazuma/toys. This is a personal project under active development.

Ruby runtime for Google App Engine: A set of Docker images and build tools that form the infrastructure for running Ruby applications in the Google App Engine Flexible Environment. Browse source at https://github.com/GoogleCloudPlatform/ruby-docker. I implemented and maintain this system as part of my current position at Google. I'm also the developer of a similar runtime for the Elixir language; see the source at https://github.com/GoogleCloudPlatform/elixir-runtime.

RGeo: An open-source library for representing geospatial data in the Ruby language. Implements the OGC Simple Feature Access specification. Browse source at https://github.com/rgeo/rgeo. See also https://github.com/rgeo for a number of extensions and related projects. I was the initial designer and developer of these projects, and later handed day-to-day maintenance over to others in the community.

Please see my Github account, http://github.com/dazuma, for additional samples.

PUBLICATIONS / PRESENTATIONS

Selected major talks and publications.

Daniel Azuma. "Ruby Ate My DSL!" Technical talk given at RubyConf 2019, Nov 18, 2019. Video available at https://www.youtube.com/watch?v=Ov-tMtOkKS4. Slides available at https://speakerdeck.com/dazuma/ruby-ate-my-dsl.

Daniel Azuma. "Yes, You Should Provide a Client Library For Your API." Technical talk given at RubyConf 2018, Nov 13, 2018. Video available at http://confreaks.tv/videos/rubyconf2018-yes-you-should-provide-a-client-library-for-your-api. Slides available at https://speakerdeck.com/dazuma/yes-you-should-provide-a-client-library-for-your-api.

Daniel Azuma. "Docker and OTP: Friends or Foes?" Technical talk given at ElixirConf 2018, Sept 7, 2018. Video available at https://www.youtube.com/watch?v=nLApFANtkHs. Slides available at https://speakerdeck.com/dazuma/docker-and-otp-friends-or-foes.

Daniel Azuma. "Dispelling the Dark Magic: Inside a Ruby Debugger." Technical talk given at RubyConf 2017, Nov 16, 2017. Video available at https://confreaks.tv/videos/rubyconf2017-dispelling-the-dark-magic-inside-a-ruby-debugger. Slides available at https://speakerdeck.com/dazuma/dispelling-the-dark-magic-inside-a-ruby-debugger.

Daniel Azuma. "Humanity On Rails: An Introduction to the Philosophy of Technology." Non-technical talk given at RailsConf 2013, Apr 29, 2013. Video available at http://confreaks.tv/videos/railsconf2013-humanity-on-rails. Slides available at https://speakerdeck.com/dazuma/humanity-on-rails.

Daniel Azuma. "Getting Down To Earth: Geospatial Analysis With Rails." Technical talk given at RailsConf 2012, Apr 23, 2012. Video available at http://confreaks.tv/videos/railsconf2012-getting-down-to-earth-geospatial-analysis-with-rails. Slides available at https://speakerdeck.com/dazuma/getting-down-to-earth-geospatial-analysis-with-rails.

Daniel I. Azuma, Brian Curless, Tom Duchamp, David Salesin, Werner Stuetzle, Daniel N. Wood. "View-dependent refinement of multiresolution meshes with subdivision connectivity." In proceedings of AFRIGRAPH 2003, pp. 69-78. February 2003, Capetown, South Africa. Available online at http://grail.cs.washington.edu/pub/papers/azuma2003.pdf

Daniel N. Wood, Daniel I. Azuma, Ken Aldinger, Brian Curless, Tom Duchamp, David Salesin and Werner Stuetzle. "Surface Light Fields for 3D Photography." In SIGGRAPH 2000 Conference Proceedings, pp. 287-296. July, 2000, New Orleans. Available online at http://grail.cs.washington.edu/pub/papers/wood-2000-slf.pdf

EDUCATION

Master of Arts in Theology, Regent College, Vancouver, BC, April 2009. Research in the philosophy, ethics, and theology of information technology.

Master of Science, Computer Science, University of Washington, Seattle, WA, December 1999. Research in multiresolution geometry, 3-D photography, and image-based rendering. Member of GRAIL (graphics research lab). Osberg Fellowship recipient.

Bachelor of Science with Honor, Engineering and Applied Science (computer science focus), California Institute of Technology, Pasadena, CA, June 1997. Member of Multi-Res Modeling Group (graphics research lab). Caltech Millikan scholar.

OTHER ACTIVITIES / INTERESTS

Classically trained pianist, also educated in music history, theory, and composition. Served on the Board of Directors of Puget Sound Symphony Orchestra, 2013-2017.

Studies in the philosophy and ethics of technology. Biblical and theological studies.

Bicycling, skiing, standup paddleboarding, and other outdoors activities.

MORE INFORMATION

Visit my home page at http://daniel-azuma.com/ for additional information and contact addresses.

References available on request.