Abstracts

.NET Musings

Abstracts

Keynotes

Leaders Are Made, Not Born

Leaders aren't born, they aren't hatched, and they don't apparate.  Leadership is a journey, one that involves hard work, practice, and a deep understanding of not only your team members but also yourself. I've led teams large and small throughout my 30 year career, and certainly made plenty of mistakes on the way,  But I've learned to fail fast, iterate, and continuously improve to create high performing teams across multiple verticals. In this session I share what I have learned over the years being a leader and being led.

Agile: You Keep Using That Word...

Much like the DOTCOM boom when everyone declared themselves a programmer, once David Norton (Gartner Research) declared agile mainstream on August 26, 2009, you can’t throw a stone without hitting someone who claims to be an Agilista.  From the proliferation of “agile” frameworks and certifications, to all of the people who decided to hang out a shingle as a coach, it can be hard to remember what is the essence of being agile.  In this talk, I remove the fluff and hyperbole, and get down to the roots of what it means to be agile.

Survive the Waterfall

Scrum and XP have found a strong following in the development community. But most non-development groups (such as Web Administrators, Production Support, Security, Testing, and Users/Stake Holders) inside the enterprise are not only far from agile, they are not trying to be more agile. In this session, I use real experiences from large enterprise development projects to teach you how to effectively work with non-agile teams. Instead of trying to "convert" them, I discuss strategies to adapt to their needs while remaining agile in the development realm.

  • How to work with traditional PMO
  • How to work with devops and infrastructure teams
  • Moving QA, designers, etc. to agile

Architecture

SOLID Design Patterns for Mere Mortals

Software design patterns have been around long before the MVC Framework gained momentum. In this session we will start with a review of Robert C. Martin's (Uncle Bob) SOLID macronym. After building the proper foundation, I will show you several design patterns, their C# implementation, and when and how they should be used in modern software development.

  • Get a better understanding of SOLID
  • Leverage Design Patterns to solve common problems
  • See specific implementations of various Design Patterns and how they support SOLID development

10 Software Design Patterns for Everyday Life

In this session, I show 10 software design patterns, their C# implementation, and discuss they should be used in modern software development.

  • 10 design patterns
  • Leverage Design Patterns to solve common problems
  • See specific implementations of various Design Patterns and how they support SOLID development

C#

What's New in C# 7.1

C# 7.1 brings a lot of features into the language. In this session, I show you all of the new features and when to use them.

  • Pattern Matching
  • Tuples
  • Local Functions
  • And more!

Web Development

What's new in .NET Core 2 and ASP.NET Core 2

In this session I show you all of the new features in .NET Core 2 and ASP.NET Core 2.

  • .NET Standard 2.0 and Interaction with the .NET Framework
  • Project Simplification
  • Razor Pages
  • DbContext Pooling
  • And more!

ASP.NET Core 2 For Mere Mortals

ASP.NET has changed in revolutionary ways.  In this session I show you what you need to know to move to ASP.NET Core for Web applications and RESTful services.

  • New ASP.NET Core features such as tag helpers and view components
  • Using DI with MVC
  • Creating RESTful services with ASP.NET Core

JavaScript for the C# (and Java) Developer

Yes, it has curly braces. Yes, it has semi colons. And you can write C# like code in JavaScript. But should you? JavaScript programming has many paradigms that make it very different than writing typical managed code.  In this session I show you, the C# programmer, what you need to know to take your JavaScript to the next level.

  • Core features in JavaScript
  • Important differences between JavaScript and C#
  • Key similarities in JavaScript and C#
  • Common pitfalls for those new to JavaScript

Workshop: Develop an ASP.NET and Entity Framework Core 2 App in a Day

In this full day workshop, you will build an application in a day using Entity Framework Core 2 code first to create the database and data access and a ASP.NET Core 2 Web Application.

  • Use Entity Framework Core 2 to build the data access layer
  • Learn new features in EF Core 2
  • Build a web application with ASP.NET Core 2
  • Learn new features in ASP.NET Core 2

Hands on Lab: Develop an ASP.NET Core 2 and EF Core 2 App in a Day

