Most Active Speaker

Dan Mallott

Dan Mallott

Senior Principal @ West Monroe

Chicago, Illinois, United States

Actions

Dan Mallott is a Senior Principal at West Monroe based in Chicago, IL, USA. His passion is for distributed architecture, designing and building high performing service layers from the API down to the database.

Prior to returning to West Monroe, Dan spent two years at e-conomic in Copenhagen, Denmark, with the final 15 months as Head of Platform and Infrastructure. Dan was responsible for leading the Platform, SRE, and API teams in building a solid foundation for the e-conomic product. Previously, Dan was focused on leading the Platform Team in improving the cross-cutting concerns in the e-conomic application, including improving security, improving messaging performance, and managing the migration to .NET 6.0.

Before joining e-conomic, Dan was a Senior Principal for West Monroe, based in Chicago, IL, USA. While at West Monroe, Dan's projects included designing high performing architectures for a variety of clients, as well as developing APIs and UIs for healthcare, insurance, and financial services clients. Along the way, Dan worked with .NET Framework, .NET Core, Java/Spring Boot, React, and Angular. He also gained experience with a number of database technologies, including DataStax, Cassandra, Microsoft SQL Server, Oracle, and PostgreSQL. Prior to joining West Monroe, Dan worked for a number of companies, focusing on .NET and Microsoft SQL Server development, including experience as a DBA.

Past speaking engagements have included PASS Summit, NDC London, NDC Melbourne, NDC Sydney, KCDC, Code PaLOUsa, and numerous SQL Saturdays throughout the US. Dan enjoys speaking at both large and small conferences, and values the interactions he gets with attendees and other speakers.

In his spare time, he can be found writing his own software instead of using package solutions or on the ice as an ice hockey player and referee.

Awards

  • Most Active Speaker 2023
  • Most Active Speaker 2022

Area of Expertise

  • Finance & Banking
  • Health & Medical

Topics

  • sql server
  • dotnet core
  • Kafka
  • Apache Cassandra
  • Dot NET Core
  • dotNet
  • Entity Framework

Unit Testing Your Transactional Database

We all have business logic in our databases, whether simple foreign keys, unique constraints, or default constraints, or more complex stored procedures, functions, or views. However, we often do not test that business logic outside of the initial development, when we test as we write. Unlike our application development brethren, we database developers do not have a tradition of continuous testing, or easy to reach for tools to help us on the journey.

Join this session to learn what unit testing is, how to unit test T-SQL code, and how to ensure the most important part - that the tests are run frequently. You will learn how to safely test T-SQL and how to use tSQLt to automate repetitive setup steps. You will learn how to structure database code to be more easily testable. Finally, we will review how to integrate our unit tests into the CI/CD pipeline to ensure our tests are run regularly. Database code can suffer from unexpected bugs when others change column names, table names, or even database settings, but we can insulate ourselves from some of those issues by unit testing!

ORMs and the DBA: How to Make Both Happy

DBAs lose sleep over ORMs touching their databases. Developers lose sleep thinking about using stored procedures. Is there a middle ground? Yes! I’ll introduce techniques and tools in .NET that let developers use ORMs while keeping the DBA happy.

Talk to any DBA about ORMs and you’ll quickly find out all the things you like about ORMs are what DBAs don’t like. Interestingly enough, most developers I’ve talked to have issues with their ORMs, too. In this session, we’ll explore why ORMs cause such trouble using examples of bad behavior and poor performance with common application patterns. I’ll outline some strategies for mitigating those troubles such as making sure to audit the generated SQL and changing how we write application code to take advantage of how ORMs attack problems under the hood. Lastly, I’ll introduce some tools (and even yet another ORM) that help solve some of the worst of the problems we see in the database when using ORMs.

How To Move Across the World and Lead a Team Without Losing Your Mind

Have you dreamed of moving to a different country? Experiencing life in a different place with different priorities? But what about making money, actually living, and the day-to-day that you take for granted in your current life.

In this talk, I'll reflect on my journey from the US to Denmark. I'll start with the planning, talk through finding a job (pro tip: networking is very important), and give an overview on the moving process. Next, we'll talk about how to settle in to a new role and a new country at the same time. Lastly, I'll talk about the strategies I've used to help assimilate and to address homesickness.

Is moving to another country a dream? Yes, and it can be a reality, too!

High Concurrency Table Hijinks

Do you have a high concurrency table? Something being used as a queue for your application or to track processing of data? This is a surprisingly common case in many large applications!

Come learn how we diagnosed (and solved) performance problems with a high concurrency table on software that serves 170,000+ customers! You'll learn what we did, how tracing and logging helped, and how we held a blameless post-mortem after the initial incident. While every challenge with high concurrency is different, the strategies for tackling it are similar.

Let's Get Scary and Continuously Deploy Database Changes!

Continuous deployment of our applications is easy! To roll back, all we have to do is just redeploy our old code and everything works again. Our application developers have been practicing these methods for years (even before the advent of automated CI/CD).

But...databases are much scarier - how do we undo data changes? What if we dropped (or shrank) a column? How do we handle downtime? Do we actually trust our application developers?

In this talk, we will discuss how to successfully automate database deploys as part of a CI/CD pipeline. We will address some of the stickier questions above, like how to handle data type changes and how to remove columns without losing access to the data. We will discuss automated testing in brief, and how it can help us avoid some of the messier problems. And lastly, we will showcase how to roll forward using both state-based and migration-based tools like SSDT or Flyway. We will use Azure for most examples, and the concepts will apply to (almost) any platform.

