Schedule

Check In & Breakfast - 7:30 - 8:30

Check-In

Check in for a great day of learning and networking.

Keynote - 8:30 - 9:45

What Should I Learn Next? A Playbook for Strategic Technology Skill Acquisition

learning
personal growth

Cory House

Woodland Dreams Ballroom

Today, more than ever, we’re overwhelmed with a seemingly endless list of technologies to consider. Frameworks, libraries, and even languages come and go at such a furious pace that no individual can possibly keep up. So how do you determine if a technology is worth learning? What should you ignore? When do you stand your ground on a declining technology? Does it make sense to stay cutting-edge, or is there wisdom is being a strategic laggard? What we need is a game plan. So in this session, we’ll build a critical expertise for developers: Skill selection. We’ll consider the key metrics, job statistics, market conditions, and lifestyles that should drive your decisions. You’ll walk away with a mental framework for technology skill selection and a clear vision of the values that should drive your future decisions.

Session 1 - 10:00 - 10:50

When to Build & When to Deploy: Project Management Lessons from Scythe

agile
leadership
teams

Jackie Michl

Clarity

Scythe is an incredibly complex game with several moving parts that you track and progress diligently throughout play. To be successful, you need to manage your time and resources wisely.

This unique talk dives into a handful of strategies for achieving victory in Scythe that also have uncanny parallels to managing software development IRL.

Attendees of all backgrounds will walk away with useful task, team, and time management tidbits that are effective in agile environments. (They’ll also have a strong desire to pick up a modern board game. Wallets be warned.)

Branching out with Elm: FUNctional programming for your frontend toolkit

javascript
web

Lauren Beatty

Prosperity

Elm is a functional language that compiles to JavaScript. While functional programming can feel and sound intimidating, Elm creators and maintainers have made it a priority from the beginning to make it easy and fun to get started. Elm offers so many benefits:

  1. Clear, helpful documentation and a thorough get-started guide.
  2. Amazing tooling. Elm’s compiler offers the world’s most helpful error messaging. Really.
  3. No run-time errors!
  4. Clear architecture that makes it easy to maintain structure as your app grows.
  5. A wonderful, supportive and inclusive community.

Understanding Elm’s Architecture is a GREAT way to gain deeper understanding of JavaScript and React (for me, studying Elm was the key to my understanding React).

In this talk, I’ll offer an introduction to Elm. We’ll play in the Elm REPL to go over key concepts of the core language (values, functions and tuples...oh my!), and go over the Elm Architecture. Then we’ll walk step-by-step through installing and building a simple user interface with Elm, and see how fearless refactoring in Elm can be!

Real-World Serverless Architecture

architecture
cloud
serverless

Michael Dowden

Serenity

We often hear about new architectures and paradigms in terms of high-level conversations or generic demo applications. In this talk I’m going to share the technical details of a real-world serverless architecture used by my parking startup, FlexePark.

Building on Google Firebase makes it possible to scale to 100,000 concurrent users with confidence, knowing that costs and revenue grow together. Development is both fast and fun, allowing you to focus on your core application.

Come see serverless architecture in action and learn how to:

  • Launch an app quickly
  • Add features orthogonally
  • Integrate with 3rd party apps in minutes
  • Control operating costs

Protecting App Secrets with .NET Core and Azure

.net
cloud
security

Scott Addie

Inspire

Remember the last time you stored an API key or password in plain text in a config file? To make matters worse, that config file made its way into source control too. Now the entire development team knows your sensitive information. How does one improve upon this in an ASP.NET Core app?

In this session, I’ll introduce you to the .NET Core CLI’s Secret Manager tool and the Azure Key Vault. You’ll learn the role each tool plays in the development lifecycle of an ASP.NET Core app. Along the way, we’ll improve a sample app riddled with secrets handling anti-patterns.

Is Kotlin Right For You?

java

Todd Ginsberg

Progress

Developed by JetBrains, Kotlin has been catching on lately because of its null safety guarantees, functional nature, type inference, full interoperability with Java, cross-platform support, and ease of use with Android and Spring. Is this something you and your team should considering spending time to learn?

In this session we will go over what Kotlin is, what problems it solves, and what makes it stand out from other JVM languages. You’ll come away with enough knowledge to decide if this is something you and your team should consider adopting.