Interested in ASP.NET Core 2 and Entity Framework Core 2, but not sure where to start? Start here with an all day Hands on Lab where you will build a complete solution using the latest development technology from Microsoft. Using Visual Studio 2017 (15.3 or greater) and .NET Core 2, you will build a data access library using Entity Framework Core 2, complete with repos and migrations. Next, you will build a ASP.NET Core 2 web application, leveraging all of the latest that ASP.NET Core 2 has to offer, including Tag Helpers, View Components, Dependency Injection, and more!

    You will learn:
  • The new project structure for .NET Core 2 Apps
  • Creating a data access layer with Entity Framework Core 2
  • Initializing data for testing with EF Core 2
  • Building a website with ASP.NET Core 2
  • Configuring the HTTP pipeline and routing
  • Using and creating Tag Helpers
  • Creating and using View Components
  • Leveraging Dependency Injection
    Attendee Requirements:
  • You must provide your own laptop computer for this hands-on lab.
  • You will need to have Visual Studio 2017 version 15.3 installed (any edition). Visual Studio 2017 15.3 can be downloaded from https://www.visualstudio.com/downloads/. When installing, make sure to select the "ASP.NET and web development” and “.NET Core cross-platform development" workloads.
  • You will need to install the x64 versions of the SDK and Runtimes (2.0.0).  They can be downloaded from https://www.microsoft.com/net/download/core.
  • You also will need to have SQL Server Express 2016 Local DB and SQL Server Management Studio (SSMS) installed. LocalDB is installed with VS2017, but development is easier with full SQL Server Express and SSMS. SSMS can be installed from the SQL Server 2016 Express installer, located here: https://msdn.microsoft.com/en-us/library/hh510202.aspx.
  • Finally, you need to download the starter files and Lab documents for this HOL, located in https://github.com/skimedic/dotnetcore_hol/tree/master/2.0.

Entity Framework

What's New in Entity Framework Core 2

Entity Framework Core 2 brought a whole new list of features into the framework. In this session, I show you them all.

  • Table splitting/Owned types
  • Model level query filters
  • Scalar function mapping
  • And many more!

Entity Framework Core 2 For Mere Mortals

Writing data access code is tedious and mundane.  The simple act of creating the CRUD (Create, Read, Update, Delete) operations doesn't add business value to your application, but it is an absolute necessity.  In this session, I show you the core features of EF Core 2 and how it can save you valuable time that is much better spent on providing business value and compelling features into your applications.

  • Getting started with Entity Framework Core 2
  • Using Entity Framework to speed up development
  • Using Migrations to keep database and code in-sync

Start Using Entity Framework Core 2 Now!

Did you know that you can use EF 6 and EF Core 2 in the same application? In this session I show you why (and how) to start using EF Core 2 with your existing applications, from ASP.NET MVC/Web API to Windows Presentation Foundation.

  • Using EF Core 2 with ASP.NET MVC/WebAPI
  • Using EF Core 2 with WPF
  • Blending EF Core 2 and EF 6 in the same application.

Top 10 Entity Framework Core 2.0 Features Every Developer Should Know

In this session, I take you through my favorite features of Entity Framework that will significantly improve your productivity and ease of maintaining your data access code.

  • Advanced features of Entity Framework Core
  • Comparing EF Core to EF 6
  • Connection Resiliency
  • Plus many more!

Agile - Processes and Engineering

Agile: You Keep Using That Word...

Much like the DOTCOM boom when everyone declared themselves a programmer, once David Norton (Gartner Research) declared agile mainstream on August 26, 2009, you can’t throw a stone without hitting someone who claims to be an Agilista.  From the proliferation of “agile” frameworks and certifications, to all of the people who decided to hang out a shingle as a coach, it can be hard to remember what is the essence of being agile.  In this talk, I remove the fluff and hyperbole, and get down to the roots of what it means to be agile.

Implementing Agile in the Enterprise

Most non-development groups (such as Web Administrators, Production Support, Security, Testing, and Users/Stake Holders) inside the enterprise are not only far from agile, they are not trying to be more agile. In this session, I use real experiences from large enterprise development projects to teach you how to effectively work with non-agile teams. Instead of trying to "convert" them, I discuss strategies to adapt to their needs while remaining agile in the development realm.

  • How to work with traditional PMO
  • How to work with dev-ops and infrastructure teams
  • Moving QA, designers, etc. to agile

Agile Failures: Stories From The Trenches

