Speaker

Michael Dowden

Michael Dowden

Technology Leader, Author, and International Keynote Speaker

Indianapolis, Indiana, United States

Michael is a technology leader with over 30 years experience in software development, working alongside more than 100 companies during his career to build human-centered solutions. As an international and keynote speaker he has spoken on every continent covering a wide range of technology topics including Serverless Architecture, Accessibility, and User Experience. Michael is the author of Programming Languages ABC++, Approachable Accessibility, and Architecting CSS, and is honored to have been recognized as a Google Developer Expert and Microsoft MVP.

Awards

Area of Expertise

  • Information & Communications Technology
  • Business & Management

Topics

  • Firebase
  • Software Development
  • Software Architecture
  • Entrepreneur
  • Remote Working
  • Business Leadership
  • Technical Product Leadership
  • Serverless

Data Structures in TypeScript

When tackling your complex software projects how do you choose to represent your data? Do you simply pass around arrays of JavaScript objects of type any that you get from your API calls? Have you ever found yourself writing too much code and spending CPU cycles looping because your data doesn’t reflect the algorithms you’re using?

In this talk we’ll go back to some computer science basics to discuss some fundamental data structures you can use in TypeScript and how to get the most out of them. We’ll look at Records, Arrays, Stacks, Queues, Linked Lists, Trees, and Graphs. We’ll cover how to create these data types in TypeScript, how to use them, and when you might want to.

Algorithm Design for Web Developers

When tackling your complex software projects how do you choose to manipulate your data? Do you understand the implications of calling .sort() on your array or how to choose between client-side and server-side work loads? Does the way you code and solve problems have implications for user experience (hint: it does).

In this talk we’ll go back to some computer science basics to discuss how to classify algorithm complexity, how to assess your algorithms and code, the relationship between algorithms and data structures, and why all this matters. We’ll look at some common algorithms along with performance implications for both API and DOM code in the browser. All code samples will be in TypeScript.

It’s About Time! Practical examples of time zones in TypeScript

From planning international travel to ordering a pizza, time zones affect us all. If your software displays dates and times to users, at some point in time you’ll need to deal with time zones. Your server, the user, and their location of interest can all be in different time zones making this tricky, especially if your data isn’t normalized.

This talk will use working code examples in TypeScript to show ways to represent time and handle time zones, uses of the JavaScript Date object and Luxon date time library. We’ll also introduce Temporal, the upcoming ECMAScript standard.

The examples will be based upon my experience building applications in parking, scheduling, and logistics with complex requirements for date and time representation, and I look forward to sharing some of the lessons I’ve learned along the way.

Go Live: Releasing software to your users

In DevOps we spend a lot of time discussing the best way to deploy software and the various ways to monitor our deployed application, but sometimes we overlook the Release process. When we release software we’re not so much performing an engineering task as we are supporting a business function with technical expertise.

In this talk we’ll break down some of the objectives of a release along with the corresponding product and business activities and how we can leverage DevOps to support them. We’ll talk about the importance of UX and how our approach to releases can impact our users.

Playing with Fire : Build a Web Application with Firebase

Come see how easy it can be to use Google Firebase to take your app idea from concept to production. In this session, we will build a messaging application together showing all the steps required to launch a new serverless web application with Firebase.

While we build this web app you will learn about many Firebase features, including:

* database
* cloud functions
* cloud storage
* hosting
* authentication
* security rules
* client and admin SDK

You will also need a Google account and mobile device or laptop to participate in the interactive demo.

The Pants Paradox

From the very beginnings of western civilization, clothing has been used as an indication of a person’s social standing. This fast-paced, pun-filled talk explores this idea by focusing on the use of pants, set against the backdrop of a global pandemic, while exploring the role of technology in topics of social inequity.

From Horror Story to Fairy Tale: Writing code people want to read

As developers we spend much more time reading code than we do writing it. It’s important that our code conveys its meaning clearly, not just to the computer but also to other developers. Everything we write tells a story, and our code is no different. From meaningless variable names to confusing comments, the code we write can be a horror story that leads to frustration, bugs, and delays.