Overview of .NET Development options on AWS

.net
cloud

Brian Lewis

Harmony

In the world of cloud today, it is difficult to keep abreast of all the tools and frameworks available for developers. In this session we will take a look at the different options available to all developers on AWS with a specific focus on how it works for the .Net developer. We will cover technologies that make it faster and easier to build and maintain your programs covering managed virtual machines, managed databases, containers, serverless technologies, and more. Come join the fun and see if there is a service that we offer at AWS that can make your work life easier.

Session 2 - 11:05 - 11:55

How Insightful! Grok Your ASP.NET Core Web Apps with Application Insights

.net
cloud
diagnostics

Cam Soper

Harmony

You know the feeling. An executive sends that email that your web application's performance is costing sales. All hands on deck! Fix it now! Your future is now hours poring over log files, days guessing where the bottleneck is. You hope for success with each new deployment. There's a different path. Application Insights to the rescue!  Instrument your app with Application Insights to get a deep look into the performance profile of your on-premise or Azure-hosted app. Prevent bottlenecks before you get that "all hands on deck" email.

You will learn:

  • What telemetry Application Insights collects automatically
  • How to instrument your ASP.NET Core application with custom events and metrics
  • How to view and analyze the telemetry using Azure's powerful tools

A Tale of Two Teams

agile
leadership
teams

Dana Jones

Inspire

Our team is made up of a real mixed bag of developers and product managers.

  • Our company is based in New York, but most engineers work remotely.
  • We have developers on staff that have a range of experience levels.
  • Our team includes people in four time zones and two continents.
  • Teams include an assortment of staff engineers and contractors.
  • We run the gamut from chatty and extroverted to quiet and introverted.
  • The nature of the work on each team is very different -- from a long-overdue Rails upgrade, to incorporating internationalization, to addressing bugs and adding features.

One size does not fit all! It became quickly apparent to us that we needed to adapt our meetings to our people. Everything from scheduling, structure, leadership, and goals for each meeting needed to be carefully considered to add cohesion and remove distraction.

This talk will:

  • distill what we learned along the way,
  • share tips for recognizing meetings that have lost their purpose,
  • offer suggestions for different types of retrospectives to fit different teams,
  • propose a checklist for sprint kickoffs, and hopefully
  • ignite more conversation around adapting processes to people instead of the other way around.

Our team works primarily in Ruby on Rails, but the information I want to share applies to any development team, working in any tech stack.

The Internet of JavaScripty Things: Control Hardware with Web Bluetooth

code is fun
iot
javascript

Matt Steele

Serenity

After a late-night eBay bender, you've acquired a cornucopia of Bluetooth-enabled gizmos: heart rate monitors, BBQ thermometers, light bulbs. As you stare at them your mind races: now what? In this talk we'll check out the Web Bluetooth API, a new way to control physical devices from your browser. We'll see how to build webapps that react to Bluetooth inputs, how to reverse engineer strange ArrayBuffer streams, and how to power your conference slide deck with a bicycle. Eesh, I hope that last demo doesn't fail.

Mastering Your Work

learning
personal growth

Matthew Schladweiler

Clarity

We have all met superstar Software Engineers and Developers. They work just over 40 hours a week, but get nearly twice as many PBI's done as everyone else, seemingly always have a solution to every problem, and have such high code quality that it's almost impossible to find a fault in their logic. Yet, when we try to follow in their footsteps, we end up with 60 hour work weeks, hair loss and broken keyboards. What do they do that is different from everyone else?

We'll take a look at how these superstars work. We'll dive into their mindsets and see how they optimize for learning, prioritize tasks, do less and obsess in ways that make them have passion and purpose to allow them to not only excel, but have less stress and be happier in a field that is overburdened by burnout, impostor syndrome, and bad work-life balance.

The Web is For Everyone: Getting Started with Accessibility

accessibility
users

William Springer

Prosperity

It is now a given - or at least, it should be - that our work should be accessible to as wide an audience as possible. Too often, though, this isn't the case; either because developers don't know how to make our work accessible or because we don't know how to make a business case for investing time in accessibility.

