2019 Schedule and Sessions

8:00am - 8:45am

Registration, Check-In, and Exhibits


Welcome to the conference! Park your car, and come on in! Meet us at the registration desk in the lobby and get checked in. We have a name badge, t-shirt, and swag bag for you!

Don't forget to visit our sponsors down the hall and say thank you!

8:45am - 10:00am

Leading Knowledge Workers

Tim Ottinger
Opening Keynote
Community Room

With the industrial age is largely past, most products are intellectual goods instead of physical goods. The world is full of people who labor with their brains rather than their muscles.

This brings new challenges:

  • How can we engage and ignite the curiosity and productivity of knowledge workers?

  • How can we make the most of what they bring to the table?

  • How to deal with the uncertainty inherent in modern product work?

  • How can we get out of their way?

  • How can we trust them to do what is right? 

Tim brings 4 decades of managing, leading, teaching, reading, and practice to help us answer these questions.

10:15am - 11:00am

Tour of a Type Safe Web Application

Jayshua Nelson

Programmers agree for the most part that type safety is a good thing. It helps catch bugs and improve long-term maintainability. However, it's not perfect. Typically type checking breaks down at the edges of the system. While the compiler of the server can guarantee certain things about the server itself, it can't promise anything about the data coming from the database. Similarly, changing the API of the server often leaves the client none the wiser. Join me on a tour of a web application that is type safe from top to bottom. When a column is changed in the database, or the server's API changes, compilers throughout the stack tell the programmer exactly what references need to be updated. Even CSS classes are type safe.

Create a multidimensional database with data driven hierarchies

Steven Fox

I will be demonstrating how to create a cube from scratch, designed for SQL Server Analysis Services using SQL Server Data Tools (SSDT). This session is mostly geared towards individuals that are new to using cubes or would like to learn more about cubes and how they can be leveraged. I will give specific attention to the different types of hierarchies that can be utilized. I will conclude with displaying several different techniques in querying the data.

Using containers to accelerate your projects

Juan Peredo

Using containers can significantly simplify and speed up the traditional development and maintenance of applications. From setting up a new environment to deployment and troubleshooting, containers allow managers and developers the flexibility required in out current fast-paced IT world.

Containers do however come with initial additional overhead at the start of the project and require some time to learn to use them effectively. As such, is your project a good candidate for using containers and reap their benefits?

This talk will help understand the nature of Docker containers, how to use them at each stage of the development process and will explore the conditions that make using containers viable.

Campfire Stories: Creating a Culture of Learning and Sharing

Matthew Gabavics

At my workplace, we have a fairly successful Developer Learning and Sharing group that meets every 2 weeks. We have been able to cover some very timely topics and with a good deal of depth in our learning. Regular attendance is over 50% of developers and growing. Also, this group now is seen as a primary resource for guiding some of our development processes.

We've definitely had some growing pains in getting to this point, and I'd like to share with you some of the tips that we found most successful to allow you to avoid some of the pain.

Some of the things covered will be :

  • How to build a solid core of members to steer the group.

  • How to focus meetings on relevant topics.

  • How to get volunteer presenters.

  • How to get buy-in from management.

  • How to effect organizational change from developers up.

THE MAIN EVENT. Agile vs the Plan!

Aaron Kremin, Michael Upright

We started last year with best practice of one backlog across all the teams. Get your enterprise to start recognizing that there can be only one number 1 so that if/when there is contention you have a true north.

One of our biggest ... concerns ... and its in just about every organization is ... How do you plan in an agile world? How do you set dates without fully knowing scope, velocity, etc? The business has commitments, blackout dates, communication requirements, possibly mandatory requirements etc etc. And I feel that if an organization begins to look away from agile its because it wants better plans (even though that is a false idol).

11:15am - 12:00pm

How to Balance Production Support and Innovative Solutions

Jason Bunn

Infrastructure and operations teams are often asked to wear two hats. First, they are asked to service the organization: manage tickets, solve incidents, provision servers, storage, and databases. Then, they are swept up into the "DevOps" culture and asked to innovate, create new solutions, design for the rapidly expanding public cloud ecosystem, etc.. These forces are often at odds with each other as they try to rebuild the car while being asked to keep it driving down the road. This talk will describe how our team at Sentry Insurance have applied various strategies to address this and provide recent data to show how a this group of talented DBAs manages to keep both solutions and support plates spinning.

Misconceptions in Application Security

Daniel Cronce, Alex Dexter

We will be talking about several critical misconceptions in application security. This talk will be going in depth into why these misconceptions are wrong and the risks associated with their implementation.

Game Design using Unity and Unreal Engine

Kate Kaster

I will talk about my Game Design course here at SPASH. I use both Unity and Unreal Engine, which are both industry standard programs. When coding VR games, we use the HTC Vive Headset to test/play our games.

Build Better APIs with GraphQL

Jack Smith