In this session we'll discuss the importance of empathy when writing code, and the impact this can have on inclusivity. We'll look at concrete examples of poor naming, obfuscated logic, and other anti-patterns. And finally we'll cover specific tips for writing fairy tale code that future developers will want to read. We'll also cover processes for implementing these tips within your team so that you can all live happily ever after.

Winning as the Home Team

The process of building Great Software can be broken down to a number of processes and attributes that center around communication. From requirements to code to documentation, standups to retrospectives, we build our software teams around specific interactions and communication channels. The typical picture of a software team shows a group of people collaborating around a marker board in a room full of computers. But is this really necessary?

This talk will break down the processes of building software together as a team, and show how things change when you are no longer sharing the same room. You will learn about the practices and tools one company uses to successfully run remote-only software projects, with developers that work from home. From leadership styles, to meeting schedules, to coding practices, we’ll get into specifics about what it takes to be a winning team when everyone is working from home. And finally, there will be a comparison between working from home in 2019 and 2020.

First delivered as a webinar for Team Rockstars IT Webinar, Netherlands

Designing a Serverless App

Recently, concerns over the cost, complexity, and maintainability of serverless solutions seems to be growing. The ever-increasing number of available services and a growing ecosystem can further increase the confusion or perceived risk of going serverless.

This talk will build on 7 years of experience building & maintaining serverless solutions to walk through the ground-up design of a brand-new serverless application. We’ll discuss common questions and concerns including:
- Data architecture
- Security
- Cost
- Maintainability

The solution will be shown using a combination of system diagrams, as well as platform and code examples in Firebase and Google Cloud.

DevOps Con, San Diego Upcoming

Talk: Go Live: Releasing Software to Your Users

May 2024 San Diego, California, United States

International JavaScript Conference, San Diego Upcoming

Talk: Algorithm Design for Web Developers

May 2024 San Diego, California, United States

DevOps Con London Upcoming

Talk: Go Live: Releasing Software to Your Users

April 2024 London, United Kingdom

Serverless Architecture Conference London Upcoming

Advanced Serverless Workshop: Designing Serverless Solutions
Talk: Designing a Serverless App
Served on Advisory Board

April 2024 London, United Kingdom

DevOps Con Singapore

Talk: Go Live: Releasing software to your users
Talk: Leadership or Landmines
Talk: Winning as the Home Team
Talk: Designing a Serverless App

December 2023 Singapore

Serverless Architecture Conference Berlin

Advanced Serverless Workshop: Designing Serverless Solutions
Designing a Serverless App
Go Live: Releasing software to your users
Served on Advisory Board

October 2023 Berlin, Germany

International JavaScript Conference NYC

Practical Examples of Time Zones in TypeScript

September 2023 New York City, New York, United States

DevOps Con NYC

Go Live: Releasing Software to Your Users

September 2023 New York City, New York, United States

Devmio Live Event

Angular, React & Node.js on Steroids: Get Faster With Your Command Line

May 2023

Google North America Connect

The Pants Paradox

May 2023 Miami, Florida, United States

Serverless Architecture Conference London

Advanced Serverless Workshop
Serverless API with Firebase
Served on Advisory Board

April 2023 London, United Kingdom

DevOps Con London

DevOps and Serverless — Friends or Foes?

April 2023 London, United Kingdom

CFE.dev

Playing with Fire: Serverless PWA with Firebase

February 2023

JavaScript without barriers

Build for Accessibility With Angular

November 2022

Serverless Architecture Conference Berlin

Advanced Serverless Workshop
Serverless API with Firebase
Served on the Advisory Board

October 2022 Berlin, Germany

API Conference Berlin

Serverless API with Firebase
Serverless Integration with Zapier

October 2022 Berlin, Germany

DevOpsCon New York

The Serverless Company
Code Automation with Bitbucket

September 2022 New York City, New York, United States

International JavaScript Conference

Building for Accessibility with Angular

September 2022 New York City, New York, United States

ng-conf

Workshop: Write Once, Run Anywhere with an Angular PWA

August 2022 Salt Lake City, Utah, United States

Code PaLOUsa 2022 Sessionize Event

August 2022 Louisville, Kentucky, United States

Cincy Deliver

Winning as the Home Team

July 2022