A large percentage of the population will have a disability at some point in their lives. For some, this will be a permanent disability, such as someone losing his sight. For others, it will be temporary, such as someone unable to make finely controlled mouse movements due to an injured wrist. It may even be very temporary - the person who can't read an important document because it doesn't display correctly on her smartphone. By following best practices for accessibility, we can allow people who would otherwise be locked out of our websites to use them effectively, while also improving usability for the majority of the audience who do not actually identify as disabled.

This talk covers both general design principles to follow and some specific technical changes to make when coding.

Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level With Triggers

serverless

Blake Schoppa

Progress

MongoDB Stitch is a serverless platform designed to help you easily and securely build an application on top of MongoDB Atlas. It lets developers focus on building applications rather than on managing data manipulation code, service integration, or backend infrastructure. MongoDB Stitch also makes it simple to respond to backend changes immediately, allowing you to simplify client side code and build complex flows more easily. This talk will cover ways that MongoDB Stitch helps you respond to changes in your database and take your applications to the next level.

Lunch - 11:55 - 12:55

Lunch & Networking

Woodland Dreams Ballroom

Grab a plate of food and meet some people you don't know!

Session 3 - 12:55 - 1:45

Usability Testing for Developers Ballin' on a Budget of $0

teams
users
ux

Ashley Dzick

Inspire

According to Human Factors International, “an estimated 50% of dev rework could have been avoided with usability testing.” Usability testing is an inexpensive, quick and iterative way to get meaningful feedback around product decisions before they make it to the coding stage. It’s easy enough to execute that anyone can do it. We'll walk through a very quick introduction, how to test (even on a budget of $0), and run through some successful case studies.

    Attend this talk if you:
  • Are looking to gather meaningful feedback
  • Develop front-end facing applications
  • Work alongside a UX team
  • Are just interested in learning more

The Microservice Manifesto

architecture
microservices

Chase Aucoin

Serenity

Microservices have been a hot-button topic for a few years, but what are they, why would I need them, and how will they help me? The Microservice Manifesto sets out to put forward an opinionated but dogma-free approach to bringing Microservices into your organization regardless of language or technology stack that will help you get products delivered faster, more securely, and error free.

I've helped fortune 50-500 companies in the US and large organizations all over the globe tackle some of the worlds hardest challenges and get the most out of their software development life-cycle using Microservices. So you'll learn the do's and don'ts that will make you more successful with your Microservice implementations.

What's New In C#

.NET
csharp
languages

David Pine

Prosperity

The C# language team has been making some awesome improvements. In March 2017, we were given C# 7. This major release brought some powerful features such as: pattern-matching, tuple literals/deconstruction, and local functions to name a few. Since then the team introduced the notion of point releases. Expect to learn about all the features of C# 7, as well as the C# 7.1 and 7.2 point releases. Additionally, we'll take a look at the plan for C# 8.

Azure SQL Database Performance Tuning

cloud
database
performance

Jes Borland

Progress

When using Azure SQL Database, you're paying for performance. In this session, you'll learn what tools and techniques are now available to help you be cost-effective. You'll see how to use features such as scaling, in-memory OLTP, and columnstore to minimize query run times and optimize resource use. Query Performance Insight and Automatic Tuning will be covered so you know how to monitor your environment and automate tuning. You'll be ready to get the most performance for the least amount of money from SQL Database.

Git it Done: Effective Feature Development

source control
teams

Kyle Welch

Harmony

Source control can easily be seen as only a caretaker for history and has so much more power that can be leveraged to increase productivity.

Throughout this session we will cover basics of git such as branches, commits, and remotes. Building from this base knowledge we will explore real world patterns that have helped teams be more productive. The journey will continue with us exploring how to extend git using tools like GitHub and TravisCI that can be used to create reviews, validate commits, and foster collaboration.

You will leave with a solid knowledge of git and the understanding of ways to integrate it into your flow.

Modeling Beauty - How to Teach Machines to Recognize and Classify Aesthetics

ai
machine learning

Rachael Ferguson

Clarity

Machine learning may be a hot topic in the tech industry currently, but what exactly does it represent and what can it be used for? This talk will explain ML in an approachable, easy to grasp way applied to an interesting concept. Can we determine abstract concepts like beauty using machine learning? What is the appeal of being able to do so? Does it make a machine more human? Or does it expose the human experience as a list of 1s and 0s?