Have you ever made a request to an API that returns 20 data points to get the one value you needed?

Have you built pages that needed to make 10+ HTTP requests just to render correctly?

Have you ever resorted to scanning through your backend code to figure out how to call an API because the docs are out of date or non-existent?

GraphQL is an insanely powerful technology that can painlessly solve these problems and many more. We will explore how GraphQL works under the hood and see how we can leverage it to reduce headaches and ship on time.

Stress at Work: Changing the Narrative with Cognitive Therapy

Ross Larson

Everyone has stress at work. We can't make the stressful events go away, but we may be able to change how we think about them, and how we react to them.

In this session, you will learn about what Cognitive Behavioral Therapy is, and what it can do for you.

We will go over tips and tricks to deal with workplace stressors, big and small. I will share my experiences with workplace trauma and stress to give you some perspective.

You will leave this session with tools to handle your stress at work, helping you to handle situations that may have seemed impossible before.

Wagilefall - Introducing Agile Principles in a Waterfall Environment:

Leslie Malotky

This session will focus on how to introduce Agile delivery methods to an organization that has historically used traditional waterfall project management methods. A "big bang" change to how teams deliver may not get buy-in, but you can still improve your outcomes by using a hybrid approach as long as you are very intentional about which Agile practices you choose to implement.

1:30pm - 2:15pm

Proactive SQL Indexing - It's Easier Than You Think

Eric Buhrow

It never fails, your software works fine while you are developing, but once you release your program into the wild your customers complain that the new feature is super slow. You struggle to find the problem, you've micro-optimized the code, but queries that take milliseconds on your computer, take minutes for a customer. Then you realize, it's not the software that's slow, it's the database response. You failed to provide appropriate indexes for your tables, but how could you have known?

The truth is that reactive table indexing is something the every developer working with databases has to deal with at some point, but what if you could improve your users' experience by being proactive about your indexing?

This session will focus on T-SQL indexing, providing a basic overview of index structures, and provide simple, easy-to-remember tips for proactively creating SQL indexes that will improve your users' experience.

Mixed Reality World with Hololens

Harpreet Gill

I will talk about creating a HoloLens app using Mixed Reality Starter Kit written by Children's Mercy. This session will show how we can take an MRI image and quickly convert into a Mixed Reality app. This demo will include setting up Unity for HoloLens development, creating HoloLens app and deploying app to HoloLens. This talk will show the difference between viewing 3D image on a 2D screen vs in HoloLens. Mixed Reality Starter Kit is open source and can be used to view many more 3D renderings.


Anti-patterns to overcome while introducing DevOps to a traditional waterfall Enterprise

Gautham Pallapa

DevOps methodologies are extremely beneficial to organizations to reduce the mean time to market along with the impact of implementation failures and introduces capabilities for lean experimentation and faster innovation cycles. While this is an easy switch for organizations that have adopted agility and have predominantly greenfield applications, there are huge challenges in championing this paradigm shift at enterprises that have traditionally had waterfall development as a manifestation of their silos.

In this session, I share the struggle and journey that we faced in my prior organization and how we successfully not only introduced DevOps but also gathered momentum to make it the new norm. I will share some of our failures, and experiments that we ran, along with validated learning that we gained along our journey.

SQL Server Design and Best Use Practices - or How to Avoid Database-zilla

Krista Olson

As a developer you have been given the power to create databases, but do you know the best practices for design? In this session we will cover some of the common design pitfalls, bad practices, and considerations to improve your database design to make it fly. If you have had issues with slow performance, scale out, or the CPU or memory consuming Database-zilla in your enterprise, this session is for you. This session is designed with tips and tricks from DBA's who have seen the worst in design and query practices, and want you to have a happy humming database.

Web Design, Development, and Effective Collaboration for a Successful End Project

Emily Wiedoff, Kyle Arthurs

I will be talking about trending web design topics, my fellow presenter will be talking about web development and providing some examples of work. Then we will talk about how we collaborate as a team in a work environment for a successful end product

Testability in .NET

Jason Bock

Unit testing is a mature concept. The software development community as a whole has embraced the idea and encourages other developers to write tests. However, there's still a substantial amount of code out there that isn't being tested. Even if tests are being written, developers may not understand how to write them effectively or know how specific test-related frameworks work. In this session, you'll dive deep into unit testing in .NET. I'll cover different testing frameworks and their specific capabilities, what mock objects provide, and why you should use assertion frameworks. I'll also provide guidance for writing effective unit tests.

2:30pm - 3:15pm

How a Portfolio Project Turned into A Mobile App Startup

Michael Bridgeforth

I'll be sharing how an idea went from a napkin sketch to launching two apps in 3 years with a 100% remote team. We'll explore the user experience and development process we used to build our app. I’ll share what I think an ideal tech startup team looks like. I'll also be sharing tools and tips of the trade. This talk will be from my perspective as a Product Designer so there won't be any in-depth talks about frameworks or APIs. Either way, it will be a fun talk about design and developing mobile apps.

