Nebraska.Code() Sessions

Destroying DevOps Culture Anti-Patterns

The tech industry aligns with DevOps being a set of practices and culture that an organization uses to deliver operational excellence. DevOps should not be a team, tools, or something you hire a consultant for. In development or operations practices anti-patterns are behaviors that crop up which hinder the best efforts of an organization. Learn to how to identify these DevOps Culture Anti-patterns (like tribal knowledge, silos, etc.), and then attack them in specific ways to resolve these issues.

  • Tribal Knowledge
  • Super Hero Culture
  • Silos
  • Centralized Decision Making
  • Quality at the end of the development process
  • Information Hoarding
  • Manual processes

How you respond to and learn to change from failures will determine the outcome of your journey. A DevOps journey is just that, a road in which the final state is always reset once you cross the finish line and head towards the new goal.

Speaker

Tom Cudd

Tom Cudd

Systems Architect, VML, Inc.

 Make Public Speaking Your Competitive Advantage

In today's job market being an effective communicator is a critical skill even if you are a developer who just wants to write code all day. Being a confident communicator and public speaker can set you apart from the crowd. Public speaking at the end of the day is all about effectively communicating our ideas to others. We have all been training our whole lives to be better communicators. Not a one of us was born with the ability to talk. Talking is a learn skill, just like public speaking is. Anyone can learn to be a confident communicator with a bit of know-how and some practice.

I will share with you how I went from a shy, introverted software developer who would run away from any kind of public speaking to a professional speaker that sprints towards every speaking opportunity and how you can do it as well. T

You will walk away on the road to becoming a confident public speaker that knows how to give an effective presentation and will be ready to rock your next presentation.

Speaker

Justin James

Justin James

DevOps Evangelist, Intel

1/5th of your users may not be able to use your site

Most studies find that about one-fifth of the population has some kind of disability that can include visual, hearing, motor and cognitive disabilities. While not all of these disabilities effect users of websites, for most businesses it would be unwise to purposely exclude 20, 10, or even 5 percent of their potential customers from their web sites. For schools, universities, and government entities, it in many cases also violates the law.

Join us to learn more about these disabilities, what it is like to surf the web with a disability, and what we as good citizens of the web can do to help.

Speaker

Elizabeth Davies

Elizabeth Davies

Lead Developer, Gallup

A Developers Introduction to Kubernetes

Kubernetes is an open source tool for container deployment and orchestration of containerized applications. With Kubernetes, you can easily manage your software as a service deployments and scale your applications on the fly. In the presentation, we will overview the Kubernetes system and will demo a real software project for deployment in the Google Container Engine.

Speaker

Tyler Morten

Tyler Morten

CTO, Givestack, Inc.

Adaptive User Interfaces with Xamarin.Forms

Let's take Xamarin.Forms beyond Hello World and explore how to create apps that adapt to your users devices in the real-world. As an app developer, you don't want your apps to just look great in portrait or landscape on a phone, you want to provide a larger display experience option. In this session we will explore how to build an app that spans platforms and device types, giving users a rich experience, regardless of platform or form factor. Stop making ugly one-layout-fits-all UI apps, and start making single code-base apps your users love! Everybody wins!

Speaker

Duane Newman

Duane Newman

Co-Founder, Alien Arc Technologies, LLC

An Extended Explanation of Caching

Caching can be like regex. If you've got a problem and not a clear understanding of what you're trying to solve, you're going to end up with two problems. Understanding the mechanisms and types of caching possible from end user browsers down to in-memory databases can help clarify just what problem each layer of caching is designed to solve. Learn about what to cache, how to cache, and when to introduce caching into the mix of what you're building out. We'll talk about how to use CDN's, in memory, on disk, and cloud solutions when having to scale your applications with a caching solution.

Speaker

Tom Cudd

Tom Cudd

Systems Architect, VML, Inc.

Android Architecture using Reactive MVVM

Last year Android came out with a few libraries to help you architect your application and documentation of recommendations to implement a good architecture. I will discuss LiveData, Room, ViewModel, and how to use those to create a reactive MVVM app. I will also show code that I wrote demonstrating how to use all of these patterns.

Attendees will learn what reactive MVVM is, how to use Android Architecture components to create a MVVM app, and leave with an example GitHub repository that is an example of everything that is talked about in the presentation.

Speaker

David Corrado

David Corrado

Mobile Application Developer, Werner / Corrado Developers

Angular vs. React: A live demonstration, comparison, and discussion

Are you thinking of bending to peer pressure and diving head-first into learning Angular? Are your "other" friends telling you React is the framework you should choose?

This session will provide developers with a quick introduction to both React and Angular 2. We will provide a demonstration of a basic application written in both frameworks. This will give attendees a great, side-by-side comparison to see similar concepts implemented in both. Both application will support a similar build/development process and will utilize TypeScript as the implementation language.

Finally we will share information on what type of tools support you can expect with either framework, what their respective communities look like, and what the impact of choosing either one might be.

Just a warning to the curious...you may not find as many differences between these frameworks as you think.

Speaker

Kevin Grossnicklaus

Kevin Grossnicklaus

President, ArchitectNow

Application Security or Hacking yourself everyone else is...

Software security isn't a tool or a library, everyone knows that you should check your parameters, and watch out for SQL injection, but is that really enough? If you have never had the opportunity to spend time hacking your own applications, you are really doing yourself a disservice. More than ever, the web is becoming an increasingly hostile environment, and because of it developers really need to step up their game. In this session we will go over some of the methodologies that we use internally to test applications, helping developers to think more strategically about designing applications for general security. As part of this conversation I will go over active attacks that we have seen against production sites using steralized examples.

Speaker

James McKee

James McKee

Solutions Developer / Enterprise Architect / Security Analyst, 10-4 / Trimble

Become a Better Leader with Lego

Former Defense Secretary, Donald Rumsfeld, famously talked about, "Known knowns," "known unknowns," and "unknown unknowns." We will use Lego to demonstrate what Rummy was talking about and why understanding the five contexts of Cynefin (pronounced ku-nev-in) will help you understand situations before deciding how to best manage them. As a bonus, you will learn about teamwork, communication and chaos while building with everyone's favorite childhood toy.

Speakers

Keil Wilson

Keil Wilson

IT Enterprise Business Applications Architect, Nelnet

Becoming an Effective Mentor

Have you ever thought about becoming a mentor but didn’t know how to get started? Mentoring is a valuable tool for professional development that can result in positive outcomes for both the mentor and the mentee.

In this session, you will learn:

  • How to identify the specific skills and strengths that you could potentially offer as a mentor.

  • Strategies for how to build formal and informal mentoring relationships in the workplace.

  • Best practices for communication in mentoring, including how to give constructive feedback and understanding the importance of of active listening.

  • Strategies for overcoming common fears that might be preventing you from wanting to become a mentor. If you’ve ever considered becoming a mentor but felt that you didn’t have enough time, that you’re too much of a beginner yourself, or even that your communication skills might be holding you back, this session is for you.

Speaker

Olivia Liddell

Olivia Liddell

Cloud Training Specialist at Cloudbakers, Cloudbakers

Best Practices for Robust API development in .NET

This all-day workshop will walk developers through the design and implementation of a robust API layer using Visual Studio 2017, C#, and the ASP.NET Core stack. Today's client-centric architectures frequently involve a mix of UI frameworks such as Angular, React, or even native mobile apps targeting iOS, Android, or Windows devices. One common requirement for each of these modern application frameworks is the need to communicate data back to the server via an easily accessible API layer. As developers who frequently work on both the API and the client, the overall development process needs to support the ability to quickly add code to both layers and to have an efficient debugging experience.

This class will walk all attendees through designing such an API on the Microsoft stack that is flexible, easy to debug, easy to extend, and supports a number of advanced features commonly required by today's architectures. As the class progresses we will work through the full implementation of a secure API that demonstrates a wide variety of real-world scenarios. We will discuss and demonstrate a clean, back-end architecture isolating all data access into an organized repository layer utilized by higher-level business services. We will also demonstrate how this API can be utilized across a number of UI frameworks including an SPA written in Angular and a cross-platform mobile application developed in Xamarin. The focus will be on setting up an efficient development process between these clients and the API. All students will be encouraged to implement all features locally and the overall content will be presented in a very "hands on" manner. All code and sample projects will also be provided via a public GitHub repository so that attendees can leverage the core concepts in their own projects upon completion of the course.

API topics to be covered and demonstrated include:

  • API Structure and Architectural Considerations
  • Security
  • Json Serialization
  • Visual Studio Project Setup
  • Dependency Injection
  • ViewModels and Mapping
  • API Documentation
  • Caching
  • Data Access Patterns
  • State Management
  • Versioning
  • Debugging APIs
  • Unit Testing APIs
  • Deployment and Hosting

