2018

Sponsors 2018

Speakers 2018

Speaker photo

Brian Wentzloff

Writing smart contracts in Ethereum using Solidity

This workshop will cover the basics of what blockchains are at a technical level, how smart contracts work in a blockchain context, and how they can be used in real world scenarios. Participants will see a basic distributed application built using the Solidity programming language. The paradigm of programming these applications will be discussed as well. In Solidity, you have to pay money for every line of code written. Your code is also immutable, so you need to plan for every contingency. This workshop will discuss how to balance those two seemingly conflicting concepts.

Speaker photo

Jonathan Barket

Microservices Hurt, But I Like It.

You've heard about the benefits of microservices. You've heard how billion dollar unicorn companies with thousands of developers have improved their productivity, become invulnerable to scaling issues and solved the problem of distributed computing with a handful of open source projects. Join me to watch a 40 minute, slow motion replay of reality punching my team in the gut as we spent three years evolving our microservices stack in the cloud. This is a service provider and language agnostic look at approaching distributed computing if your team is still small enough to fed by two pizzas.

Speaker photo

Bill Dinger

Continuous Security: Integrate OWASP tools into your DevOps Pipeline

OWASP has a number of flagship projects designed to help us deliver secure applications. The OWASP Depedency Check works with Java, .NET, and Javascript dependencies to check for known security vulnerabilities. The OWASP ZAP is a attack proxy to actively probe your application and the OWTF (offensive web testing framework). Finally, we'll go over the Application Security Verification Series (ASVS) as it applies to your DevOps toolchain itself to make sure you know and are securing your pipeline itself.

Speaker photo

PJ Hagerty

Pop Songs and Programming for Fun and Profit

The idea here is to convey ideas on how to get into development and stay as a developer using the tunes and titles from popular music. It's a fun talk where learning how to be a better person leads to being a better dev. Through a series of pop songs we’ll look at what it’s like to: - Start out on your own as a programmer - not sure where to go or to get involved in open source - Work on a team dedicated to Open Source in the crazy world of SV/SF - Open Source at a big blue company, and how large corporations view Open Source - Sharing your knowledge with the next line of new folks looking to get in on OSS - Going out on your own - giving a conference talk - being the expert and sharing what you know

Speaker photo

Don Schenck

Taking Control Of Your Life

STOP! … take a deep breath … and start now to take control of your life. Face it; as IT professional, we’re often overwhelmed with demands on our time. Family, friends, self and work are enough to keep most people on their heels, but we have to add in constant learning and imposed deadlines. What is a person to do? This talk will give you some technologies, practices and the mindset you need to take control of your life. Stop feeling overwhelmed and scattered, as if someone else controlled your time. There’s more to life than deploying web services. Don Schenck will deliver this entertaining and possibly life-changing talk in a style that can best be described as a combination of a preacher, Tony Robbins, and a 39-year veteran of software development. You don’t want to miss this.

Istio Service Mesh with kubernetes: Microservices 3.0

Microservice Architecture means a lot of ‘things’ you have to prepare and account for. Just to rattle off some concepts (buzzwords): Load balancing, routing, circuit breakers, Canary and Blue/Green deployments, pool ejection, tracing, monitoring, chaos engineering, dark launches STAHP. JUST STAHP! To account for any (or all) of this ‘stuff’, you have historically had to include several libraries in your code and write code to support those libraries. But aren’t *micro* services supposed to be small … micro, even? Enter Istio and sidecar containers and the Service Mesh. Implement all of the above without changing your code. Move these operational concerns away from developers and into the domain of the operations people. Go home Friday at 5. This session -- valuable for both developers and those in operations -- will introduce Istio and show some of its capabilities, giving you the information you need to start using the next generation of microservice tools.

Speaker photo

John Callaway

TDD: A Pragmatic Approach

Unit Testing can be mysterious endeavor with a high bar for entry. It doesn't have to be that complicated. Many examples on the Internet show you how to write a Unit Test, but not how to test an entire application. We'll discuss the fundamentals of Test-Driven Development, how to approach an entire application, how to separate logical layers, and how to test the boundaries. We'll continue to explore more advanced topics using Mocks, Fakes, and Stubs. And we'll wrap it up with a discussion on how to arrange your application and test suite to ease the pain of future enhancements and modifications.

Speaker photo

Clement Ho