Cloud Cost Management: Why it's a Technical Role and Why You Should Care

Amy Ashby

This session will cover various topics and strategies around the technical side of cost management in the cloud. The session will focus on the AWS cloud platform, but general concepts can be applied to other platforms. Below is a high-level outline of topics to be covered:

  • The importance of tagging and using multiple tags to zero in on the exact source of cost event, along with automation of tagging

  • Managing costs on resources that are not created/tagged by automation

  • How cost trends can be a symptom of a bigger problem

  • Choosing the right solution/architecture and how cost should be a factored into consideration

  • Auto-scaling

  • EC2: Windows vs. Linux costs

  • Right-sizing and metrics can save you thousands

  • Reserved, Spot and Scheduled Instances: a closer look at what's possible and challenges you may encounter

  • Automation of putting resources to sleep or terminating them when not in use

  • Differences between your development, staging and production environments and how that affects cost

  • Cost savings for simply moving to new generations (EC2, RDS, Elasticache)

  • Retention strategy around backups: the bigger, the more expensive

  • Containerization (AWS ECS): instance right-sizing for the load, CPU units, hard memory limit, bin packing task placement strategies, scaling a container up vs. scaling the container count out - how these all impact cost

  • Reporting and alerting on trends

  • Static costs vs. on-demand vs. variable costs and considerations

I Don't Care About Security (And Neither Should You)

Joel Lord

Remember when setting up a login page was easy? It seems like nowadays it can take weeks to start a project--creating a signup form, a login form, a password recovery screen, and all the validation in between. And you haven’t even started on security considerations yet. During this presentation, the attendees will be introduced to OpenID Connect and OAuth. They will also learn how to leverage these technologies to create more secure applications. Most importantly, they will learn how to delegate authorization and authentication so they can focus on their real work and forget about all that security stuff.

CSS and Performance

Shodipo Ayomide

In this talk, we are going to be looking at all of the different ways CSS can make our websites faster or slower. From the common mistakes and improvements and perhaps more obvious to the unusual and obscure ways in which CSS can impact performance for better or worse.

The Case for Craftsmanship

Dustin Ewers

Have you ever had to justify a modern development practice to a manager or team lead, only to get dismissed because you lack the right argument?

I've had the following conversations far too often:

Timid Developer: “I’d like to do unit tests on my project, but my boss said we don't have enough time.”

Beleaguered Developer: “I’d like to adopt modern development practices at my organization, but we’re not a software company, so we can’t adopt the latest practices.”

Obstinate Developer: “Why should we adopt <insert modern development practice>? Why can’t we just do it the old way?”

Fortunately, the science is in, and it supports modern practices. We no longer need to rely on anecdotes and guesswork to make the case for craftsmanship.

In this talk, you'll learn how to make a case for modern development practices. You'll learn which development practices produce measurable improvements in business effectiveness. Then you'll learn how to communicate those benefits to others. After you leave this talk, you'll have the tools to connect modern practices to business outcomes and convince your boss to modernize.

Azure Spatial Anchors: Making Shared Mixed Reality Across Devices (Hololens, iOS & Android)

Lance Larsen

Azure Spatial Anchors is a cross-platform developer service that allows you to create mixed reality experiences using objects that persist their location across devices over time.

This enables developers to build apps that map, designate and recall precise points of interest that are accessible across HoloLens, iOS and Android devices. It allows people in the same place to participate in multi-user mixed reality applications.

For example, two people can start a game of mixed reality chess by placing a virtual chess board on a table. Then, by pointing their device at the table, they can view and interact with the virtual chess board together. One of the people can use an iPhone while the other can use an Android device.

We'll explore the exciting new Mixed Reality world where Visual Studio + Unity makes these amazing cross-device immersive experiences the Reality possible today!

Interested in being the employee or consultant that becomes the go-to guy or gal that Enterprises look to for leading these projects? Or starting your own company working on this future focused technology?

Join Lance Larsen (Microsoft MVP) and organizer of MADdotNET (Madison's .NET User Community) in building the skills you will need for the growing global Augmented, Virtual and Mixed Reality Markets that are projected to reach $814.7 Billion By 2025.

3:30pm - 4:30pm

Maximize Professional Growth By Doing Scary Things

Steven Hicks
Closing Keynote
Community Room

If it wasn’t for fear, we’d all have been eaten by saber-toothed tigers when we wandered too far from our caves.

But fear has lost its value. Fear now spends less time saving our lives, and more time preventing us from realizing our goals. In this session, we’ll ask some questions about the nature of fear. What do we fear? Why do we fear it? Are there benefits to fear?

We’ll then look in unusual places - the outdoors, the gym, the comedy club - in search of strategies for overcoming fear. We’ll talk about how doing things that scare you leads to incredible personal growth.