This talk explores these questions and concerns in regards to applying machine learning to classically artistic pursuits. Participants will first be exposed to an overview of the breadth of human-defined beauty. Then, they will be able to examine a convolutional neural network model, pre-trained on labelled images, defined using Python and TensorFlow, and judge its ability to determine aesthetic merit for input images.

The goal of this talk is to encourage clamor, creativity, and care surrounding machine learning.

Session 4 - 2:00 - 2:50

Entity Framework Core in the Real World

.net
database

Adam Kerr

Harmony

EF Core makes it easy to quickly stand up a data store for your application. As the application grows in complexity, though, it's important that the data store also evolves. This session goes beyond setting up basic tables, and moves into the depths of EF Core. We'll cover real-world lessons and their applications, like:

  • Using scoping to control memory usage
  • Dependency injection best practices - do it the way Microsoft does!
  • Using change tracking (or not using it) for auditing and performance
  • Using inheritance and reflection to generate a consistent schema
  • Thinking about how LINQ queries are translated to SQL
  • Cool tricks like Global Filters

The Saboteur in Your Retrospectives: How Your Brain Works Against You

agile
personal growth
teams

Arthur Doler

Serenity

You’ve bought into the Agile process. Your team is grooming its backlog, keeping its work-in-progress low, and focusing on delivering value to the users. But when you all sit down for a retrospective, there’s something working against you - your own brains. Using unconscious shortcuts and hidden heuristics, they can lead your team down a path to the worst result possible: wasting time!

You don’t have to take that lying down - you can fight back! Come learn about how your brain interprets cause and effect, the ways in which it wants to think of things as narratives, and all the tricks it does to save itself from having to think. You’ll learn how to maximize your time as we cover ways to focus your retros on what matters, talk about how to avoid getting trapped in the blame game, and discuss the value of perspectives.

I Can't See: Low Vision A11Y & Users.

accessibility
users
web

Chris DeMars

Progress

When you think of low vision, what comes to mind? A user that is near sighted? How about far sighted? Maybe partially blind? These are all qualifying cases of poor vision, but low vision is more complicated than the prescription of glasses or contacts.

According to the World Health Organization, they categorize low vision based on specific levels of visual acuity and field of vision (W3.org, 2016). With that in mind, we as developers can look at different categories of low vision including color vision, visual acuity, contrast sensitivity, etc and make an effort to bake in things like zoom, non-conflicting colors, and re-wrapping of columns in to our code.

My talk will cover what vision accessibility is, different categories of low vision, what the needs of the users are, and what we as developers can do to achieve a great user experience for low vision users.

Using our powers for good: Tech and social impact

community
personal growth

Hilary Stohs-Krause

Prosperity

Want to make an impact in your community, but don't know how, or feel like you don't have time?

You're not alone. Luckily, there are a number of ways you can use your tech-industry skills to create positive change in your community - and yourself! (Fun fact: volunteers live longer and make more money than those who don't volunteer.)

In this talk, we'll look at the why's, the how's, and the where's for sharing our skills. You'll learn more about the breadth of ways to give back - both technical and non-technical - and hopefully leave feeling empowered to reach out in your own community and start making connections.

Distributed Data Science (At Scale): Machine Learning Models on IoT and Cloud

cloud
data
machine learning

Marina Malaguti

Clarity

The Digital Universe. Comprised of data not only coming from people but also from “things”, will reach 44 zettabytes, or 44 trillion gigabytes by 2020. Trying to make sense of all these data will be practically impossible. Also, only ~20% of the information in the digital universe would be a candidate for analysis. So how can your organization effectively identify only the data needed for analysis? Should you move it all in the cloud and hope that technology will always get better, faster, cheaper? What about processing, operating and storage costs of these data? What would your organization do with the rest of the data unused? Distributed Data Science is a hybrid solution that involves executing Machine Learning algorithms on IoT (EDGE Computing) and in the Cloud.

In this talk, we’ll explore how Distributed Data Science can help solve the ‘Big Data’ problems in the Digital Universe and help your organization extract value from the data.

Modernizing legacy .NET applications with containers

.net
containers

Thorr Giddings

Inspire

This will be a discussion on containerization, how .Net applications can run inside containers, why you might want to containerize an application and how to deploy a .Net application in a container on AWS.

Session 5 - 3:05 - 3:55