Refactoring CSS Bloat

CSS technical debt is something we all face as our projects scale. Different companies and projects resolve these debt differently. I'd like to share about how GitLab identified our CSS bloat and what actions we have taken and are planning to take to remove our bloat and our plan to create a UI component library that adheres with a design system so that other frontend engineers can easily add new features without worrying about styling.

Speaker photo

Sean Sparkman

These are the anDroids you are looking for

Want to write your first Android application? Join us to learn how to write an Android application using C# with Xamarin. I will show you how to consume a real API and render the data beautifully inside of Android. Bring your laptop and follow along whether you are using Visual Studio or Visual Studio for Mac. You will walk away with a working running native Android application. C# is a great language for writing mobile applications. Anything you can do in Java and Kotlin, you can do in C#. You will be able to create native mobile application and use all of the Native API's including calling Java and Kotlin code from your C#.

Speaker photo

Will Mitchell

Front end testing that you won't hate

Engineering on the back end has a robust testing ecosystem. Increasingly, it's possilbe to test your front end applications the same way you test the back end. In days gone by, testing front end JavaScript code was cumbersome and brittle. However, as front end applications have become more robust and complex, it's become ever more important to thoroughly test your applications. We'll explore common patterns in the React community then show off the power of Jest and Enzyme. You'll see that these tools utilize familiar practices and will be ready to apply them to your applications. You will get the most out of this talk if you have some prior programming experience, particularly if you enjoy testing. However, if you're new to the field, the material will still be approachable.

Speaker photo

Daniel Costea

Raspberry Pi Invasion: The Second Wave Part 2

Artificial Intelligence and Internet of Things will bring a new revolution like electricity or smartphones and Machine Learning will change the way we code. In this session it's time to get something useful from our sensors, something like prediction. Processing the data in old fashion way is very complex and rigid. Use Machine Learning instead! It’s easy, it’s flexible and it works!

Raspberry Pi Invasion: The Second Wave

The new vision of Microsoft, “Any Developer, Any App, Any Platform. - Scott Hunter” is getting closer to reality through .NET Core invasion in the world of IoT. In this session you will see a web application running on Linux and reading sensors in real-time. I will present a demo with the latest web technologies from Microsoft, like: ASP.NET Core 2.1 and SignalR on a Raspberry Pi 3 device. .NET Core is here to stay!

Speaker photo

Jason Swett

How My Lack of Testing Skills Lost Me a Job Opportunity - and What I Did About It