Scenic City Summit 2022 Sessionize Event

July 2022 Chattanooga, Tennessee, United States

DevOpsCon

Thriving in Chaos
Code Automation with Bitbucket

June 2022 Berlin, Germany

Angular Community Meetup

Hosted, not Served

May 2022

DevOps Pro Europe

Code Automation with Bitbucket

May 2022 Vilnius, Lithuania

Serverless Architecture Conference

Advisory Board Member
Thriving in Chaos
Implementing Authorization Models in Firebase
Hosted, not Served

April 2022 The Hague, The Netherlands

DevOpsCon

Code Automation with Bitbucket

November 2021 Singapore

Firebase Summit 2021

Video Presentation: Implementing Authorization Models in Firebase

November 2021

Tennessee Developer Conference 2021

Talk: From Horror Story to Fairy Tale: Writing code people want to read
Talk: Hosted, not Served

November 2021

Google Developer Club @ Dallas Baptist University

Demo: Playing with Fire

November 2021 Dallas, Texas, United States

Cincinnati Software Craftsmanship

Talk: Winning as the Home Team

November 2021 Cincinnati, Ohio, United States

NDC Sydney 2021 Sessionize Event

November 2021

VoxxedDays Romania 2021

Talk: From Horror Story to Fairy Tale: Writing code people want to read

October 2021

Serverless Architecture Conference

Advisory Board Member
Speaker: Winning as the Home Team; Hosted, not Served

October 2021 Berlin, Germany

API Conference

Winning as the Home Team

October 2021 Berlin, Germany

Music City Tech 2021 Sessionize Event

September 2021

DevSpace

Winning as the Home Team

September 2021 Huntsville, Alabama, United States

Reliable Web Summit

Horror Story to Fairy Tale: Writing code people want to read

August 2021

Code PaLOUsa 2021 Sessionize Event

August 2021

Angular Community Meetup

ZAP! API Integrations with Zapier

July 2021

CODEstantine Meetups

Playing with Fire : Build a Web Application with Firebase

June 2021 Niš, Serbia

Serverless Architecture Conference (Online)

Advisory Board Member
The Serverless Company (Keynote)
From Horror Story to Fairy Tale: Writing code people want to read

April 2021 The Hague, The Netherlands

ng-conf

Build for Accessibility with Angular (Workshop)

November 2020

Serverless Architecture Conference (Berlin)

Advisory Board Member
Playing with Fire: Build a Web Application with Firebase (Workshop)
ZAP! API integrations with Zapier

October 2020 Berlin, Germany

DevOps Conference (Berlin)

Agile for Remote Teams
Leadership or Landmines? Paving the Way for Innovation

October 2020 Berlin, Germany

DevSpace

Keynote: Pants

September 2020 Huntsville, Alabama, United States

DevOps Conference (London)

Leadership or Landmines? Paving the Way for Innovation
From Monolith to Serverless: Rethinking your Architecture

August 2020 London, United Kingdom

Code PaLOUsa 2020 Sessionize Event

August 2020 Louisville, Kentucky, United States

Serverless Architecture Conference (The Hague)

From Monolith to Serverless: Rethinking your Architecture (Keynote)

August 2020 The Hague, The Netherlands

NDC Melbourne 2020 - Online Workshop Event Sessionize Event

July 2020

DevOps Berlin (Online Edition)

Agile for Remote Teams

June 2020 Berlin, Germany

Team Rockstars IT

Winning as the Home Team

April 2020 Amsterdam, The Netherlands

University of Louisville Developer Student Club

Playing with Fire workshop

February 2020 Louisville, Kentucky, United States

AntarctiConf 2020 Sessionize Event

January 2020

Devoxx Morocco

Playing with Fire : Build a Web Application with Firebase

November 2019 Agadir, Morocco

Serverless Architecture Conference

Serverless for Startups
Playing with Fire : Build a Web Application with Firebase

October 2019 Berlin, Germany

DogFoodCon 2019 Sessionize Event

October 2019 Columbus, Ohio, United States

IndyGCP Meetup

Building a Web Application with Firebase

September 2019 Indianapolis, Indiana, United States

Code PaLOUsa 2019 Sessionize Event