When agile first burst on the scene, there was a lot of discussion about how agile is not just a silver bullet, but THE silver bullet.  But is it really?  Even after the "mainstreaming" of agile, projects continue to fail.  In this talk we look at a series of failed projects, examining the root causes, and the lessons learned from those failures.  Fast failure and careful retrospectives is the best way to continuously improve. 

Visualizing the Backlog with User Story Mapping

User Story Mapping is a process the visualizes your project, enhances transparency, and helps resolve scope contention. In this hands on exercise, we will jointly create a user map, clearly defining order, minimal marketable features, and release plans.

  • Why user story mapping matters
  • How to story map
  • How to build sprint/release plans from story maps

Testing Code From The Pit Of Despair

Michael Feathers defines Legacy Code as any code that doesn’t have automated tests, and you agree that automated tests are an important facet of successful software development. Then it happens – you get your next assignment, and it’s your worst nightmare! You have to maintain and enhance a large application that has no tests in place, and there are parts that are just plain scary. Where do you start? Traditional Test Driven Development techniques don’t typically work, since they focus on an inside-out development paradigm.

I will show you the patterns and practices that will help you turn the scary big ball of mud into a tested code base.

Unit Testing for Mere Mortals

As a developer you take pride in your work (as you should).  So it's frustrating when bugs happen.  How do you prevent them? Well, the honest answer, is you can't - at least not 100%.  But you can make sure your code does what you expect it to do!   In this session, I show you TDD (Test Driven Development), BDD (Behavior Driven Development), and TED (Test Eventual Development).  I will also show you their strengths and weakness, and how to decide which type (or combination of types) to use in different scenarios.  

Mocks, Stubs, and Dependency Injection, Oh My!

So you aren't writing any code without having tests in place…well, except for those tricky things like web services, database calls, and that section of code that no one wants to touch since it's a pile of spaghetti. I start with a big ball of mud and refactor that using dependency injection, fakes, stubs, and mocks. I will show you how to use Mocks and Stubs to isolate the system under test and write cleaner, more effective tests.

Workshop - Applied Agile Workshop

“You got your agile processes in my engineering practices!” “Well, you got your engineering practices in my project management!” All too often teams working towards agility stand divided between the processes (such as Scrum and Kanban) and the engineering practices (such as Extreme Programming) and completely forget what agile is really about. Agile is more than the latest methodology or certification. I will show you that the way to be truly agile is to blend concepts together into a single great harmony.

  • The ABC's agile and what it really means
  • The pluses and minus of popular agile methodologies
  • Answers to the questions that you put forth

Soft Skills

Leaders Are Made, Not Born

Leaders aren't born, they aren't hatched, and they don't apparate.  Leadership is a journey, one that involves hard work, practice, and a deep understanding of not only your team members but also yourself. I've led teams large and small throughout my 30 year career, and certainly made plenty of mistakes on the way,  But I've learned to fail fast, iterate, and continuously improve to create high performing teams across multiple verticals. In this session I share what I have learned over the years being a leader and being led.

Windows Client Development

Windows Presentation Foundation for Developers

WPF has now been out for almost 10 years. Microsoft is ramping up the WPF team, and there's a renewed interest in WPF development.  After all, what else are you going to use to build client applications for Windows users?  If you've looked at WPF, you know it is vastly different than Winforms.  In this session, I dive into what’s important to developers, including Layout, Commands, and a deep dive into Binding and Validation.

  • Learn the strengths of WPF and when to use it
  • Learn the different layouts in WPF
  • Learn how to maximize data binding in WPF

Implementing M-V-VM (Model-View-View Model) for WPF

Now you are writing WPF applications, and wondering – what is all this code in the code behind? Shouldn’t we be doing something different? Our cousins working with ASP.NET MVC don’t even have a code behind! The answer is YES – you should indeed be doing it differently. The M-V-VM pattern is a refinement of the Presentation Model pattern (first documented by Martin Fowler). I will show you what you need to know to implement M-V-VM pattern in WPF for building SOLID WPF applications that are testable, reusable, and maintainable. Additionally, I'll show you how to implement MVVM with generated code, such as Entity Framework.

  • What the MVVM Pattern is and when it should be used
  • How the WPF framework supports the MVVM pattern
  • How to implement MVVM in generated code, such as from Entity Framework
Managed Windows Shared Hosting by OrcsWeb