Speaker

Kevin Grossnicklaus

Kevin Grossnicklaus

President, ArchitectNow

Bootstrap Your App with AWS Amplify!

Front-end development can be complicated. There are enough libraries, and enough churn, to make anyone feel lost in the shuffle. Common concerns for any non-trivial modern web application include features like authentication, user content, logging, and analytics. In this session, we break down and demo the key features of AWS Amplify – an open-source library from Amazon. Amplify abstracts away the common functionality that so many applications share and allows developers to focus on business logic – not plumbing! In this session, we walk through a simple application highlighting the features and tools the library provides. This should leave you with the knowledge of how and why you would integrate this with your own projects. The session will use React to demonstrate the features of the library, but general front-end development experience is all that is required.

Speaker

Mathew Warger

Mathew Warger

Developer, Keyhole Software

Bridging the Gap Between Business and Technical Requirements

Today’s solutions must be built quickly and meet, if not exceed client expectations…the first time. Elicitation, collaboration and understanding requirements in real-time is critical to successful product deliveries. But as technical people we don’t always know how to do this and let’s be real, there’s no silver bullet. In this session Lisa will talk about strategies for understanding requirements so that sound architectural decisioning is made easy. Leveraging industry best practices and asking simple questions can make bridging the gap between business and technical requirements a problem of the past.

Speaker

Lisa Fruhling

Lisa Fruhling

Process Development and Implementation, Previously with Fiserv

Bringing Ingenuity Back to Engineering

We have smart and talented teams and yet what we deliver often lacks innovation and ingenuity. ShipIt Days is a concept adopted from Atlassian that allows team members the opportunity to capitalize on their own innovative ideas. It is typically a 24-hour event in which employees can form small teams to try something new or try a novel approach to a business problem. They must then demo what they shipped, maybe with a business case and working prototype. We’ll touch on the other numerous benefits of ShipIt Days to sustainable pace development including passion, enthusiasm, motivation, and a time to catch our breaths from the daily grind of sprint work. We have 5+ years of experience implementing ShipIt days on different teams, projects, and companies. We will break down the What, How and Why of ShipIt Days and give the audience a way to start capitalizing on the talented teams they already have.

Speakers

Kathy I. Andersen

Kathy I. Andersen

ScrumMaster, Hudl
Nicholas Tuck

Nicholas Tuck

Software Gardener, Proxibid

Build Your Own Arduino Workshop

Participants in this workshop will be handed a shifty looking baggie full of inexpensive parts which they will use to create their very own Arduino - compatible microcontroller board.