An Introduction to Artificial Neural Networks

ai
machine learning

Cameron Vetter

Serenity

Do you want to predict customer behavior?  Evaluate the content of a photo or sound? Detect Fraud? Feed usage data back into your algorithms to improve them automatically? All of these things are being done today using Neural Networks for Machine Learning. 

This talk will cover the technologies used to create Neural Networks and give an introduction to the basics of why they work, the different types, and how they are being applied to today's business problems. The topics covered include:

  • Artificial Neural Networks
  • Convolutional Neural Networks
  • Self Organizing Maps
  • Recurrent Neural Networks
  • Boltzmann Machines

You'll leave with an understanding of Neural Network terminology and basic concepts, and understand how these neural networks can be applied to real world problems.

TARGET AUDIENCE: Anyone interested in driving innovation

How non-violent communication can help keep the peace on your team.

communication
personal growth
teams

Casie Siekman

Inspire

Nonviolent Communication is based on the idea that all human beings have the capacity for compassion and only resort to violence or behavior that harms others when they don't recognize more effective strategies for meeting needs.

Especially in our technological industry, there are many chances for miscommunication which can lead to all parties feeling dissatisfied. Unspoken expectations, ignored feelings and accusatory or aggressive language can bring an otherwise productive team to a halt. This presentation will show you how to be aware of yourself and how your actions affect others, and how to deal with and understand others that may be negatively affecting you.

Shields Up! A Developer's Guide to Protecting Your Data Inside of SQL Server

database
security

David Berry

Harmony

Almost every week, we hear about another major data breach in the news. As a result, each of us has to become more security conscious about how we design and build systems. Nowhere is this more important than when we talk about protecting our application’s data. As developers, we need to take an active role in building our applications with a security first mindset, and this includes the database.

In this talk, we’ll understand how data compromises can occur and some of the features built into SQL Server you can use to defend against them. This includes how to properly setup users and roles in your database to follow the principle of least privilege. I will then show how to encrypt connections between your application and SQL Server. We’ll discuss how to encrypt data stored in your database and wrap up by talking about how to mask sensitive data. We’ll do all of this from a developer’s point of view so you can understand in pragmatic terms how to interact with SQL Server more securely.

Today, security is everyone’s responsibility. When finished with this session, you will have a list of practical steps you can implement to make your applications data in SQL Server more secure and you will be better positioned to work with you security engineers and DBA’s to build secure applications.

End to End Testing with Nightwatch.js

javascript
testing
web

Jeff Holland

Progress

How is your testing plan? What feedback to you get with each pull request? How confident are you that your code changes won’t have unexpected consequences?

In this talk we will discuss Nightwatch.js, an end to end testing platform that allows you to write Javascript tests against a standalone selenium server. We will start with some very simple tests and move up to a small test suite using Page Objects and Commands. We will also briefly discuss very powerful features you can bring back to your team including running the tests through other services, running tests in parallel, and visual regression testing

Trace Logging And Code Instrumentation In Azure

cloud
diagnostics

Leyla Mousavi

Prosperity

Using App Insights, provide an overview of how to implement, configure and access logging and telemetry information for services and applications running in Azure. We will walk through how to create meaningful trace logs and telemetry information that helps developers diagnose issues or improve their code. We also will look at App Insights capabilities allowing the product L3 support personnel to query, create and manage dashboards to monitor the health of their apps and services in Azure.

Caring for New Users: Adoption, Onboarding, Permissions, Empty States, Feedback Herding, Friction Mitigation and More!

users
ux

Scott Showalter

Clarity

What does it take to craft a great experience for new users of our product? Once we're ready to move past MVP-stage, having learned what we needed to learn, there's still more to think about than merely what capability to give our earliest adopters and how that translates into functionality for the team to build and scale. Even if you're late to the game, there are always new users to care for with established products too.

Enter the concept of "New UX". It's a quintessential component of product design. This session explores the idea of transforming new users into power users. It'd be nice if we could all hone our intuition skills and create absolutely 100% intuitive products 100% of the time, but that's more fantasy than reality. So we must leverage techniques that help us make our new users feel awesome!