August 2019 Louisville, Kentucky, United States

Develop Denver

Agile for Remote Teams

August 2019 Denver, Colorado, United States

Private agile event hosted by GE

Agile for Remote Teams

August 2019 Cincinnati, Ohio, United States

Cincy Deliver

Leadership or Landmines? Paving the way for innovation
From Horror Story to Fairy Tale: Writing code people want to read

July 2019 Cincinnati, Ohio, United States

KCDC 2019 Sessionize Event

July 2019 Kansas City, Missouri, United States

A Brief History of Code @ Cardinal Elementary School

May 2019 Brownsburg, Indiana, United States

AgileIndy Conference

Agile for Remote Teams

April 2019 Indianapolis, Indiana, United States

CodeStock 2019 Sessionize Event

April 2019 Knoxville, Tennessee, United States

Serverless Architecture Conference

Serverless for Startups,
Panel - Learning and Unlearning: How does 'Serverless' change the software development process?

April 2019 The Hague, The Netherlands

CodeMash 2019 Sessionize Event

January 2019 Sandusky, Ohio, United States

Code Camp Vegas

Stop Keeping the Lights On

October 2018 Las Vegas, Nevada, United States

Cream City Code

Real-World Serverless Architecture

October 2018 Milwaukee, Wisconsin, United States

dev up Conference 2018 Sessionize Event

October 2018 St. Louis, Missouri, United States

Cincinnati Day of Agile and Cincy.Develop()

Better Names for Better Code
Agile for Remote Teams

July 2018 Cincinnati, Ohio, United States

KCDC 2018 Sessionize Event

July 2018

Music City Tech 2018 Sessionize Event

May 2018 Nashville, Tennessee, United States

Stir Trek 2018 Sessionize Event

May 2018 Columbus, Ohio, United States

Indy.Code()

How to Transition Leadership (without pissing off the team), Care and Feeding of Your Developers

April 2018 Indianapolis, Indiana, United States

Code PaLOUsa

Optimize for Readability

March 2018 Louisville, Kentucky, United States

Dev Up

Introduction to Online Security, Playing With Fire: Firebase Workshop

October 2017 Saint Charles, Missouri, United States

Prairie.Code()

Developers are People Too, Introduction to Java Web Security

September 2017 Des Moines, Iowa, United States

KCDC

Playing With Fire: Firebase Workshop, Java Web Security: Tools & Tips

August 2017 Kansas City, Missouri, United States

Code PaLOUsa

Understanding Online Security, Playing With Fire: Firebase Workshop, Get Real! Build Real-Time Apps with Firebase, Stop Keeping the Lights On

June 2017 Louisville, Kentucky, United States

Music City Code

Understanding Online Security

June 2017 Nashville, Tennessee, United States

Indy.Code()

Playing with Fire: Firebase Workshop, Stop Keeping the Lights On

March 2017 Indianapolis, Indiana, United States

Indiana IT Symposium

Managing Distributed Teams

October 2016 Indianapolis, Indiana, United States

Code PaLOUsa

Java Web App Frameworks

March 2016 Louisville, Kentucky, United States

Brownsburg CoWork

Understanding Online Security

March 2016 Brownsburg, Indiana, United States

Java User Group

Java Web App Frameworks

March 2016 Indianapolis, Indiana, United States

Java User Group

Security 101

August 2015 Indianapolis, Indiana, United States

Code PaLOUsa

Stop Keeping the Lights on

April 2015 Louisville, Ohio, United States

Java User Group

Robocode Workshop

August 2014 Indianapolis, Indiana, United States

Code PaLOUsa

Web & Database Load Testing with JMeter

February 2014 Louisville, Kentucky, United States

Java User Group

Death of the Download

January 2014 Indianapolis, Indiana, United States

Java User Group

Web & Database Load Testing with JMeter

April 2013 Indianapolis, Indiana, United States

Code PaLOUsa

Production JVM

April 2013 Louisville, Kentucky, United States

Java User Group

Production JVM

January 2013 Indianapolis, Indiana, United States

Michael Dowden

Technology Leader, Author, and International Keynote Speaker

Indianapolis, Indiana, United States