While constructing the board, we will discuss and tinker with each component (clock source, power regulation, etc.) to see how they work. Then we'll boot 'em up and (provided the blue smoke hasn't escaped by this point) start writing some code and talking to some devices.

Speakers

Clay Dowling

Clay Dowling

Agile Software Consultant, Pillar Technology

Building a Blockchain

Like the cloud nearly a decade ago, blockchain is the newest buzzword appearing everywhere. At the foundation of cryptocurrency implementations like Bitcoin, blockchain technology is also being adopted and used across many industries for anything from mundane record keeping to energy distribution. In this session I will dissect and build a simple blockchain implementation, leaving you with an understanding of the common components and how they are being used in many cryptocurrency implementations today.

Speaker

Building a ReSTful Web Service w/NodeJS and MongoDB

There's been a lot of talk in the last few years about ReSTful services. Both from a creation and consumption perspective. In this session, I will show you how to create basic ReSTful service using NodeJS and MongoDB. You will learn how quick and easy it is to take you JavaScript knowledge and parlay that into an easily consumed ReSTful service.

Speaker

Lee Brandt

Lee Brandt

Developer Advocate, Okta

Building and Deploying Applications on AWS with the Serverless Framework

How can you manage versioning, environments, builds, testing, etc. in a serverless application? The toolkit provided by the people over at Serverless can help you with all of that. The Serverless Framework is a massively popular open source project for managing and deploying serverless architectures. This talk will cover the in’s and out’s of architecting applications with the Serverless Framework on AWS. The presentation will include deployment of various AWS microservices such as Lambda, S3, DynamoDB, SNS, and Cognito, as well as CloudFormation templates.

Building the Best Test Automation Solution!

Has your organization struggled with properly establishing test automation? Have you ever tried to build a test automation framework, been challenged with selecting the right tools, or just aren’t leveraged your existing solution to the fullest potential? This session will be showing broadly applicable and proven practices for optimal test automation solutions. Using concrete examples, this talk will show how to build an awesome test framework and environment for testing REST APIs as well as mobile and web UIs.

Speaker

Philip Sears

Philip Sears

Practice Lead, Quality Assurance, Xpanxion

Career Development Anti-Patterns

Do you look around and want to do more? Maybe you want to move from junior developer to senior? Maybe you don’t care about your title, but you want to start contributing to a large open source project or start one yourself. You make a plan. You get excited. A year later, you’re in the exact same spot. What happened? Career development is like software. There are patterns, anti-patterns, and opportunities to refactor. In this session, you’ll learn some common anti-patterns --- waiting for perfect opportunities, overcommitting to different technologies, avoiding the local community --- along with patterns to solve them. If you find your plans constantly falling through, it’s time to refactor.

Speaker

Joe Morgan

Joe Morgan

JavaScript Developer

Computer Vision: Don't turn a blind eye to the future

Whether we are talking about automated cars that need to avoid children playing in the street, a sales app that reads the emotions of a shopper, or an augmented reality game, computer vision plays a significant role in the future of computing. Join us as we take a look at some of the readily available computer vision services that you can leverage today. We will examine some of the use cases for computer vision and explore why you should consider it for your apps. During this session, we will create a simple app that consumes some of these services and shows just how easy it is to add vision to any application.

Speaker

Brent Stewart

Brent Stewart

Co-Founder, Alien Arc Technologies

Continuous Everything – Build, Test, Deploy, Engage, Repeat

App Center brings together multiple services, commonly used by mobile developers, into a single, integrated product. You can build, test, distribute, and monitor your mobile apps, and also implement push notifications.

  • Build your apps automatically with every pull request
  • Test apps on thousands of real-world devices
  • Distribute passing builds to beta testers
  • Monitor apps for crashes and bugs

Crazy Little Thing Called Scrum

Ever wondered why it's called scrum? Or why the scrum framework chose to do daily standups, pointing, or retrospectives? Want to know best practices for what you should be sharing in a standup or retrospective?

This presentation will cover the what, why, how, and who of how to take scrum and make you and your team more effective by giving you data and stories of how scrum works. You might even learn how to get twice the work done in half the time!

Speaker

Courtney  Heitman

Courtney Heitman

Scrum Master & UX Developer, Gallup

Debug Your Xcode Project *Without* Pulling Out Your Hair

The stress of debugging in Xcode can leave new developers -- or those experienced in other languages and IDEs -- running for the hills. It's not the friendliest development environment and some of the more useful debugging bits aren't always apparent. In this talk, attendees will learn practical tips and tricks so they can tackle their next iOS bug like a pro.

Speaker

Jen Homann

Jen Homann

Software Engineer, ScoreVision

Decentralization (Beyond Bitcoin)

“Cryptocurrency” & “Blockchain”. You’ve probably heard these words quite a bit recently. You may even be tired of hearing them. But is there more to all of this than people trying to get rich off of “magic internet money”?

Let’s look beyond speculative investing and get rich quick schemes and focus on the actual tech. Why does it matter?

In this talk we’ll go behind the scenes of distributed ledgers, and give you an insight into what makes them work. We’ll talk about game theory, cryptography, and how decentralized ledgers may impact your business in the future.

Speaker

Matt Ober

Matt Ober

CoFounder, BlockEra

Dependency injection demystified in .net Core

Talk about the basics of DI and loose coupling. Inversion of controls from the basic to the more advanced patterns. Display the issues and challenges in code. High-level modules should not depend on low-level modules; both should depend on abstractions. Abstractions should not depend on details. Details should depend upon abstractions. What are some of the most common framework/containers to support DI and what benefits/disadvantages they have. Talk about the Built in DI framework in .net core.

Speaker

Yair Segal

Yair Segal

CEO/ Chief architect, Peach Software Inc

Domain Modeling - Many Models are Simpler Than One

Have you experienced the pain of having a large database table with many columns to handle storing complex entities? Have you experienced the pain of having a large function or class so complex you won't touch it for fear of what will break?

It's common to try to use one model of of the elements of your domain to try to serve all functionality required. The truth, though, is that not all needs require the same model. Different parts of your problem look at the same elements in different ways. A customer is a credit card to your billing department and a mailing address to your shipping departement. They look at things differently and should use different models.

One of the main lessons of Domain-Driven Design is that a domain can be decomposed into bounded contexts where smaller pieces of the problem can be modeled and addressed. Learn about the ways you can use multiple models to build an model that is simpler and more useful.

Speaker

Entity Framework 201/301

This is a presentation of some of the more advanced features of Entity Framework. Proper setup and use of navigation properties to leverage the tools provided by Entity Framework. Complex Linq queries and how to simplify them. Advantages and disadvantages of relying on Entity Framework. Understanding the scope of Entity Framework queries and how to track the queries that are generated. This will be a code heavy talk.

Evolve with Genetic Algorithms

Artificial Intelligence can be an intimidating topic to approach. You might be thinking that it's a topic perhaps better handled by academia or tech giants like Google.. Nonsense! Genetic Algorithms are an example of Artificial Intelligence that is easy to learn and easy to implement on your own. And you don’t even need to know Calculus!

I’ll begin this talk by explaining Genetic Algorithm basics and throughout the talk I’ll show demonstrations that progressively increase in complexity. In doing so you’ll understand the types of problems a Genetic Algorithm is suited for and their full potential will become apparent. By the end of this talk you’ll be armed with the knowledge to evolve your own solutions.

Speaker

Facilitation for all

A decision needs made and it's now up to you to get there. Who needs invited, what's the outcome, and how do you get there? The great thing about self-organizing teams is that they can handle events without waiting for someone else. At some point in time you will need to facilitate a meeting. Being an effective facilitator will ensure meetings are fun, productive, and respectful of everyone's time. Jess will lead you through facilitation techniques and tricks to make sure you not only have the right people in the room, but you get to your desired outcome in an efficient manner. We will look at techniques that include time boxing and utilizing a parking lot.

Speaker

Jess Osborn

Jess Osborn

Business Analyst, Arbor Day Foundation

From Developer to Data Scientist

Due to recent advances in technology, humanity is collecting vast amounts of data at an unprecedented rate, making the skills necessary to mine insights from this data increasingly valuable. So what does it take for a Developer to enter the world of data science?

Join me on a journey into the world of big data and machine learning where we will explore what the work actually looks like, identify which skills are most important, and design a roadmap for how you too can join this exciting and profitable industry.

Speaker

Gaines Kergosien

Gaines Kergosien

Executive Director, Music City Tech

Front-end Need-to-Knows 2018

Keeping up with what's going on in the front-end web development world can be exhausting. It almost feels like our job security or skillset viability are often at the mercy of external factors such as browser support (think IE11 and below), constant new frameworks and development tools, and industry trends. This session will help you to stay ahead and also keep your sanity. I will share with you my ways to keep up with what's coming down the pipelines, be informed of the 2018 front-end development trends, review tools/features you should experiment and get familiar with to make yourself more marketable, and lastly how to stay sane in this fast-paced industry. Come join me for a session of knowledge sharing and fun-filled discussions!

Speaker

Richard Lock

Richard Lock

Web Developer, University of Nebraska-Lincoln

Functional programming and the path to zen

This presentation will give an overview of what funcional programming is and how it can help you reduce friction, lower cognitive load, and ultimately write higher quality programs. Examples will be given primarily in F#, a mature, open source, strongly typed, functional-first, general purpose programming language that is fully interoperable with other .NET languages.

Topics covered will include: * Immutability and pure functions * Higher-order functions * Function composition and pipelining * Partial function application * Pattern matching * Strongly typed functional programming * Type inference

Finally I will leave you with some recommended resources to start on your path to zen.

Speaker

Brian Newton

Brian Newton

Solution Consultant , LyncStream

Gatsby: Static Site Generation with React

Abstract

Static site generation has long been a problem that has been "solved" with tools like Jekyll, Hugo, Hexo, et al. However, a challenger looms, and that challenger is Gatsby. Gatsby is a ReactJS powered static site generation tool that is a very capable challenger to these aforementioned, established tools. This talk goes into the details of what Gatsby is, what static site generation really is, and how the listener can make performant, dynamic, and incredible static websites with the incredibly powerful combination of Gatsby and React.

Details

The talk will begin with an illustration of what static site generation means, and some sample code and approaches used by existing tools, e.g. Jekyll, Hugo, etc. From this perspective, we can then shift the discussion into what a (current) modern website stack looks like, outside of static site generation.

After introducing static site generation tools, the presentation will shift into what makes a modern website performant, and why performance is such a crucial, often overlooked concern. In the age of Webpack and other bundling tools, we've lost focus on the user experience that is significantly degraded in loading these huge, monolithic bundles of JavaScript, CSS, and other content. These slow, massive applications are costing your users and your company precious time and money.

Introducing... Gatsby! Gatsby is a modern static-site generator powered by React. Just as React is "eating the world" in areas like the web and native, it similarly is now attempting to conquer static site generation and performant web applications. We will discuss how GatsbyJS makes static sites, and in particular, several of its techniques that have led to Gatsby being described as "ludicrously fast" such as progressive image loading, content aware bundling, etc.

Finally, we will discuss Gatsby's data layer, which uses another technology (GraphQL) which seems to be growing rapidly in popularity and adoption. We will discuss how GraphQL works with Gatsby, and how it allows you to pick and choose content, types of content, and even sources of content (e.g. Wordpress, Contenful, etc.). We will discuss how one could, for instance, use Gatsby to build a blog or an e-commerce site simply, quickly, and easily with the language and tooling that many of us are most familiar with: React and JavaScript. With this information in mind, each attendee will leave empowered with a greater understanding of not only Gatsby, but also static site generation, web performance, and some great techniques that they can use in their application, today.

Get into the fastlane: Simplifying the process of releasing iOS and Android apps

If you have every had to set up app and device provisioning for iOS, you know that it is a pain in the a$$.

fastlane is an open source project, created to simplify the confusing and often tedious process of releasing iOS and Android apps. It comprises of several utilities that each handle a specific aspect of app release, such as:

  • deliver – Manages and uploads screenshots, metadata, and application bundles to iTunes Connect.
  • produce – Creates and app in iTunes Connect and the Developer Portal (often known as AppID). It also includes support for App Groups and application services.
  • pem – Creates and manages Push Notification Provisioning Profiles.
  • cert – Creates and manages code signing certificates
  • sigh – Creates and manages provisioning profiles
  • match – Creates and maintains certificates and profiles and stores them in a git repository so that they can be synced across a development team

Getting Good with Grid

Now that Grid will work on almost 90 percent of users according to caniuse.com it is becoming increasingly acceptable as the primary method of laying out content.

Grid brings in a new paradigm from traditional one dimensional layouts (row OR column) to having two dimensional layouts. This greatly reduces the amount of nesting of HTML elements and makes your HTML a great deal cleaner.

We will also discuss fallbacks and how to implement that for users who are using an older browser (using flexbox).

Speaker

Shawn Hellwege

Shawn Hellwege

Web Developer II, Assurity

Git Demystified!

Git is a lot simpler than it looks.

Everything in a Git repository is based on just three fundamental types of objects: blobs, trees, and commits. Once you understand what these are and how they relate to each other, the apparent complexity of Git melts away revealing a simple, elegant system that is powerful because it is simple.

In this talk, we'll look under the covers of Git to see what is actually in a git repository on disk and what happens when you enter git commands like git commit. You'll come away with a better understanding of how Git really works and greater confidence in using Git.

Note: This is not an introduction to Git or a "how to" tutorial. You'll get more out of this talk if you have at least a little familiarity with Git, even (or perhaps especially) if you're struggling to get Git.

Speaker

David Body

David Body

President, Big Creek Software, LLC

GitHub Pages: A Platform For Cheapskates

In this session Mike will give the pros and cons of using GitHub Pages to host your site for free. We'll go into the basics of setting up a new repo and built-in functions to add a little dynamicity to your static site. He will show you how to set up a local development environment on Windows, how to add an acceptance environment to your flow, and we'll look at a few third party services to complement your available toolset.

Speaker

Mike Cole

Mike Cole

Principal, Cole Consulting, LLC

Hacking your work life __ balance to take over the world.

Everyone has the same 24 hours in a day, so how do some people seem accomplish so much more? It’s time to learn to hack your work life __ balance to have more time to pursue your passion projects, spend more time with those you love, while keeping your work ethic strong. Let’s take over the world!

Speaker

Jennifer Wadella

Jennifer Wadella

Founder, Kansas City Women in Technology

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

Hands on Lab: Develop an Entity Framework Core 2 and ASP.NET 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.

I Promise to Give You a Callback if You’ll Just Await: Working with Asynchronous JavaScript

Client-side JavaScript development has become more and more popular over the past few years and shows no signs of slowing down. Many developers are making their way from being focused on more traditional platforms like Java and .NET and are learning how to write great front-end applications with JavaScript and frameworks like Angular, React, Aurelia or Vue. As many of these developers begin writing more and more complex JavaScript, they are finding that in many areas JavaScript is like nothing they have worked with before. One of those areas is asynchronous programming. Many developers find asynchronous programming intimidating, but JavaScript is so dependent on it. The good news is that it’s easier than you think it is.

In this session, you’ll learn why asynchronous development is so critical to creating a great JavaScript application. I will demonstrate how JavaScript enables you to create asynchronous code very easily. You’ll learn how concurrency works in a little differently in JavaScript then you might be used to, and see some patterns to help you deal with even the most complex asynchronous situations. You'll see that asynchronous JavaScript is an easy and effective way to create great and responsive JavaScript applications.

Speaker

James Bender

James Bender

Freelance Developer

Intro to React Native with Expo

Intro into building cross platform native mobile apps using Java Script. What is React Native? Benefits VS disadvantages analysis. How it works on mobile Devices. What is Expo? How Expo works with React Native. Why choose Expo.

Speaker

Yair Segal

Yair Segal

CEO/ Chief architect, Peach Software Inc

Intro to story maps

You have just been tasked with getting an idea up and running. Where do you start, how can you show you are on the right path, and how do you determine when you are done? Story maps are a great visual aid to help show the progress to everyone involved with a project (whether it is a brand-new development initiative, enhancements to an existing system, or even evaluating an outside solution). At a quick glance, you can see the work completed, what is next, and the work that was determined wouldn’t deliver enough value to add. Story maps are a great tool to open up conversations and keep team members and sponsors engaged. We will walk through real examples, techniques/ tips, and the outcome of effort.

Speaker

Jess Osborn

Jess Osborn

Business Analyst, Arbor Day Foundation

Introducing Python Decorators

The Python programming language has had decorators as a part of its language for many years, but a lot of new Python programmers don't understand how or when to use them. In this talk, you will learn how to about the following:

  • Normal decorators
  • Class decorators
  • Built-in decorators
  • Common uses for decorators

By the end of the talk, you will feel confident in how decorators work and when to use them. You will also know what Python uses decorators for and I will also point out some of the fun use of decorators in other Python projects, such as the Django web framework.

Speaker

Michael Driscoll

Michael Driscoll

Software Engineer, AgLeader

Introduction to Actions on Google

The Introduction to Actions on Google presentation will discuss best practices for building a conversational UI and demonstrate how to create an Action for Actions on Google to bring an application to the Google Assistant on Android and Google Home devices.

Speaker

Benjamin Wicks

Benjamin Wicks

Android Developer, Client Resources, Inc.

Introduction to Serverless and Event Driven Development in Azure

Serverless computing has become one of the most popular platforms for build cloud native applications. Attend this talk if you like to understand what is serverless computing, event driven architecture and how the two are related. I will compare serverless Azure Functions and Cosmos DB to traditional API and SQL development. You will understand the challenges of using traditional development technologies and patterns and the advantages of serverless to build true cloud native applications. We will talk through lessons learned and see how the simple deployment can scale to global distributed solution. This talk will be focused on Azure but the concepts easily map to the solutions found in other cloud providers.

Speaker

Mike Douglas

Mike Douglas

Solution Consultant, Deliveron Consulting Service

Introduction to the R Language and Ecosystem

This session will introduce you to R, a general purpose programming language and software environment that is popular for data analysis and visualization. We will introduce the R language, focusing on examples of the kinds of things that R excels at like data wrangling, exploratory data analysis, statistical computing, machine learning, and data visualization.

We'll also introduce the R ecosystem, including the tidyverse, an opinionated collection of R packages designed to make data science fast, fluent, and fun. We'll see examples of how you can create documents containing code and graphics using tools like R Markdown, as well as creating and publishing interactive data-driven web applications using Shiny.

No prior knowledge of R is required. The emphasis will be on breadth rather than depth. You'll come away with a basic understanding of what R is all about and suggestions for how to learn more.

Speaker

David Body

David Body

President, Big Creek Software, LLC

IoT for the .NET Dev

IoT is becoming more and more prevalent in our lives. Everything from home appliances to industrial warehouse sensors are getting connected to the Internet to leverage the power of the cloud. There will be great opportunity for those developers who understand how IoT can help industries move to this new frontier. Come explore how to leverage your .NET skills to reach the cloud with Windows 10 IoT on a Raspberry Pi. These days there are many ways to connect your IoT devices to the cloud, but in this talk we'll look at how we can utilize Azure services to integrate with physical devices. We'll show everything from how to interact with GPIO (General Purpose Input Output) to hooking up to Azure Functions with the Raspberry Pi. Come see how to put your Pi in the sky (cloud)!

Speaker

Brent Stewart

Brent Stewart

Co-Founder, Alien Arc Technologies

JavaScript LevelUp

If you've been developing for the web any length of time, you've probably written some JavaScript. You know the basics of the language and you can get things done, and applications shipped. But as the proliferation of JavaScript continues into frameworks like UnderscoreJS, KnockoutJS, AngularJS, AnyOtherThingYouCanThinkOfJS, and even to the server (with NodeJS) you may find yourself struggling to understand how to write professional, full-fledged applications using JavaScript. In this session you will LevelUp your JavaScript skills by learning about closures and how they help to modularize your javascript. Prototypal inheritance and how you can extend JavaScript and you will learn about JavaScript design patterns and how they can take your JavaScript skills to the next level!

Speaker

Lee Brandt

Lee Brandt

Developer Advocate, Okta

Jewelbots: How to Get More Girls Coding!

Girls just wanna have fun … coding their own programmable jewelry! Jewelbots are the latest in wearable tech that allow you to write your own code. This live coding demo will introduce you to the Jewelbots API, highlight fun projects, & talk through tips on encouraging young women in tech.

Speaker

Jennifer Wadella

Jennifer Wadella

Founder, Kansas City Women in Technology

Junit5 Parameterized Tests

Junit5 adds quite a few new features, but in my opinion Parameterized Tests are the most useful. We'll take a look at how to setup up a parameterized test, the different argument sources to feed your tests data, and using argument converters

Speaker

Scott Bock

Scott Bock

Chief Software Technologist, Object Partners

Kotlin: Your Next JVM Language

Kotlin is the new kid on the block and it's getting a lot of well-deserved attention. So why aren't you using it? Having learned from its predecessors (Java, Scala, Groovy) and compiling into JVM bytecode in addition to JavaScript, the language takes a fresh approach that makes development enjoyable again.

In this talk we'll briefly overview the syntax and capabilities of Kotlin before we dive into its idioms and develop a client-server Spring Boot application. Together we will laugh about when we were afraid of NullPointerExceptions, depended on IDEs to generate getters, setters, and equal methods, forget about Java 8's verbose Streams API, and rejoice that code maintainability is not just a dream.

Speaker

Erik Shafer

Erik Shafer

Consultant, Object Partners Inc

Launching the Micro Future: Micronaut

Micronaut is a new JVM-based, full-stack framework for building modular, easily testable microservice applications. Unlike reflection-based IoC frameworks, which load and cache reflection data for every single field, method, and constructor in your code; with Micronaut, your application startup time and memory consumption are not bound to the size of your codebase.

The Micronaut framework shares many core values with Grails, including the enablement of code simplicity and developer productivity. Micronaut offers many additional features for a new class of applications (e.g., microservices, serverless deployments, etc.) that may not be well-suited for Grails.

In this talk, Jeff demonstrates how the future of Grails, GORM, and Micronaut are linked, as well as how the OCI Groovy and Grails team is taking productivity around developing microservices to the next level!

Speaker

Jeff Brown

Jeff Brown

Senior Engineer, Partner, Object Computing Inc.

Let’s Talk About Mental Health

It’s a great time to be in technology. Computers keep getting better. More and more devices keep getting connected to the internet. Javascript frameworks are multiplying like bacteria. And yet despite the improvement in our tools, we somehow don’t spend time talking about how to maintain our most important tool - the one between our ears.

Constantly feeling worn down, experiencing anxiety over making decisions, and burning out are not just facts of a developer’s life! They’re challenges that can be dealt with. In this talk we’ll cover the most common mental health challenges facing developers, and then learn about some techniques to supercharge your brain by improving your mental hygiene (whether you have a psychological disorder or not). Most importantly, you’ll learn how to have a conversation with your coworkers (and other people in your life) about supporting each other and finding your best selves.

Speaker

Arthur Doler

Arthur Doler

Senior Software Engineer, Aviture

Make Your Services Highly Available and Relentless

Every developer and manager's goal is to keep their customers happy.  More often than not, this means ensuring services are available and online for those customers.  Attendees of this presentation will walk away with a new perspective on how to make existing services highly available through a simple implementation of the Consul library.  We will go into detail about how Consul works, and why the demonstrated implementation is a valid option for securing your critical operations.

Speaker

Clayton Henderson

Clayton Henderson

Software Engineer, Spreetail

Mapping the User's Journey

Do you feel like you don't actually know your users? Do they struggle through the flow of your website, and you don’t know why?

This session will introduce you to empathy mapping, and how it will help you to relate to your users better. Once we have some empathy (mapping), we'll go over user journey mapping, so we can better understand what questions and pain points our users are having as they move through a website or application.

Speaker

Courtney  Heitman

Courtney Heitman

Scrum Master & UX Developer, Gallup

Modernizing your CI Pipelines with Docker

In this talk, we will explore how to use Docker to create multiple build environments for the purposes of building, testing, and running your software. Gitlab CI will be the CI technology used during this talk, however the concepts learned will be trivial to apply to others such as Jenkins and Travis CI. Attendees will leave knowing how to use Docker to rapidly setup immutable environments defined as code that can be used for development and build.

Speaker

Neema Bahramzad

Neema Bahramzad

Software Engineering Lead, Spreetail

Offensive Application Security for Developers...

Application developers are the first line in defending applications from attack, there are thousands of software and hardware solutions to attempt to make your software more safe and secure. In the end if the software isn't developed properly and securly no amount of software or hardware is going to protect you. In this session I plan to go over, identifying weak code, testing for it, and fixing it.

In this session we will go over indepth the process for doing application security testing on your own applications. As part of the session we will go through and identify all of the items on the OWASP top 10, how to test them using DVWA (the Damn Vulerable Web Application), and talk about strategies to mitigate the.

Requirements: Students to the class must have:

  • A laptop that they have root or administrator access to.
  • A laptop capable of running a virtual box machine, multi-core, with 8gb+ of ram.

All materials outside of the Requirements will be provided.

Speaker

James McKee

James McKee

Solutions Developer / Enterprise Architect / Security Analyst, 10-4 / Trimble

Open Source Game Development in the .NET Ecosystem

With so many frameworks to choose from, aspiring game developers are often overwhelmed with options. In this session we’ll explore the decisions that go into choosing the right framework for your project. Next we’ll look at one in particular: Duality. Duality is a flexible and open source framework for developing 2D games with .NET. I’ll show you the fundamental patterns and principles behind game development and walk you through creating a simple game in Duality.

Speaker

Organization with .NET Core and Github

This presentation will describe the .NET Core and some it's features, as well as how to get started and how it is integrated with GitHub. Furthermore, topics on organizing code and project files to better meet the standards of the new .NET Core.

Speaker

Juan Davila

Juan Davila

.NET Developer, Holodreams Tech

Overcoming Your Fear of Failure

Have you ever been too afraid to try for an opportunity because you feared that you wouldn’t get it? In this talk, you’ll learn more about some of the causes of fear of failure, along with clear strategies that you can use to overcome it and advance within your tech career.

Fear of failure is very common, especially among women who are underrepresented in tech. You should attend this session if you’d like to learn how to develop more confidence, build a strong support network, and avoid the pitfalls of perfectionism and procrastination. We’ll use relevant examples from TV and pop culture to illustrate how you can overcome your fear or failure and further develop your potential as a tech leader.

Speaker

Olivia Liddell

Olivia Liddell

Cloud Training Specialist at Cloudbakers, Cloudbakers

OWASP Top 10 Vulnerabilities & ASP.NET

In this talk we’ll go over the new 2017 OWASP Top 10 vulnerabilities and how they apply to ASP.NET. We’ll include a demonstration of each vulnerability, the risk it poses, how to detect the attack, and how to mitigate it.

The Open Web Application Security Project (OWASP) Top 10 list are the most commonly exploited security threats found on the web today. Securing your applications & clients against them will go a long way towards mitigating any security risks and protecting your application from these threats. In this session, we’ll go through each of the top 10 vulnerabilities showing you the vulnerability in action, what the impact is going to be, how to detect it and most importantly how to fix the problem. Code samples will be freely available and we’ll examine the vulnerability in MVC/WebApi.

Speaker

Bill Dinger

Bill Dinger

Solutions Architect, VML

Package All The Things

So you are a developer. That's cool. You make people's dreams come true with code? Great!

Now what?

How can you share your creations with the rest of the world, especially fellow developers?

Packaging and deploying software for discovery and use by an audience of your programming peers tends not to be fun, straightforward, or exciting.

Come to this session for some exciting, straightforward fun as we take a whirlwind, polyglot tour of software packaging and publishing systems. We will utilize an example web service client implemented for different ecosystems (JavaScript, Python, Java, C#, Ruby) to compare and contrast the steps needed to make your super cool code public and your project a success.

Personal Kanban

Join me for a quick review of the major concepts presented in Jim Benson's foundational book, Personal Kanban. We will start by reviewing the two simple rules of Personal Kanban: 1) Visualize your work, and 2) Limit your work-in-progress (WIP). Then we will cover other important topics from the book, including establishing your backlog, what is value stream (or how to organize your Kanban Board), what it means to pull work through the process, and how to embrace kaizen (a state of continual improvement). The goal is to give you enough information to get you started down the path to using Kanban to manage your own personal tasks and projects.

Speaker

Keil Wilson

Keil Wilson

IT Enterprise Business Applications Architect, Nelnet

Privacy By Design: Software Development in the age of GDPR

This conversation is an indepth dive into the Important parts of GDPR for software developers. Even though GDPR is a European standard, there's no denying that this is the direction that the software industry is going, more emphasis will be placed on protecting the data that customers and businesses rely on. In this conversation we will discuss the GDPR, the impacts of this law, and what can be done from the software development side to make sure we develop software that follow defense in depth practices.

Speaker

James McKee

James McKee

Solutions Developer / Enterprise Architect / Security Analyst, 10-4 / Trimble

Prototyping a mobile app in an hour

In the world of software development, static mockups and presentations aren’t always the best way to convey an idea or test it with your users. Including quick prototyping to your workflow will help you communicate and create a tangible asset to test. This talk is for anyone who would like to learn how to create a rapid prototype in one hour. In this talk we will walk through the process of building a mobile app. We’ll discuss the benefits of a prototype, the workflow and viewing your prototype on a mobile device.

Speaker

Brian Pope

Brian Pope

Designer, Aviture Inc.

R Programming: Getting Started in Data Science

R programming has become a useful language in the field of data science. It has allowed practitioners to apply statistical a wide number of data sources. But where does one start to learn the principles in the language, and also develop models that are useful?

This workshop will go through the basic usage of R programming including: * Installing R programming * The basic programming protocols in R, including the value of libraries * The basics of RStudio (the IDE used for R), * R Markdown * How data is accesssed (API, libraries, data files) * Data sources and ideas for researching data * Overview of basic models (focus on regression) * Data Science examples will be noted * Data visualization with ggplot and other data visualization options

Speaker

Pierre DeBois

Pierre DeBois

Founder, Zimana

Recipe for Innovation - Beyond the Ingredients

Innovation is the holy grail of software today. Everyone wants to come out with the next disruptive technology, butwhy do some organizations struggle to reach this creative nirvanawhile others make it look so easy? To better understand this phenomenon, we'll look to the kitchen. Example: You can have all of the ingredients to make a cake, but if you mix them in a cereal bowl and put it in a meat smoker you won't be pulling out anything tasty out any time soon. This is because a recipe involves much more than just the ingredients. Software is surprisingly similar--even with talented people and great ideas you will struggle if you don't have the correct tools and environment. Let's peel back the onion and explore what really makes a team Agile and innovative!

Speaker

Eric Reichwaldt

Eric Reichwaldt

President, Shyft Solutions LLC

Refactoring Team Interaction – Dealing with Dysfunctions within the Team

It is a simple thing to disrupt a software team, bad management can fracture a team, however significant damage can be done by team members themselves. Recovery from inter-team dysfunctions can feel impossible to solve. It is important to know these pitfalls and how to avoid them. Teams at all levels of maturity can be disrupted, the dysfunctions of disempowerment and broken communication can quickly damage the productivity of any team, but these disruptions will be especially felt in an agile software team reliant on interactions for success. What factors have the largest impact on teams? And what can team members, facilitators, and managers do to strengthen teams and avoid the pitfalls? This presentation will cover real world team problems encountered in software development projects and what specific actions were taken to fix these problems from within teams.

Speaker

Scott Grimes

Scott Grimes

Software Engineer, Agile for Defense

Reliable and Portable Integration Tests with Spring

Integration testing can be difficult and unreliable. Integration tests often require complex setup, access to remote resources, and specific test data, but can end up failing for “reasons”. This presentation will show how TestContainers and Spring Cloud Contract to can be be used to write portable and reliable integration tests.

Speaker

Billy Korando

Billy Korando

Senior Software Consultant

Rethinking REST Practices with GraphQL and AWS AppSync

GraphQL has proven to be a viable technology since its inception at Facebook, but it has yet to go truly mainstream. With the advent of hosted GraphQL platforms like AWS AppSync, this no longer must be the case. GraphQL is a protocol and toolset for querying your data in a structured way. The AppSync platform enables easy management of GraphQL instances on AWS. In this session, we start with a brief introduction to GraphQL and how it can change the way you think about your data. Then we will look at how AppSync allows you to get up and running with your own GraphQL endpoint. This simple demo will show how hosting a GraphQL instance on AWS gives you a flexible, self-documenting API that can serve as an efficient alternative to RESTful web services. No experience with GraphQL or AWS is necessary, but a general understanding of REST and APIs in general is a plus.

Speaker

Mathew Warger

Mathew Warger

Developer, Keyhole Software

Retrospectives - How to improve processes and get people working together

So many business problems can be solved better just by talking to one another. The technology may be straight-forward to master, but learning how to improve processes and foster better working relationships on a team requires communication.

Learn how a simple tool like a retrospective can lead to improvements in how we approach projects, provide better solutions, and provide focus to our teams. I'll cover the basics of what a retro should (and shouldn't) address, how to use simple techniques to make them useful in a contextual way, and how you can expand them beyond your software teams.

Speaker

Rob Nickolaus

Rob Nickolaus

Director of IT, Arbor Day Foundation

Scrumicide - Killing Yourself the Agile Way (and how not to)

In this session, common pitfalls for agile teams are explored. Agile roles and team issues day-to-day are discussed. At the end of this session, leaners should have practical information to identify and solve common agile issues.

The following is a general outline: - Toxic product owners o Lack of Vision and Strategy o Mistrust of your team abilities o Generally does not understand or believe in the product o Trusts others more than you o Rude, belligerent and argumentative o Unqualified and uninformed o Pointing bully o Uninvolved - The Non-team Disease
o How to handle roles outside the project - Poor ceremonies o Stale Standup  No fun o Formulaic standup o Standup: Pushing forward and challenging each other o Ruh-Rohs in Retro: What to Expect When Reflecting  Same thing over and over  One size does not fit all o Feedback loops  Why agile demands them  Scrum Master Survey - Distributed Team Issues o Taking care knowing your team is different o Team time o Visuals o Showing movement - Cross-dysfunctional o No one is in charge o Social loafing o Training issues o Giving all the work to one person because they “know it”

Speaker

Nick Hershberger

Nick Hershberger

Scum Master, Manager, Fiserv

Securing a .NET Core Api using Identity Server 4.

This talk will go over the basics of OAuth and OpenID connect. Demonstrate how to secure resources including a .NET Core Api. The talk will also cover how to access secure resources via an Angular 5 single page application and a Xamarin mobile client.

Speaker

Thomas Pizzo

Thomas Pizzo

Founder, LyncStream Inc.

Setting Up a Modern Web Project with Angular 2, TypeScript, and Angular CLI

This session will walk attendees through setting up a modern web UI project using:

  • Angular 2
  • TypeScript
  • Angular CLI
  • NPM

We will discuss how this front-end web stack can be automated for a very efficient development and deployment process and discuss day-to-day scenarios faced by developers working with these tools. We will demonstrate some different project structures and the impact of utilizing various development environments and discuss common pitfalls faced by new developers.

If your background is in .NET, we will discuss how to integrate this stack with ASP.NET Core and implement an efficient debug process between the front-end (Angular/TypeScript) and an API layer being developed and debugged in Visual Studio.

The goal of this session is to leave attendees with the tools and information they need to efficiently leverage this technology stack on any new (or existing) project they may be involved with.

Speaker

Kevin Grossnicklaus

Kevin Grossnicklaus

President, ArchitectNow

Setting up your development machine to code against the Ethereum block chain.

Come watch a hands-on demonstration of setting up the infrastructure to build against the Ethereum block chain. The talk will go over the basics of setting up your IDE to code using solidity. Setting up a local block chain using NPM, Truffle and Ganache.

The talk will also go over some basic examples of writing and migrating smart contracts.

Speaker

Thomas Pizzo

Thomas Pizzo

Founder, LyncStream Inc.

Shaping Reality

Augmented Reality is changing the way we perceive and interact the world on a daily basis. It lets us see what a piece of furniture would look like in our living room, manage battlegrounds on our table, and translate signage text so we don't get lost. Couple that with the commoditization of smartphones, powerful graphics, and an ever-growing suite of robust AR solutions, it's never been easier to start shaping reality. In this session, we'll cover what AR is and how it works at a high level before diving into demonstrations involving facial recognition, gesture recognition, and superimposition. If you're worrying about how well you remember those college math and computer graphics classes, stop. I've curated a set of svelte AR frameworks (even some that are web-friendly) which all but trivialize AR implementation. Oh, and did I mention I'm using AR to present all of this?

Speaker

Josh Durham

Josh Durham

Data Operations Engineer, SportsEngine

Should I make the Transition to ASP.NET MVC Core? Will it Hurt?

In the past few years we have been exposed to great change in the Microsoft technology stack. With the release of ASP.NET Core it is often a common question from developers as to when/how/should existing products be converted to core. This expands to more questions such as: Can I upgrade in place? Will this disrupt my development cycle? Is today the right time to do so? Should I wait? Do I have to re-write? All amazing questions

This session will review the differences between the full platform & the core platform, as well as the justification & decision process as to which solution is the best for your organization. The session will end with tips & recommendations for the best method to transition and convert to the new framework.

Speaker

Mitchel Sellers

Mitchel Sellers

CEO, IowaComputerGurus, Inc.

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.

Solution Fitness – A Practical Framework for Engineering Excellence and Complexity Management

Solution Fitness is an aggregate measure of the overall health, resiliency, and maintainability of a group of software systems. It is made up of many smaller components that represent healthy software systems and ideal development practices. Solution Fitness is adapted from the popular Joel Test – 12 Steps to Better Code.

This approach is used to manage the complex and fast-changing landscape of Spreetail’s software platform. In the past, health and wellness of software was a subjective “feeling” - Spreetail was not using objective measurements to ensure code (and departmental) health. For example, some developers felt that systems were brittle and riddled with duplicated code. Other developers thought more highly of systems. These conflicting thoughts led to general malaise spread throughout the team. Solution Fitness gives a framework for discovery, learning, and (eventual) improvement of software systems, leaving developers empowered and motivated to build great software.

The talk will cover the overall Solution Fitness Framework, including the following benefits: • Platform Visibility • Distributed Opportunities for Professional Development • Increasing Stakeholder Trust of Engineering Teams

The talk will also touch on specific components of the Framework, including: • Application Performance Monitoring with New Relic • Continuous Quality Measurement with SonarQube

Speaker

Nick Ebert

Nick Ebert

Director of Engineering, Spreetail

SQL Server Scripting

Loading from text files using BCP, parsing rows with cursors, temp tables, and crazy sub-queries!

Speaker

Randy Walker

Randy Walker

President, Harvest Data Corp

Star Wars & Coding Practices

You don't have to be a Jedi coder to follow good coding practices!

In this session, I will share my own personal experiences with some coding practices - some recent experiences, and some from a long time ago in a galaxy far, far away....

I will include some points on team process and procedures, as well as clean code. I will explore the HOW and the WHY of following certain software development practices as a team. I want to have a conversation and discussion about these topics, and hope to hear how your team might be adopting them. There's a thousand of things we could talk about regarding coding practices, but these are the ones I will tend to focus on:

  • Clean Code & Using The Force
  • Naming Things & C3P0
  • Code Comments & Jar Jar Binks
  • Refactoring & Admiral Ackbar
  • SOLID & The Starship Enterprise (WHAT?!)
  • Unit Tests & The Death Star
  • Code Reviews & The Imerperial Senate
  • Continuous Integration + Deployment of Storm Troopers

I will include references from the books and other online materials.

I will also provide numerous memes of Star Wars characters - so there's that.

Speaker

Steve Kennedy

Steve Kennedy

Software Engineer, Assurity

Starting & Running a Software Development Business

Join Randy Walker, owner of an ISV, as he leads an interactive discussion on his successes and failures of running a software business. We will discuss marketing strategies, sales cycles, employees, networking, competition, licensing, legal issues, intellectual property, ways to keep the largest profit margin and the Microsoft Partner Program.

Speaker

Randy Walker

Randy Walker

President, Harvest Data Corp

Tabs Vs. Spaces - The Greatest Battle of Our Time

Tabs. Spaces. Such simple things, yet the epic wars that have been raged around these characters in developer circles have been tumultuous. Countless hours have been wasted in code reviews debating who is right and wrong. Teams have been torn asunder. Trolling has reached internet-crashing proportions. But the question remains: which one is better?

In this session, we'll cut through the hyperbole and emotions and get down to business. We'll see how compilers work with code, and how tests are set up to yield hard facts on performance and memory usage. We'll use this information to make rationale judgements for our coding standards. Come to this session with a sense of humor, and leave with insight into code analysis, automation, and decision making.

Speaker

Jason Bock

Jason Bock

Practice Lead, Magenic

TFS has come a long way

TFS has come a long way from its origins and is now a robust suite for managing your full ALM pipeline. I would like to show you how to get the most out of TFS to track, build, test, and have zero downtime deploys for your projects with deep analytical insights of the whole pipeline.

In this 45 minute we will demonstrate using TFS on-prem and in-cloud for creating easy to build but powerful workflows to make managing your teams a delight.

Demos and topics include:

  • New work features - doing and done
  • Work Item Tracking in GIT
  • Building .Net and Java
  • Automated Testing
  • Automated Deploy
  • Automated Rollback

The Art of Happiness

Kelley McManus is a Delivery/Change Management professional with over 18 years (yep, that makes me old) of significant experience spanning from oversight of local Project Management Offices to Global Strategy development, and management of Global Project Delivery teams. (Whew, done talking about myself in 3rd person now. That was weird.)

During my career in the Delivery and Change Management field, I have been part of Senior Strategic teams, as well as, assisted senior business leaders in building strategic and tactical plans to develop mission-critical business and technical projects. That was a lot of words, so here's the gist: I have done A LOT in the Delivery field, and have spent my career making people and the companies they work for "happy."

But there was something missing in my career journey: my own happiness. After nearly 20 years, I finally figured out how to get myself to my Happy Place! It wasn't easy, and some days it still isn't. But I picked up some tips and tricks along the way, and I've made it a personal mission to help others realize the importance of their own happiness—preferably before they're 20 years in to their careers. Now, the best part... I work for a company that makes me happy, and supports me in spreading the "Art of Happiness." I look forward to sharing with all that attend.

Speaker

Kelley McManus

Kelley McManus

Market Curator, Pillar Technology

The Art of PowerShell Runspaces

PowerShell runspaces are a known but little documented area that can help to provide performance improvements in your scripts. Besides just using this for performance gains, you can use this to provide a snappier approach to building GUIs in PowerShell. This presentation will show you examples of using Runspaces, RunspacePools as well as utilizing shared variables that can be viewed and modified in multiple runspaces during runtime. Also being demoed is a module called PoshRSJob (https://github.com/proxb/PoshRSJob) which provides runspace multhreading in a familiar jobs infrastructure.

Speaker

Boe Prox

Boe Prox

SQL Database Administrator

The future of web accessibility and ADA compliance

This talk will dive into the past, present, and future of web accessibility. I will discuss why accessibility is important, as well as new and upcoming industry standards, laws, and best practices that will help you make informed and inclusive decisions when working on new projects.

Speaker

Michael Fairchild

Michael Fairchild

Web Applications Engineer, University of Nebraska

The Microservice Manifesto

We all have the same goal. Getting out great software quickly, securely, and error free. Microservices can be a great approach for large teams and codebases to help address this need, but there is not a lot of codification around what exactly Microservices are and why they help solve problems. This discussion hopes to adress that in an opinionated, but dogma-free approach with the end result being happier teams, companies, and clients.

The Quantum Future

Quantum computers: pipe dream or reality? Before we try to answer that question, let's start with this: what in the world is a quantum computer and how excited should you be? A quantum computer makes use of the quantum states of subatomic particles to store information. Awesome, but you still don't know how excited to be. Well, that's what we're going to answer here! We'll begin with an overview of quantum computing terminology, followed by an analysis of how quantum and conventional computers differ. Once we've gained an understanding of what quantum computing means, we'll explore what makes it simultaneously astonishing and frightening. Finally, we'll write a program for a real quantum computer (simulator) using Q#. When we've concluded, you can decide whether quantum computers are a pipe dream, reality, or something in-between.

Speaker

Josh Durham

Josh Durham

Data Operations Engineer, SportsEngine

The Trials And Tribulations Of Being A Fully Remote Developer

Imagine working from home full-time. Your job choices are not limited geographically. You have a nice quiet workspace in your comfortable home with limited distractions. Lunch break in your easy chair. What's a dress code? You don't have to go outside in the morning during a frigid Iowa winter. Sounds perfect.

Now imagine this actually happening to you and nothing goes to plan. How do you stay motivated? How do you deal with communication breakdowns? The feelings of isolation? Of feeling like a second rate employee of the company?

In this presentation, Mike will review the tips and techniques he has learned over the past several years while being a full-time remote developer. This session is geared both towards developers and managers of remote development teams.

Speaker

Mike Cole

Mike Cole

Principal, Cole Consulting, LLC

Top 10 Development Behaviors of High Performing Teams

In Design Studio, we manage nearly 30 projects a year made up of student development teams. We want all of our projects to be successful and for all of the students to learn how to work appropriately in a development environment. One goal of our projects is to prepare developers to be successful members of software development teams by exposing them to behaviors that are associated with building and releasing high-quality software products. Therefore, we promote and require certain activities related to "good" development behaviors across all of the teams. We have a core list of 10 behaviors/activties that are required. I will go over these 10 behaviors during this session explaining what the behavior/activity is and talk about why it is important. I will also review how we evaluate teams based on these behaviors and what we are looking for with each of them.

Attendees will leave knowing the 10 required development behaviors/activities we teach to all Design Studio project teams and why we feel they are important to the success of our projects and the education of our students.

Speaker

Jeremy Suing

Jeremy Suing

Design Studio Project Manager, UNL - Raikes School

TypeScript 101

This class aims to introduce the benefits TypeScript provides to large-scale JavaScript projects.

As your professor, I will be covering the differences between TypeScript and JavaScript, how TypeScript suddenly became the cool kid, and of course, I’ll be assigning homework at the end (wink wink).


So as you are most likely aware, JavaScript is expanding its footprint every day and it is both overwhelming and amazing what you can do with the language nowadays.

However, as more large-scale projects start to use JavaScript, the process of making the code easier to write and more maintainable becomes more and more difficult.

This is a problem Microsoft recognized early on and they came up with the solution of TypeScript and released the first version approximately on October 1st, 2012.

In essence, TypeScript trying to help JavaScript reach new heights and become very scalable.

In this class, I’ll be covering the basics on how to transition from JavaScript to TypeScript to more advanced topics like real life applications of how TypeScript is being used to scale projects in innovative new ways.

By the end of this class, you’ll understand why so many powerful tech companies have embraced TypeScript over JavaScript and what resources you can take advantage to start being able to embrace it as well.

Unbreakable. Perfect: The Craft of Code

The best welders create seams so perfect that flaws cannot be detected even by an X-ray. Most welders will never get there. Code is no different. Do you write code that ‘works’ or code that is crafted so perfectly it will never show a flaw? We will explore timeless principles that make great code: recognizing code smells, writing for testability, keeping things simple and clear. Many of these ideas were written down decades ago, but are still ignored. The most important first step is viewing code as a craft, something that is done for it’s own sake rather than something hacked out to solve a problem. In this session, you’ll learn how to create a plan for steady improvements. Syntax, languages, frameworks all fade away. A mindset that is focused on craft will never fail.

Speaker

Joe Morgan

Joe Morgan

JavaScript Developer

Unit Testing Strategies & Patterns in C#

Learn common patterns and strategies to effectively unit test your code in C#. We’ll go over design principles and ways to effectively ensure your code can be easily tested as well as how to use common testing tools such as Moq, Autofixture, & MsTest to help remove some of the drudgery of testing.

Testable code is a widely advocated industry standard but the barrier to entry is incredibly high. In this talk, we’ll go over not just how to unit test your code using MsTest, Moq, & AutoFixture but the patterns & processes to ensure your code can be unit tested. We will touch on the basics of dependency injection and common patterns such as avoiding the use of static classes but also more advanced topics such as SOLID design principles and how they relate to testing.

We’ll give the attendees a wide variety of examples on how to test common C# projects such as web api and console applications and different scenarios such as how to test databases and external method calls. Many real world tips & tricks on dealing with common patterns and scenarios will be included to make your life easier. Most importantly, attendees will be given a good idea of how to start testing, how to measure the effectiveness of their tests, and what not to test.

Speaker

Bill Dinger

Bill Dinger

Solutions Architect, VML

Up and Running with Angular

If you have ever wanted to code an application with Angular this is your chance. Join us for a fun filled day of learning Angular in this hands-on workshop. You will go from 0 to 60 with your Angular knowledge and be able to create our own Angular applications by the end of this workshop. We will start with a new project and continue to build up the project until we have a full application at the end.

Topics Covered

  • What is Angular and the different parts that make up Angular?
  • Angular CLI Overview
  • Angular project layout overview
  • Creating common components like headers, footers, and menus.
  • Applying CSS to just a single component vs the whole site
  • Creating new components (pages)
  • Routing between components (pages)
  • Calling an external http service
  • Preparing your application for deployment
  • Testing overview (if time permits and our brains aren't already full with Angular knowledge)

Pre-Requisite Knowledge:

  • Html and CSS
  • Understanding of how events like click work in Html/JavaScript
  • TypeScript is helpful but we will cover the needed knowledge if you do not have any TypeScript experience

Pre-Work:

  • Node LTS 6.x (https://nodejs.org)
  • Visual Studio Code (https://code.visualstudio.com)
  • Angular CLI (npm install -g @angular/cli)
  • Create a new Angular project using the Angular CLI
    • Open Command Prompt or Terminal
    • Navigate to c:\ on Windows and ~/ on Osx
    • Run: mkdir projects
    • Run: cd projects
    • Run: ng new ng2ws --style scss --routing
    • Run: ng serve
    • Open browser and navigate to http://localhost:4200 and you should see the default web page for your Angular application

Speaker

Justin James

Justin James

DevOps Evangelist, Intel

Upgrading JavaScript Frameworks: The Good, The Bad, and The Ugly

Ever wondered if you should take the time out of day-to-day feature implementation to resolve some technical debt by upgrading your JavaScript framework?

While you might have upgrade fever and can think of lots of reason to adopt this new and epic framework, there are many gotchas that you should be aware of before you make that decision.

I will be talking about the pros and cons of upgrading, as well as provide some real world issues I have ran into. Most examples will be based on AngularJS/Angular with some discussion on ReactJS also. However, many of the topics can be applied to upgrading to and from any JavaScript framework.

Speaker

Kyle Thayer

Kyle Thayer

Technical Lead, Xpanxion

User Experience Pitfalls

User Experience has become a buzzword in the tech industry. Project managers and business partners are clamoring to improve the experience. You understand UX is a business necessity, but you aren't quite sure what it means to you or where to begin. This session discusses some common pitfalls of user interface design and simple techniques to inject UX into your applications from the start. This is an introduction to the basic UX design principles you need to start adding UX to your project today.

Speaker

Ash Banaszek

Ash Banaszek

Sr. UX Specialist, Union Pacific Railroad

Using Async / Await in C# as Designed

The syntax for Async / Await in C# is straightforward but the underlying mechanics are not. This deep dive will help you to understand those mechanics so you can be a true wizard with Async / Await in C#. While discussing a number of code examples we’ll touch on various topics including: Task-Based Asynchronous Programming, System.Threading.Task, ExecutionContext, Synchronization Context, ConfigureAwait, Task debugging, TaskCompletionSource and AsyncLocal.

Speaker

Using Google Analytics To Market Your Software Idea

This presentation will provide some handy marketing tips for independent software developers. Through the use of analytics software, developers can learn some basic reporting and analysis ideas for marketing their software effectively online. The first few slides will give an overview of digital marketing trends, with the rest covering how to deploy Google Analytics & how to use the reports in the GA dashboard.

Speaker

Pierre DeBois

Pierre DeBois

Founder, Zimana

Website Security for Web Developers: What You Need To Know

We live in a world full of news articles about hacking attempts, successful hacks, and malware spreading like wildfire. It is important to have an understanding of how, as web developers, we can work to ensure our systems are secure. Often times security, and related, concepts are discussed, but never fully implemented. This session will take a deep dive into considerations, tools, and techniques to ensure that your developed applications are secure, and that you have tools necessary to validate the security.

We will review various web security techniques including the proper usage of SSL Certificates, additional HTTP Headers for Browser security support, automation methods of validating integrity of your application, the OWASP Top 10 Issues list, and the role of security assertions from third-party vendors. After this sessions, developers will have a toolbox of items to review, and reference materials to further educate themselves on common security pitfalls that impact developers.

Speaker

Mitchel Sellers

Mitchel Sellers

CEO, IowaComputerGurus, Inc.

What we learned from TDD (besides T and D)

During our journey to implement Test Driven Design, we chose to use TDD katas to teach the team in small, bite-sized chunks. Along the way, we learned a great deal about unit tests and how they can drive design. However, we also learned some valuable team skills and highlighted some misconceptions we had been carrying.

Come learn how TDD can highlight just how far away you team members may be from each other (code/design-wise), what causes friction on the team, how people approach problems, and what can be taught by code examinations. We'll show how TDD can highlight and cross-pollinate best practices, coding styles, modern language element usage, and even cause friction for those who may prefer to overengineer systems (and what you can do to smooth that over). Along the way, we'll cover just what exactly is a TDD kata and how you can add it to your toolbox.

Speaker

Rob Nickolaus

Rob Nickolaus

Director of IT, Arbor Day Foundation

What's in a price? How to price your products and services

So you have something new to sell: maybe your first book or a hip new SaaS. How do you decide the price? How do you know you're not overpricing? Or underpricing? Why, oh why, did you ever think to sell something?!

Instead of choosing a number by looking inward at your costs, you can use what programmers use best: an abstraction! You'll learn a model for picking the right price for your product and what that price communicates so you can confidently price your next great invention. You'll leave with an actionable list of next steps for pricing your future projects.

Speaker

Michael Herold

Michael Herold

Lead Application Engineer, Flywheel

What's new in ALM and DevOps with Visual Studio 2017, TFS 2018, and VSTS

Microsoft is continuously releasing new features and tools designed to help individual developers and teams be more productive. Come see the latest improvements in managing work with Kanban and developer improvements in Git, Package Management. Learn how to automate everything with the new web based and cross platform build and release services. We will wrap up talking about Microsoft's direction and some of the new features coming soon.

Speaker

Mike Douglas

Mike Douglas

Solution Consultant, Deliveron Consulting Service

What's New in C#7 (and Coming in C#8)

C# is an open-source, mature object oriented language, used by millions of .NET developers, yet its evolution is still underway. In this session, we'll cover the latest features that have been added to C#7 and how they work in detail so you'll know when to use them effectively in your new .NET projects. You'll also see the direction C# may be going with C#8 and beyond.

Speaker

Jason Bock

Jason Bock

Practice Lead, Magenic

Why Vue.js is Taking Over the Front-end World

Vue.js is the fastest growing JavaScript framework of all time. Now I know what you are thinking: 'Another JavaScript framework!' Well, this one is different. Vue.js is built on the ideas of simplicity and ease of use. This talk will be a comprehensive overview of how applications are build in Vue.js - including package management, directives, components. I will also touch on why it's so popular and the future of the framework.

Write Better JavaScript with TDD

JavaScript has become one of the most popular programming languages. Many of us who have been working with statically typed, OOP-orient languages like C# or Java have started working more and more in JavaScript. But while most of these developers who been using TDD in their previous language come to JavaScript, they often leave this practice behind. And it's understandable why. Developers who are familiar with unit testing in C# or Java can struggle with TDD in JavaScript. The language is different, the tooling is different, and all those cool frameworks that we use to build our applications can add complexity to the situation.

The good news is that unit testing your JavaScript is easy, and most frameworks have testability already built in! In this session, you'll see how to make sure your JavaScript is easy to test. You'll learn about the most modern testing tools that help you write tests, even for JavaScript that uses frameworks like jQuery, Angular, and React. And you'll see how TDD can help you start writing better JavaScript.

Speaker

James Bender

James Bender

Freelance Developer