You'll learn:

  • How to overcome the struggle to drive adoption
  • Considerations for short attention spans, limited scratch memory, temporary disabilities, and avoiding subjecting new users to cognitive load & burnout.
  • The many types of onboarding, and which method is optimal for our users' in learning how to use our app.
  • Permission priming, permission pouncing and other concerns for user privacy when our apps need access beyond various device limitations.
  • What empty states are, and how you need to think about them in the context of your product and your users' goals in order to make them useful as well as delightful.
  • Sources of friction in the experience and in growing our user base.
  • How we can keep new users coming back, through consideration of habit formation tactics

Session 6 - 4:10 - 5:00

Whose Line (Of Code) Is It Anyway?

communication
personal growth
teams

Aaron Kohlbeck

Inspire

Most improv classes advertise themselves as ways to become a better public speaker or to gain self-confidence. What they don't tell you is that successful improv doesn't just involve getting in front of people, making things up, and trying to be funny - it comes from knowing and understanding a few key rules.

In this interactive session, we'll talk first about the different kinds of improv and how they correlate to the different kinds of development projects. We'll then talk about a few of the improv rules, such as 'Yes And', 'Sweeping', and 'Avoiding Denials'. I'll then show how following, or occasionally breaking, these rules can make you a better developer and teammate. Volunteers won't be necessary for this session, but they will be appreciated!

You will leave this session ready to 'Yes And' to your team, while 'Sweeping' away the CRUD!

Antifragile Teams

agile
leadership
teams

Charlie Sweet

Prosperity

Software development is an activity that’s fraught with complexity, ambiguity, and therefore risk. Many organizations attempt to mitigate that risk through stringent processes, but there is a better way.

In nature, there are three types of systems.

  1. **Fragile** systems that break under stress, like a teacup.
  2. **Resilient** systems that resist stress, like a rock.
  3. **Antifragile** systems that become stronger when they are stressed, like your muscles when you exercise.

Most organizations attempt to build resilience, but do so in a way that nearly guarantees fragility. Designing for “antifragility” is a much better goal.

In this talk, you will learn about the concepts of antifragility, the concepts of teams (as opposed to working groups) and how we can apply antifragile concepts to make our teams less fragile:

  • Why mass standardization and strict process control does not result in robustness.
  • Long-lived teams may be a major cause of fragility.
  • The proper role of an agile coach.
  • Different teams in the same organization should look, act, and operate differently.
  • The best way to stay stable and predictable is to embrace volatility and chaos.
  • The unintended side-effects of intervening to fix the mistakes of a team.
  • How to strengthen your team.

Google + Alexa: Cross-Assistant Apps

voice

Michael Fazio

Progress

Remember when the Echo was made available back in late 2014? It was invite only, then Prime only, then finally available for everyone the next summer. Only, most people didn't really seem to care. _What does it even do? Why should I bother? Can't I just use my phone?_

Fast forward to 2018, and it seems like everyone at least knows the Echo, and probably the Google Home. People know how to use them and why you'd have one. The question now has become "Which one should I get?" rather than "Why would I ever buy that?"

We've hit the point where people can reasonably expect skills to be on both the Amazon Echo and the Google Home. Both devices are in enough houses where it's worth the investment to create skills and actions for each platform. Luckily, this isn't nearly as difficult as it may seem.

We'll walk through the creation of both Alexa Skills and Actions on Google, look at the differences (there are a few, mostly names), look at what's the same, and see just how we can build a single application to serve both smart assistants. By the end of the session, we'll have a sample application running on both platforms from a single set of REST endpoints.

Hardware Education Through Game Boy Emulation

code is fun

Nick Wessing

Clarity

How does a computer actually work? Let's find out by taking a look at the Nintendo Game Boy, which was released in 1989. We will learn how a computer functions by using Rust to write an application that emulates the Game Boy's hardware. Come and learn how some of your favorite classic games were coded.

The Future Is Serverless

architecture
cloud
serverless

Vinny Carpenter

Harmony

Serverless is the fantastic toolkit for deploying and operating serverless architectures. Serverless lets you focus on your application, not your infrastructure. You can test and deploy in a single environment to any cloud provider. Serverless allows automatic scaling, is Cloud provider agnostic and enables rapid deployment.

Happy Hour - 5:00 - 6:15

Happy Hour

Serenity

Join us for the closing notes and happy hour in the Serenity room! Grab a drink or two on us, and meet some more wonderful people from your local development community.