"Sorry, we were looking for more of a senior-level developer. Your code needs WAY more tests." This was the response I got after sharing a code sample with a prospective employer. I was crushed. I thought I WAS a senior-level developer. But unlike the PHP background I had come from, employers in the Rails world expected, rightly, that candidates should know how to write tests. It took me a few years but I did end up becoming a competent tester. I got my first full-time Rails job in 2013 at a small startup that made a health-related product. Their codebase had a test suite, which allowed me to see what a real production test suite looked like. Their test suite had some problems. There were a number of "flapping tests" that would fail once in a while, seemingly at random. This taught me how to reproduce flapping test failures and how to fix them (or what to do if they can't be fixed). Their test suite also used Cucumber for integration testing, which taught me the pros and cons of Cucumber. In early 2014 I started working with a client with an "Airbnb for surfers" product who had only one developer and a very fragile and messy legacy codebase. This experience helped teach me how to use tests to wrangle legacy code into compliance. Working with this legacy codebase also helped me develop the skill of what Michael Feathers calls "characterization testing", or what I sometimes call "reverse TDD". In this talk you'll learn: - Why it was hard for me to get started learning testing - How my exposure to various different codebases helped me learn what makes good and bad tests - What the high-level testing lessons I learned were - How you can get better at testing faster than I did - Testing books, tutorials and other resources you can turn to

Speaker photo

Ron Dagdag

Say What ?! Teaching our robot overlords how to understand humans.

A bot framework empowers developers to build bots that support different types of interactions with humans. We will explore conversation as a platform and focus on creating skills using the Microsoft Bot Framework. Then we’ll discuss how Cortana Skills Kit can help you easily create intelligent, personalized voice-enabled experiences. We use Language Understanding Intelligent Services (LUIS) to train our robot overlords to understand humans.

Speaker photo

Shawn Cummins

A Discussion on Approaches to Web Application MultiTenancy Architecture

Generally aimed at architects, but there are things to be gained at all skill levels. This discussion will talk about several approaches to architecting a Multitenant web application. * Full Tenancy * Sharded Tenancy * Multi-Single Tenancy * Hybrid Tenancy Included with each is a list of pros and cons that should be considered. I'll also discuss things like Feature Isolation, Data Isolation, Security Isolation, and many more. Finally, i part ways with some thoughts that offer guidance for the future.

Speaker photo

Jenn Creighton

What Tamagotchis can teach you about ES6 generators

What do Tamagotchis — everyone’s favorite digital pets from the 90s — and ES6 generators — pausible functions for async tasks — have in common? Both are really fun to play with. As a recent side project, I built a web-version of a Tamagotchi. But I struggled with one key element: how to handle a series of animations. What do you do when animations need to know that other animations are complete? What do you do when you’ve queued animations but a user event needs to be handle instead? This talk explores where I went wrong (hint: promises) and what worked (hint: generators). You’ll leave this talk with a solid grasp of how to combine promises, generators, and coroutines for async work — whether it’s for a Tamagotchi or your day-to-day work.

The how's and why's of flexible React components

Building React components is simple — until it isn’t. Real world constraints can lead to large components that “do it all”. Or near identical components with one or two changes. So how do we create flexible components without sacrificing readability and scalability? Jenn shares how she re-architected components to handle multiple use cases and increase engineer happiness. She’ll breakdown the technical concerns for each component, the patterns she considered using, what didn’t work and what did. You'll learn more than the "how" of component architecture -- you'll learn the "why"! You’ll get the most out of this session if you’ve written React components before. But even if you haven’t, you’ll walk away with practical patterns, tips and tricks for the future.

Speaker photo

Tristan Sokol

The Ins n' Outs of Serverless Functions

Serverless functions are a new tool for developers that can let even the smallest of entrepreneurs feel like they are at Google scale. They can be the backbone of a microservice architecture for your application/website or handle a pipeline of complicated back-end processing. I'll give a quick high level conceptual overview of how serverless functions work, then dive into practical examples of common use cases such as webhook handling, front-end content delivery, and scaled asynchronous data processing using tools like Google Cloud Functions & Twilio Functions. We'll also cover all bases with testing tips and development tools. The audience will walk away with practical examples of ways to incorporate hosted functions into their workflows, as well as a solid understanding of the benefits (extreme cost savings, improved scalability, architecture) and drawbacks (cold start times, complexity).

Speaker photo

Paul Zolnierczyk

JSON driven Xamarin.iOS UI's

Creating workflows in Xamarin.iOS where your screens can vary between 1..X screens can be tricky to design and implement if using XIBs or Storyboards. What happens if a particular user only needs to see 3 screens in this workflow while another needs to see 5 screens? What if the text and elements differ on each screen? That's where creating dynamic screens using iOS's UIStackView along with a bit of code that's driven by JSON can help with your dynamic workflow. In this talk, I'll demonstrate a storyboard workflow and show that it is effective but has limitations. I'll then take the user through converting this storyboard into something that utilizes Xamarin.iOS' UIStackView that is driven by some JSON that can be driven by an API.

Speaker photo

Joel Lord

A Token Walks Into a SPA...

Seems like all you hear about these days are Single Page Applications. Angular, React, Vue, Ember are transforming the way we think about the frontend. But what about securing these applications? This often tends to take a back seat to speed, animations and other cool features of these frameworks. Between cookies, tokens, keeping users authenticated, and handling resource access, securing these apps can be tricky - you may even feel like you need a second page (gasp!) for your authentication setup! But we have the technology to create truly secure single-page applications. In this talk, we’ll walk through best practices and caveats that apply to any single-page application framework.

Speaker photo

Bobby Johnson

ChatOps with Slack and Webtask.io

With the rise in remote workers living the digital nomad life, Slack has become a central hub for team communication and collaboration. Teams have begun pushing critical monitoring information and kicking off processes directly from Slack. Webtask.io makes it easy for you do to this without having to wrestle with standing up and configure a server. In this presentation, Bobby will show you how to listen for specific events and push messages directly into a channel, setup a scheduled task that reports results to a channel and create CLI like commands with access control to fire on demand processes.

Speaker photo

Jan Jorgensen

How to Learn Anything and Teach JavaScript

Learning to develop web apps is hard, but clearly it’s possible and even fun. Many of us have read about or heard why it’s hard, and plenty of people are working to make it easier. Yet, unlike playing violin, golfing, or even cooking at an expert level, we do not yet have a well-defined methodology for teaching or learning this in-demand skill. We’ll talk about the cognitive stages of learning and how they apply to something you already have experience with -- JavaScript -- so you can not only share your expertise effectively with a newcomer, but so you have a clear path to acquire any new skill.

Speaker photo

Mark Shead

Agile Lean Flow Simulation (hands on)

Whether your organization makes software or widgets, it is important to focus on how efficiently you deliver. DevOps, Agile, BDD and TDD all provide powerful tools and approaches for delivering value, but your work must be optimized to actually deliver efficiently and quickly. In this session, each table will simulate an organization doing some simple work that will let us run experiments and track statistics. The goal is to simulate work in such a way that we can see how changes impact the value being delivered at both the departmental level and the organization level. This simulation will give participants a chance to think holistically about the way value is delivered through their own organizations. Most important, participants will leave with the ability to run the simulation with their teams back home to help create discussion on how to best optimize their delivery process.

Speaker photo

Ram Lakshmanan

Micro-metrics to forecast performance Tsunamis

Elevator Pitch In recent times, hyper sensitive micro-metrics measuring technologies are employed to forecast Tsunamis. Similarly, it's hard to forecast production performance problems beforehand. In this session you will learn the micro-metrics to be measured in dev/test environments that can forecast production performance problems with fair level of accuracy. Abstract Most enterprises measure macro-metrics (response time, CPU utilization, memory consumption) only. These macro-metrics aren't adequate to forecast lot of production performance problems. Below is the list of micro-metrics that an enterprise can measure to forecast and detect performance problems: 1. GC Latency In all the modern platforms, garbage collection is automatic. Even though GC is automatic, it's not free. GC pauses entire application. It means all the customer transactions that are in motion will be frozen until GC completes. GC latency is good micro-metrics to measure. GC latency is the amount of timew application is paused to do garbage collection. Increase in GC latency is a lead indicator of memory problems in the application. 2. GC Throughput Garbage collection throughput is the amount of time your application spends in processing customer transactions vs amount of time it spends in doing garbage collection. One should target for high throughput (i.e. application should spend more time in processing customer transactions and less time in GC). Degradation in GC throughput is a lead indicator of increase in compute resource consumption. 3. Object creation/reclamation/promotion rate The rate at which objects are created heavily influences CPU utilization. If inefficient data structures or code are used, then more objects will be generated to process the same number of transactions. A high object creation rate translates to frequent reclamation (i.e. Garbage Collection). Frequent GC translates to increased CPU consumption. Increase in Object creation/reclamation rate is a classic indicator of memory/CPU problems that is pervasive in the application. 4. Thread count and states Application threads can be different states: NEW, RUNNABLE, WAITING, TIME_WAITING, BLOCKED, TERMINATED. If there is an increase in count of particular type of thread states, it should be evaluated. Too many BLOCKED threads can make application unresponsive. Too many RUNNABLE threads can cause CPU spikes. 5. Thread groups and their utilization Thread group is a collection of threads doing particular type of tasks. Enterprise applications can have multiple thread groups. Each group thread count and states of those threads should be analyzed. Sometimes threads in critical thread groups may be fully consumed, sometimes there could be overallocation, sometimes there could be under allocation. 6. Memory wastage Application memory is wasted in the form of duplicate objects, suboptimal data types, inefficient data structures, over-allocated but underutilized objects. We want to constantly measure memory wastage between releases. If there is an increase in the amount of memory wastage then application will suffer memory problems, response time degradations and CPU spikes. How to source these micro-metrics? GC Latency, GC Throughput, Object creation/reclamation/promotion rate metrics can be sourced from garbage collection logs. Thread Count and states, thread groups and their utilization metrics can be sourced from thread dumps. Memory wastage metrics can be sourced from heap dumps. In this session brief overview will be given on how to capture and analyze GC logs, thread dumps and heap dumps as well.

Speaker photo

Lance Finney

So you're doing NgRx, but is your Data Safe?

A core tenet of ngrx and the Redux pattern is that state changes occur only in the reducer, and only by returning a new state object. What some people fail to realize is that this is only a pattern, and it is not enforced in any way. Best case, your application is one accidental modification away from crashing down like a house of cards. Worst case, there are subtle flaws in the workflow that you don't notice until it is in production. In this talk, I will make the case for immutability, illustrate the difference between compile-time and run-time immutability, and then see how we can easily achieve both using the record-extension pattern, leveraging the power of both Typescript and Immutable.js.

Speaker photo

Zac Brown

Easy CI/CD for your Python app using Bitbucket Pipelines

Building your application is the fun part, but delivering your application is equally important. Many engineers lack the additional devops knowledge required to build and maintain a pipeline process using tools like Jenkins, or Bamboo. Bitbucket has saved the day, we'll explore how. In this talk, we'll discuss and demonstrate the various options and functionality available to help us easily build, test and deploy our Python applications with just a few lines of yml

Speaker photo

Amanda Perkins

ONE OF US, ONE OF US

It’s hard to be on a team and not be one of the team. By making interactions with teammates better, teams start to bond, creating high functioning work relationships that go far in crafting better products. Interactions like a simple conversation about the latest movie or where to go for lunch can go a long way to becoming a more involved with the team. It's about how to get your dev team to accept QA as one of them. I’ll give tips and tricks to help inspire QA to work with their teams and foster a relationship that will build quality into everything the team creates. I'll talk about the Rubber Duck trick. Talk about finding opportunities to learn more about code, automation, what the team is doing. And about the interpersonal relationship building that you can do easily. We will talk about interpersonal relationship skills and how a simple conversation can be an opening to start getting more involved in the team dynamic. Will discuss the concept of Rubber Duck and give suggestions for places to improve skill sets (udemy.com, Lynda, Coursera, Khan Academy) I want attendees to be able to become inspired to get closer to their teams and create those relationships that make everyone's job fun and create a team that's cohesive and works well together.

Speaker photo

David Neal

Node.js Crash Course

Node.js is a compelling platform that is quickly spreading from startups to the enterprise. Node.js strategically unites developers of all backgrounds through the common language of JavaScript. Why should you learn Node.js and where do you start? You will come away from this talk with the evidence to support Node.js, and tools you need to be productive. We will walk through a typical workflow of creating and debugging a web application. We'll also look at popular frameworks and modules, and other learning resources to give you the best start.

Speaker photo

Angel Rivera

CI/CD 101 with CircleCI Workshop

Continuous Integration and Continuous Delivery/Deployment (CI/CD) concepts are increasingly adopted by many technology organizations and teams. CI\CD enables teams to establish processes that increase velocity, collaboration and quality of their codebase. CI/CD enables developer & operations teams to breakdown unnecessary silos and gain a deeper knowledge of their respective arenas. In this workshop the participants will be introduced to the basic fundamentals of Continuous Integration and Continuous Delivery/Deployment. Participants will learn the core principles of CI/CD and have the opportunity to reinforce what they’ve learned in a hands on workshop featuring the CircleCI platform. The workshop will demonstrate CI/CD build configuration, code commits, commit builds, code testing and packaging. The participants will leave with a hands-on experience and understanding of what it takes to CI/CD.

Speaker photo

Adam Hill

DEPLOY ALL THE XR!!!

We will explore using Unity3d to build an XR app then runs on many different devices. I will teach you how to set up a project to make it easy to test / build / deploy your app. Come learn about Unity3D & XR for fun and profit!

Speaker photo

David Stokes

MySQL 8 -- A New Beginning

MySQL 8 is a major redesign of the most popular database on the web. it will have a true data dictionary (no more .frm, MYI, or other little files) which means you can have millions of tables within a schema. Windowing Functions and Common Table Expressions are available, multi plane character support (because you need emojis in your data), user roles, more JSON functions, and big optimizer improvements. And there will be a better 'out of the box' user experience. And you will learn what happened to MySQL 6 and MySQL 7.

The Proper Care and Feeding of MySQL Databases for Busy Linux Admins

Are you in charge of MySQL databases but have no DBA training? This sessions is for you! Learn what you really need to know to keep your MySQL servers happy, running quickly, and make sure your data is safe. See which config settings make servers more responsive and backup strategies to save your rear. Understand how to use replication for backup, where to spend your scarce hardware upgrade funds, why databases do not play well with others, how to escape account admin purgatory, and more. You may not be a trained DBA but after this session you will know the secrets of MySQL Administration on Linux.

Speaker photo

Scott Jones

Pissing off IT and Delivery: A tale of 2 ODS’s

Pissing off IT and Delivery: A tale of 2 ODS’s. ==================== **Long live RDBMs!** For years they have been a staple of large data set storage, manipulation and retrieval. But what if I told you that we were able to simplify every aspect of our new Operational Data Store product development; from data maintenance and implementation to API design, scalability and maintainability by doing one simple thing? That thing: Throwing out the rulebook and starting new with a MongoDB-backed document store. We will walk through our document and API design to show how using Mongo Atlas, Mongo Stitch and Mongo Import we were able to radically change how we build Operational Data Stores and the short and long-term benefits these changes brought us. Description ==================== The Acxiom team changed their Operational Data Store product by moving from an RDBMs to a MongoDB Document Store. This talk will be about how the use of a document store, the use of MongoDB Atlas and the use of Mongo Stitch simplified our ODS product while 1. Allowing for an increased profit margin 2. Decreasing time to market 3. Increasing scalability 4. Lowering our latency 5. Decreasing our dependencies on Acxiom IT

Speaker photo

Cam Soper

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

You know the feeling. An executive sends that email that your web application's performance is costing sales. All hands on deck! Fix it now! Your future is now hours poring over log files, days guessing where the bottleneck is. You hope for success with each new deployment. There's a different path. Application Insights to the rescue! Instrument your app with Application Insights to get a deep look into the performance profile of your on-premise or Azure-hosted app. Prevent bottlenecks before you get that "all hands on deck" email. You will learn: - What telemetry Application Insights collects automatically - How to instrument your ASP.NET Core application with custom events and metrics - How to view and analyze the telemetry using Azure's powerful tools

Speaker photo

Daniel Trimble

Migration to Kubernetes in the Cloud

Our path to the cloud and kubernetes included the following steps: Monitor Identify Criticality 12 factor conversion Azure VMs Load Testing Right Scale Production Docker Containers Kubernetes Orchestration Elastic Autoscaling We will talk through each step and how we have improved our code quality along the way.

Blockchain Panel : "Excitement in Arkansas"

This panel will discuss the growing usage of blockchain in Arkansas. Moderator: Gary Dowdy - Chief Technology Officer at JB Hunt Panelists: Dr. Mary Lacity - Director of Blockchain Center of Excellence at the University of Arkansas Daniel Trimble - Sr. Expert Software Engineer at JB Hunt

Speaker photo

Chris King

Installing Skynet to Production - Stitching Together Microservices, AI and Kubernetes in the Cloud

We will present a reference architecture for integrating a deep learning model into a production web application backed by containerized micro-services. The use case is a recommendation engine that uses collaborative-filtering to predict which items a user will be interested in. Starting with an overview of the data-science lifecycle, we will quickly focus in on the run-time architectural components. We will dive into all of the components in the flow including: gathering training data, training the model, saving the new model, serving the model via a web service, scoring new items as they are added, and finally producing a top K recommended items for a user. We will also review the CI/CD pipeline used to build and deploy changes and discuss how additional features would be added. Finally, we will review our definition of what it means to be "production-grade" and discuss how all of these criteria were achieved.

Speaker photo

Scott Ford

Introducing Storybook - a tool for building and documenting UI components in isolation

## Outline * What is Storybook? * Getting started * Story time * Writing your first story * Use additional stories to showcase UI options * Setting up actions to view events * Addons * Knobs - UI to dynamically control the way your component is rendered * Info - add documentation for your components * Storyshots - snapshot testing for your stories * Backgrounds - make sure your components look great on multiple backrgounds * Viewport - make sure your component renders correctly at different sizes and layouts ## Learning Outcome A basic understanding of Storybook and how to use it to its fullest potential ## Target Audience Developers using React, Angular or Vue to build UI components

Important Metrics for Measuring Code Health

## Outline * Explore the health metaphor * Defining the metrics * Churn * Code Coverage * Complexity * Tools to collect the metrics * Why these metrics? * What are good metric values? * Using the metrics together * Exploring common scenarios ## Learning Outcome An understanding of the meaning of 3 important software metrics (churn, code coverage, and complexity) and how to interpret values in combination. ## Target Audience Developers, Managers, Product Owners

Speaker photo

Gaines Kergosien

7 Habits of Highly Paid Developers

Software and website developers are in extremely high demand and rates continue to climb, but many developers have not yet realized their potential. Being good at what you do is important, but it's equally important that you can communicate the value you bring to an organization and build a reputation that will provide opportunities for growth, both professionally and financially. We will work together to measure your accomplishments, establish a personal brand, and walk away with a resume that conveys your true value!

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 road map for how you too can join this exciting and profitable industry.

Speaker photo

Gary Dowdy

Blockchain Panel : "Excitement in Arkansas"

This panel will discuss the growing usage of blockchain in Arkansas. Moderator: Gary Dowdy - Chief Technology Officer at JB Hunt Panelists: Dr. Mary Lacity - Director of Blockchain Center of Excellence at the University of Arkansas Daniel Trimble - Sr. Expert Software Engineer at JB Hunt

Speaker photo

Josh Holmes

Performance tuning your progressive web app (PWA)

Your users deserve a fast and responsive web app and PWAs help you step that up a notch through notifications, offline support and more. There's a lot that goes into that from understanding how the DOM tree works and how that plays with CSS and JavaScript to how to leverage the ServiceWorker for cashing and push notifications. In this session, we'll build a PWA that show cases many of the things you need to keep in mind when building a great and fast progressive web app.

Leadership 101

"The company picks the manager, the team picks the leader. Sometimes you are lucky enough that it's the same person." This is something that one of my first technical mentors told me. I really wasn't able to fully comprehend that statement until much later in my career as I've had a lot of great leaders in my life, only a small percentage of whom were actually my manager as well. In this talk, we'll dive into what it means to be a leader both as an individual contributor and as a manager.

Speaker photo

Erik Ostermueller

Java Performance in 30 Minutes: The Performance Training Session

The clock is ticking! With just 30 minutes of troubleshooting, how close can you get to finding the root cause of a Java performance problem in production? What observability tools would you use? What subsystems would you investigate? This presentations show one approach to getting the most out of your 30 minutes and aims to show that much more is possible than is generally thought, even for Java developers with little exposure to performance tuning. You will learn to identify the most widespread, repeated and pernicious Java performance defects using walk-throughs of more than a dozen server-side performance puzzles that are ready to run on your own machine. As an antidote to pervasive and lackluster average response times that are multi-second throughout the industry, this presentation provides a long absent, easy-to-follow performance training regimen that we all should master early on in our careers. This presentation is your guided tour to how much is really possible in 30 minutes. # Learn the P.A.t.h. Checklist ## Persistence -- the 'P' in P.A.t.h. Learn the 3 most common SQL performance anti-patterns and how to detect them. ## Alien Systems -- the 'A' in P.A.t.h. Alien systems are those your Java JVM communicates with over a network. Learn how to detect slow network requests from your JVM and identify exactly the code making the requests. Also learn how to avoid a huge security vulnerability with a very common network optimization. ## threads -- the 't' in P.A.t.h. Learn how to use jstack to take thread dumps that point to slow executing code. No need a the Java profiler in production. ## heap -- the 'h' in P.A.t.h. Learn the fastest way to assess whether GC processing is unhealthy, an learn a few tips for diagnosing memory leaks.

Java Performance in 30 Minutes: The Performance Training Session

The clock is ticking! With just 30 minutes of troubleshooting, how close can you get to finding the root cause of a Java performance problem in production? What observability tools would you use? What subsystems would you investigate? This presentations show one approach to getting the most out of your 30 minutes and aims to show that much more is possible than is generally thought, even for Java developers with little exposure to performance tuning. You will learn to identify the most widespread, repeated and pernicious Java performance defects using walk-throughs of more than a dozen server-side performance puzzles that are ready to run on your own machine. As an antidote to pervasive and lackluster average response times that are multi-second throughout the industry, this presentation provides a long absent, easy-to-follow performance training regimen that we all should master early on in our careers. This presentation is your guided tour to how much is really possible in 30 minutes. # Learn the P.A.t.h. Checklist ## Persistence -- the 'P' in P.A.t.h. Learn the 3 most common SQL performance anti-patterns and how to detect them. ## Alien Systems -- the 'A' in P.A.t.h. Alien systems are those your Java JVM communicates with over a network. Learn how to detect slow network requests from your JVM and identify exactly the code making the requests. Also learn how to avoid a huge security vulnerability with a very common network optimization. ## threads -- the 't' in P.A.t.h. Learn how to use jstack to take thread dumps that point to slow executing code. No need a the Java profiler in production. ## heap -- the 'h' in P.A.t.h. Learn the fastest way to assess whether GC processing is unhealthy, an learn a few tips for diagnosing memory leaks.

Speaker photo

Rhaelene Rollins Lowther

Strategies for Fostering Collaboration and Building a Foundation for a Unified Team

Game and Software industry veterans share real world strategies that help bring teams together to create better products. We will talk about big picture ideas like communication and creating buy in. These concepts will be brought to life with anecdotes and specific strategies we found successful in unifying interdisciplinary teams. Topics will include development diaries, team communication apps, postmortems, and more.

Speaker photo

Jeff Rudokas

Automating and auditing your infrastructure

A slew of tools are all ripe for automating your SDLC: Github, Packer, Jenkins, Terraform. How do you take them off your desktop and put them into the cloud? You want automation with security and audit-ability, so let's go from code to cloud! Connect all of the tools you've heard of, see exactly what went on, and barely push any buttons… unless you want to. We will begin with a live walk-through, taking code commits of basic terraform, a packer file, some application code, and demonstrating how jenkins and github can glue it all together in AWS for pennies, with speed, automation, security and visibility. After the walk-through, I will highlight the connections and configurations of each, and explain how simple it is for these tools to get you automated fast, whether you're a one man crew or supporting a cast of hundreds.

Speaker photo

Paul Spears

AngularFire: Bringing together Angular and Firestore for rapid application development

You have probably heard of two-way databinding, but have you heard of three-way databinding? Angular makes it easy to use two-way data binding to update the views of your web applications. When these bindings are connected to Firestore your applications can suddenly read and write in real time straight from the database. In this talk, Paul will demonstrate how easy it is to get started with both Angular and Firestore by live coding a simple chat application.

Angular Prototyping and Documentation with StackBlitz

Modern web frameworks are often built on a stack of advanced tools. These tool chains can act as a barrier for developers and designers who are looking to quickly spin up an example application, create a bug repo or start a prototype. StackBlitz is a web based IDE and build environment. With a click of a button StackBlitz will launch an editor, install dependencies, build your Angular application, start a development server and provide a link that can be used to invite others to participate. After taking a tour of StackBlitz’s most popular prototyping features we’ll take a look at how StackBlitz is used for documentation by the Angular team at Google as well as Angular Boot Camp.

Speaker photo

Aaron Cook

Evolution: Test Automation to Continuous Testing

Test automation has taken on a negative connotation over the last few years, specifically in organizations that continue to silo the automation team into a separate group. These folks have the unenviable task of "taking the latest build" and developing test scripts for it. These scripts need to be manually executed, groomed for feature drift, and maintained like any other component of code. This is often one of the last things that occurs in a release or worse yet, "one-sprint-behind", so that automation is never current. This is a recipe for frustration and constant release challenges. Continuous Testing (CT), in concert with Continuous Integration and Continuous Development (CI / CD) introduces the concept of test automation code, treated as code, embedded within the feature code, managed and maintained with each PR, and executed in a continuous fashion via Jenkins or another build tool. This ensures code coverage increases as your code coverage metrics trend, build over build. This ensures that your test code is always up-to-date with the feature repo, since they are developed hand-in-hand. This removes the stigma that test automation "takes too long" and is an expensive impediment to release, and creates the success patterns for safe, continuous release of your software, at the speed that the business can consume it. This talk will explain the evolution of test automation, from the early days of silo-d teams the power of a fully integrated team leveraging both software developers and software developers in test (SDET).

Speaker photo

Mary Lacity

Blockchain Panel : "Excitement in Arkansas"

This panel will discuss the growing usage of blockchain in Arkansas. Moderator: Gary Dowdy - Chief Technology Officer at JB Hunt Panelists: Dr. Mary Lacity - Director of Blockchain Center of Excellence at the University of Arkansas Daniel Trimble - Sr. Expert Software Engineer at JB Hunt

Speaker photo

Southern Arkansas University

Impact of Game Development & Virtual Reality Workshop Classes at SAU

User Identification Using Keystroke Biometrics