Testing! We're Talking About (Unit) Testing...Your Database!

Do you have business logic in your database? Is it tested? Do your developers look down their noses at your antiquated practices? If any of these are true, this session may be for you. In it, we will explore the different ways to test your database code without affecting your production database (or data). We will start with the basics of test case setup, followed by manual testing methods, and finish out with talking through tSQLt and how we can use it to automate our unit testing.

Entity Framework (Core) Unchained: Getting the Best Performance from Your ORM

Entity Framework makes data access in .NET applications as easy as defining some classes, adding a connection string, and writing some LINQ statements. But listen to developers and database administrators and you will find that taking the naive approach leads to poor performance, bloated databases, elaborate workarounds, and general dissatisfaction with the technology.

It doesn't have to be this way! Behind the simple facade, Entity Framework gives us multiple options for tuning our data access and improving performance. In this talk, you will learn configuration options and access patterns that can help improve performance. You will also learn what features in Entity Framework to use judiciously or avoid entirely. Next, you will learn some strategies for structuring your database in ways that both improve performance and simplify your application code. Lastly, you will learn some tipping points about when you should discard Entity Framework entirely.

SSDT, Docker, and (Azure) DevOps: How to Make Your Database Builds a First Class CI/CD Citizen

Your application developers benefit from Continuous Integration and Continuous Deployment practices to accelerate feature deployment and catch regression issues up front, but your database deployments are still stuck in the proverbial dark ages. The build scripts might be in source control or even an SSDT project already, but deploying is still an exercise in creating the perfect script, and don't even think about making a data (or data type) change!

SSDT and Azure DevOps can solve some of these problems, and even give us a window into the world of automated testing. In this talk, we will explore how to automate your database builds and deployments using SSDT and Azure DevOps, and we will explore automated testing using tSQLt and Docker. Lastly, we will check up on some tasks that you cannot (or should not) automate and talk about how to make sure your application developers are not left behind.

"What Do I Do? How Do I Do That?": Mentoring Junior Developers Into Productive Team Members

How do we make sure the Junior Developers on our teams contribute positively? How do we guide them into becoming the best developers they can be? Managing people can be hard, but I'll outline strategies to help mentor new developers while teaching them to be independent, positive contributors in any circumstance. Along the way, we'll talk about learning styles, the need to be open to any questions and how and when to explain versus when to simply say "you'll have to trust me for now."

These skills can be applicable in any project style or language, but we'll use Agile methodology and .NET languages for real life project examples.

CANCELLED - Cleveland Data Rocks '25 Sessionize Event Upcoming

February 2025 Elyria, Ohio, United States

NDC Porto 2024 Sessionize Event

October 2024 Porto, Portugal

SQLSaturday - Minnesota 2024 Sessionize Event

September 2024 Saint Paul, Minnesota, United States

Data Saturday Stockholm 2024 Sessionize Event

May 2024 Solna, Sweden

Update Conference Prague 2023 Sessionize Event

November 2023 Prague, Czechia

NDC Porto 2023 Sessionize Event

October 2023 Porto, Portugal

SQL Konferenz 2023 Sessionize Event

September 2023 Hanau am Main, Germany

Data Saturday Oslo 2023 Sessionize Event

September 2023 Oslo, Norway

Data Saturday Gothenburg 2023 Sessionize Event

August 2023 Göteborg, Sweden

DevBcn 2023 Sessionize Event

July 2023 L'Hospitalet de Llobregat, Spain

KCDC 2023 Sessionize Event

June 2023 Kansas City, Missouri, United States

Data Saturday Croatia 2023 Sessionize Event

June 2023 Zagreb, Croatia

NDC Oslo 2023 Sessionize Event

May 2023 Oslo, Norway

Data Saturday Stockholm 2023 Sessionize Event

May 2023 Stockholm, Sweden

SQLDay 2023 Sessionize Event

May 2023 Wrocław, Poland

DATA:Scotland 2022 Sessionize Event

September 2022 Glasgow, United Kingdom

Code PaLOUsa 2022 Sessionize Event

August 2022 Louisville, Kentucky, United States

KCDC 2022 Sessionize Event

August 2022 Kansas City, Missouri, United States

Beer City Code 2022 Sessionize Event

August 2022 Grand Rapids, Michigan, United States

NDC Melbourne 2022 Sessionize Event

June 2022 Melbourne, Australia

dev up 2022 Sessionize Event

June 2022 St. Louis, Missouri, United States

NDC London 2022 Sessionize Event

May 2022 London, United Kingdom

SQLBits 2022 Sessionize Event

March 2022 London, United Kingdom

Update Conference Prague 2021 Sessionize Event

November 2021 Prague, Czechia

KCDC 2021 Sessionize Event

September 2021 Kansas City, Missouri, United States

Developer Week '21 Sessionize Event

June 2021 Nürnberg, Germany

NDC Sydney 2020 Sessionize Event

October 2020 Sydney, Australia

DeveloperWeek 2020 Sessionize Event

February 2020 Oakland, California, United States

Code Camp NYC 2019 Sessionize Event

October 2019 New York City, New York, United States

Raleigh Code Camp 2019 Sessionize Event

October 2019 Raleigh, North Carolina, United States

NDC Sydney 2018 Sessionize Event

September 2018 Sydney, Australia

Dan Mallott

Senior Principal @ West Monroe

Chicago, Illinois, United States

Actions

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