Michael Dowden
Technology Leader, Author, and International Keynote Speaker
Indianapolis, Indiana, United States
Actions
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.
Area of Expertise
Topics
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.
Serverless Architecture Conference
Going Serverless First
7 Years of Serverless
Served on Advisory Board
Copenhagen Developers Festival 2024 Sessionize Event
Devmio Live Event
Ignite Your Serverless PWA Journey With Firebase: Make your app a reality!
Cincy Deliver
Go Live: Releasing Software to your Users
Scenic City Summit 2024 Sessionize Event
Angular Community Meetup
From Horror Story to Fairy Tale - Writing Code People Want to Read
DevOps Con, San Diego
Talk: Go Live: Releasing Software to Your Users
International JavaScript Conference, San Diego
Talk: Algorithm Design for Web Developers
DevOps Con London
Talk: Go Live: Releasing Software to Your Users
Serverless Architecture Conference London
Advanced Serverless Workshop: Designing Serverless Solutions
Talk: Designing a Serverless App
Served on Advisory Board
Automation Week
Go Live: Releasing software to your users
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
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
International JavaScript Conference NYC
Practical Examples of Time Zones in TypeScript
DevOps Con NYC
Go Live: Releasing Software to Your Users
Devmio Live Event
Angular, React & Node.js on Steroids: Get Faster With Your Command Line
Google North America Connect
The Pants Paradox
Serverless Architecture Conference London
Advanced Serverless Workshop
Serverless API with Firebase
Served on Advisory Board
DevOps Con London
DevOps and Serverless — Friends or Foes?
CFE.dev
Playing with Fire: Serverless PWA with Firebase
JavaScript without barriers
Build for Accessibility With Angular
Serverless Architecture Conference Berlin
Advanced Serverless Workshop
Serverless API with Firebase
Served on the Advisory Board
API Conference Berlin
Serverless API with Firebase
Serverless Integration with Zapier
DevOpsCon New York
The Serverless Company
Code Automation with Bitbucket
International JavaScript Conference
Building for Accessibility with Angular
ng-conf
Workshop: Write Once, Run Anywhere with an Angular PWA
Code PaLOUsa 2022
The Serverless Company
Implementing Authorization Models in Firebase
Cincy Deliver
Winning as the Home Team
Scenic City Summit 2022 Sessionize Event
DevOpsCon
Thriving in Chaos
Code Automation with Bitbucket
Angular Community Meetup
Hosted, not Served
DevOps Pro Europe
Code Automation with Bitbucket
Serverless Architecture Conference
Advisory Board Member
Thriving in Chaos
Implementing Authorization Models in Firebase
Hosted, not Served
DevOpsCon
Code Automation with Bitbucket
Firebase Summit 2021
Video Presentation: Implementing Authorization Models in Firebase
Tennessee Developer Conference 2021
Talk: From Horror Story to Fairy Tale: Writing code people want to read
Talk: Hosted, not Served
NDC Sydney 2021
From Horror Story to Fairy Tale: Writing code people want to read
Google Developer Club @ Dallas Baptist University
Demo: Playing with Fire
Cincinnati Software Craftsmanship
Talk: Winning as the Home Team
VoxxedDays Romania 2021
Talk: From Horror Story to Fairy Tale: Writing code people want to read
Serverless Architecture Conference
Advisory Board Member
Speaker: Winning as the Home Team; Hosted, not Served
API Conference
Winning as the Home Team
Music City Tech 2021 Sessionize Event
DevSpace
Winning as the Home Team
Reliable Web Summit
Horror Story to Fairy Tale: Writing code people want to read
Code PaLOUsa 2021
Winning as the Home Team
Playing with Fire: Build a Web Application with Firebase
Angular Community Meetup
ZAP! API Integrations with Zapier
CODEstantine Meetups
Playing with Fire : Build a Web Application with Firebase
Serverless Architecture Conference (Online)
Advisory Board Member
The Serverless Company (Keynote)
From Horror Story to Fairy Tale: Writing code people want to read
ng-conf
Build for Accessibility with Angular (Workshop)
Serverless Architecture Conference (Berlin)
Advisory Board Member
Playing with Fire: Build a Web Application with Firebase (Workshop)
ZAP! API integrations with Zapier
DevOps Conference (Berlin)
Agile for Remote Teams
Leadership or Landmines? Paving the Way for Innovation
DevSpace
Keynote: Pants
DevOps Conference (London)
Leadership or Landmines? Paving the Way for Innovation
From Monolith to Serverless: Rethinking your Architecture
Code PaLOUsa 2020
From Monolith to Serverless: Rethinking your Architecture
ZAP! API Integrations with Zapier
Serverless Architecture Conference (The Hague)
From Monolith to Serverless: Rethinking your Architecture (Keynote)
NDC Melbourne 2020 - Online Workshop Event Sessionize Event
DevOps Berlin (Online Edition)
Agile for Remote Teams
Team Rockstars IT
Winning as the Home Team
University of Louisville Developer Student Club
Playing with Fire workshop
AntarctiConf Tech Meetup
Talk: Serverless for Startups
AntarctiConf 2020 Sessionize Event
Devoxx Morocco
Playing with Fire : Build a Web Application with Firebase
Serverless Architecture Conference
Serverless for Startups
Playing with Fire : Build a Web Application with Firebase
DogFoodCon 2019 Sessionize Event
IndyGCP Meetup
Building a Web Application with Firebase
Code PaLOUsa 2019
Agile for Remote Teams
Serverless for Startups: Launching Apps Faster than Ever
Accessibility Basics
Develop Denver
Agile for Remote Teams
Private agile event hosted by GE
Agile for Remote Teams
Cincy Deliver
Leadership or Landmines? Paving the way for innovation
From Horror Story to Fairy Tale: Writing code people want to read
KCDC 2019 Sessionize Event
A Brief History of Code @ Cardinal Elementary School
AgileIndy Conference
Agile for Remote Teams
CodeStock 2019 Sessionize Event
Serverless Architecture Conference
Serverless for Startups,
Panel - Learning and Unlearning: How does 'Serverless' change the software development process?
CodeMash 2019 Sessionize Event
Code Camp Vegas
Stop Keeping the Lights On
Cream City Code
Real-World Serverless Architecture
dev up Conference 2018 Sessionize Event
Cincinnati Day of Agile and Cincy.Develop()
Better Names for Better Code
Agile for Remote Teams
KCDC 2018 Sessionize Event
Music City Tech 2018 Sessionize Event
Stir Trek 2018 Sessionize Event
Indy.Code()
How to Transition Leadership (without pissing off the team), Care and Feeding of Your Developers
Code PaLOUsa
Optimize for Readability
Dev Up
Introduction to Online Security, Playing With Fire: Firebase Workshop
Prairie.Code()
Developers are People Too, Introduction to Java Web Security
KCDC
Playing With Fire: Firebase Workshop, Java Web Security: Tools & Tips
Code PaLOUsa
Understanding Online Security, Playing With Fire: Firebase Workshop, Get Real! Build Real-Time Apps with Firebase, Stop Keeping the Lights On
Music City Code
Understanding Online Security
Indy.Code()
Playing with Fire: Firebase Workshop, Stop Keeping the Lights On
Indiana IT Symposium
Managing Distributed Teams
Code PaLOUsa
Java Web App Frameworks
Brownsburg CoWork
Understanding Online Security
Java User Group
Java Web App Frameworks
Java User Group
Security 101
Code PaLOUsa
Stop Keeping the Lights on
Java User Group
Robocode Workshop
Code PaLOUsa
Web & Database Load Testing with JMeter
Java User Group
Death of the Download
Java User Group
Web & Database Load Testing with JMeter
Code PaLOUsa
Production JVM
Java User Group
Production JVM
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top