Check in for a great day of learning and networking.
Today, more than ever, we’re overwhelmed with a seemingly endless list of technologies to consider. Frameworks, libraries, and even languages come and go at such a furious pace that no individual can possibly keep up. So how do you determine if a technology is worth learning? What should you ignore? When do you stand your ground on a declining technology? Does it make sense to stay cutting-edge, or is there wisdom is being a strategic laggard? What we need is a game plan. So in this session, we’ll build a critical expertise for developers: Skill selection. We’ll consider the key metrics, job statistics, market conditions, and lifestyles that should drive your decisions. You’ll walk away with a mental framework for technology skill selection and a clear vision of the values that should drive your future decisions.
Scythe is an incredibly complex game with several moving parts that you track and progress diligently throughout play. To be successful, you need to manage your time and resources wisely.
This unique talk dives into a handful of strategies for achieving victory in Scythe that also have uncanny parallels to managing software development IRL.
Attendees of all backgrounds will walk away with useful task, team, and time management tidbits that are effective in agile environments. (They’ll also have a strong desire to pick up a modern board game. Wallets be warned.)
In this talk, I’ll offer an introduction to Elm. We’ll play in the Elm REPL to go over key concepts of the core language (values, functions and tuples...oh my!), and go over the Elm Architecture. Then we’ll walk step-by-step through installing and building a simple user interface with Elm, and see how fearless refactoring in Elm can be!
We often hear about new architectures and paradigms in terms of high-level conversations or generic demo applications. In this talk I’m going to share the technical details of a real-world serverless architecture used by my parking startup, FlexePark.
Building on Google Firebase makes it possible to scale to 100,000 concurrent users with confidence, knowing that costs and revenue grow together. Development is both fast and fun, allowing you to focus on your core application.
Come see serverless architecture in action and learn how to:
Remember the last time you stored an API key or password in plain text in a config file? To make matters worse, that config file made its way into source control too. Now the entire development team knows your sensitive information. How does one improve upon this in an ASP.NET Core app?
In this session, I’ll introduce you to the .NET Core CLI’s Secret Manager tool and the Azure Key Vault. You’ll learn the role each tool plays in the development lifecycle of an ASP.NET Core app. Along the way, we’ll improve a sample app riddled with secrets handling anti-patterns.
Developed by JetBrains, Kotlin has been catching on lately because of its null safety guarantees, functional nature, type inference, full interoperability with Java, cross-platform support, and ease of use with Android and Spring. Is this something you and your team should considering spending time to learn?
In this session we will go over what Kotlin is, what problems it solves, and what makes it stand out from other JVM languages. You’ll come away with enough knowledge to decide if this is something you and your team should consider adopting.
In the world of cloud today, it is difficult to keep abreast of all the tools and frameworks available for developers. In this session we will take a look at the different options available to all developers on AWS with a specific focus on how it works for the .Net developer. We will cover technologies that make it faster and easier to build and maintain your programs covering managed virtual machines, managed databases, containers, serverless technologies, and more. Come join the fun and see if there is a service that we offer at AWS that can make your work life easier.
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:
Our team is made up of a real mixed bag of developers and product managers.
One size does not fit all! It became quickly apparent to us that we needed to adapt our meetings to our people. Everything from scheduling, structure, leadership, and goals for each meeting needed to be carefully considered to add cohesion and remove distraction.
This talk will:
Our team works primarily in Ruby on Rails, but the information I want to share applies to any development team, working in any tech stack.
After a late-night eBay bender, you've acquired a cornucopia of Bluetooth-enabled gizmos: heart rate monitors, BBQ thermometers, light bulbs. As you stare at them your mind races: now what? In this talk we'll check out the Web Bluetooth API, a new way to control physical devices from your browser. We'll see how to build webapps that react to Bluetooth inputs, how to reverse engineer strange ArrayBuffer streams, and how to power your conference slide deck with a bicycle. Eesh, I hope that last demo doesn't fail.
We have all met superstar Software Engineers and Developers. They work just over 40 hours a week, but get nearly twice as many PBI's done as everyone else, seemingly always have a solution to every problem, and have such high code quality that it's almost impossible to find a fault in their logic. Yet, when we try to follow in their footsteps, we end up with 60 hour work weeks, hair loss and broken keyboards. What do they do that is different from everyone else?
We'll take a look at how these superstars work. We'll dive into their mindsets and see how they optimize for learning, prioritize tasks, do less and obsess in ways that make them have passion and purpose to allow them to not only excel, but have less stress and be happier in a field that is overburdened by burnout, impostor syndrome, and bad work-life balance.
It is now a given - or at least, it should be - that our work should be accessible to as wide an audience as possible. Too often, though, this isn't the case; either because developers don't know how to make our work accessible or because we don't know how to make a business case for investing time in accessibility.
A large percentage of the population will have a disability at some point in their lives. For some, this will be a permanent disability, such as someone losing his sight. For others, it will be temporary, such as someone unable to make finely controlled mouse movements due to an injured wrist. It may even be very temporary - the person who can't read an important document because it doesn't display correctly on her smartphone. By following best practices for accessibility, we can allow people who would otherwise be locked out of our websites to use them effectively, while also improving usability for the majority of the audience who do not actually identify as disabled.
This talk covers both general design principles to follow and some specific technical changes to make when coding.
MongoDB Stitch is a serverless platform designed to help you easily and securely build an application on top of MongoDB Atlas. It lets developers focus on building applications rather than on managing data manipulation code, service integration, or backend infrastructure. MongoDB Stitch also makes it simple to respond to backend changes immediately, allowing you to simplify client side code and build complex flows more easily. This talk will cover ways that MongoDB Stitch helps you respond to changes in your database and take your applications to the next level.
Grab a plate of food and meet some people you don't know!
According to Human Factors International, “an estimated 50% of dev rework could have been avoided with usability testing.” Usability testing is an inexpensive, quick and iterative way to get meaningful feedback around product decisions before they make it to the coding stage. It’s easy enough to execute that anyone can do it. We'll walk through a very quick introduction, how to test (even on a budget of $0), and run through some successful case studies.
Microservices have been a hot-button topic for a few years, but what are they, why would I need them, and how will they help me? The Microservice Manifesto sets out to put forward an opinionated but dogma-free approach to bringing Microservices into your organization regardless of language or technology stack that will help you get products delivered faster, more securely, and error free.
I've helped fortune 50-500 companies in the US and large organizations all over the globe tackle some of the worlds hardest challenges and get the most out of their software development life-cycle using Microservices. So you'll learn the do's and don'ts that will make you more successful with your Microservice implementations.
The C# language team has been making some awesome improvements. In March 2017, we were given C# 7. This major release brought some powerful features such as: pattern-matching, tuple literals/deconstruction, and local functions to name a few. Since then the team introduced the notion of point releases. Expect to learn about all the features of C# 7, as well as the C# 7.1 and 7.2 point releases. Additionally, we'll take a look at the plan for C# 8.
When using Azure SQL Database, you're paying for performance. In this session, you'll learn what tools and techniques are now available to help you be cost-effective. You'll see how to use features such as scaling, in-memory OLTP, and columnstore to minimize query run times and optimize resource use. Query Performance Insight and Automatic Tuning will be covered so you know how to monitor your environment and automate tuning. You'll be ready to get the most performance for the least amount of money from SQL Database.
Source control can easily be seen as only a caretaker for history and has so much more power that can be leveraged to increase productivity.
Throughout this session we will cover basics of git such as branches, commits, and remotes. Building from this base knowledge we will explore real world patterns that have helped teams be more productive. The journey will continue with us exploring how to extend git using tools like GitHub and TravisCI that can be used to create reviews, validate commits, and foster collaboration.
You will leave with a solid knowledge of git and the understanding of ways to integrate it into your flow.
Machine learning may be a hot topic in the tech industry currently, but what exactly does it represent and what can it be used for? This talk will explain ML in an approachable, easy to grasp way applied to an interesting concept. Can we determine abstract concepts like beauty using machine learning? What is the appeal of being able to do so? Does it make a machine more human? Or does it expose the human experience as a list of 1s and 0s?
This talk explores these questions and concerns in regards to applying machine learning to classically artistic pursuits. Participants will first be exposed to an overview of the breadth of human-defined beauty. Then, they will be able to examine a convolutional neural network model, pre-trained on labelled images, defined using Python and TensorFlow, and judge its ability to determine aesthetic merit for input images.
The goal of this talk is to encourage clamor, creativity, and care surrounding machine learning.
EF Core makes it easy to quickly stand up a data store for your application. As the application grows in complexity, though, it's important that the data store also evolves. This session goes beyond setting up basic tables, and moves into the depths of EF Core. We'll cover real-world lessons and their applications, like:
You’ve bought into the Agile process. Your team is grooming its backlog, keeping its work-in-progress low, and focusing on delivering value to the users. But when you all sit down for a retrospective, there’s something working against you - your own brains. Using unconscious shortcuts and hidden heuristics, they can lead your team down a path to the worst result possible: wasting time!
You don’t have to take that lying down - you can fight back! Come learn about how your brain interprets cause and effect, the ways in which it wants to think of things as narratives, and all the tricks it does to save itself from having to think. You’ll learn how to maximize your time as we cover ways to focus your retros on what matters, talk about how to avoid getting trapped in the blame game, and discuss the value of perspectives.
When you think of low vision, what comes to mind? A user that is near sighted? How about far sighted? Maybe partially blind? These are all qualifying cases of poor vision, but low vision is more complicated than the prescription of glasses or contacts.
According to the World Health Organization, they categorize low vision based on specific levels of visual acuity and field of vision (W3.org, 2016). With that in mind, we as developers can look at different categories of low vision including color vision, visual acuity, contrast sensitivity, etc and make an effort to bake in things like zoom, non-conflicting colors, and re-wrapping of columns in to our code.
My talk will cover what vision accessibility is, different categories of low vision, what the needs of the users are, and what we as developers can do to achieve a great user experience for low vision users.
Want to make an impact in your community, but don't know how, or feel like you don't have time?
You're not alone. Luckily, there are a number of ways you can use your tech-industry skills to create positive change in your community - and yourself! (Fun fact: volunteers live longer and make more money than those who don't volunteer.)
In this talk, we'll look at the why's, the how's, and the where's for sharing our skills. You'll learn more about the breadth of ways to give back - both technical and non-technical - and hopefully leave feeling empowered to reach out in your own community and start making connections.
The Digital Universe. Comprised of data not only coming from people but also from “things”, will reach 44 zettabytes, or 44 trillion gigabytes by 2020. Trying to make sense of all these data will be practically impossible. Also, only ~20% of the information in the digital universe would be a candidate for analysis. So how can your organization effectively identify only the data needed for analysis? Should you move it all in the cloud and hope that technology will always get better, faster, cheaper? What about processing, operating and storage costs of these data? What would your organization do with the rest of the data unused? Distributed Data Science is a hybrid solution that involves executing Machine Learning algorithms on IoT (EDGE Computing) and in the Cloud.
In this talk, we’ll explore how Distributed Data Science can help solve the ‘Big Data’ problems in the Digital Universe and help your organization extract value from the data.
This will be a discussion on containerization, how .Net applications can run inside containers, why you might want to containerize an application and how to deploy a .Net application in a container on AWS.
Do you want to predict customer behavior? Evaluate the content of a photo or sound? Detect Fraud? Feed usage data back into your algorithms to improve them automatically? All of these things are being done today using Neural Networks for Machine Learning.
This talk will cover the technologies used to create Neural Networks and give an introduction to the basics of why they work, the different types, and how they are being applied to today's business problems. The topics covered include:
You'll leave with an understanding of Neural Network terminology and basic concepts, and understand how these neural networks can be applied to real world problems.
TARGET AUDIENCE: Anyone interested in driving innovation
Nonviolent Communication is based on the idea that all human beings have the capacity for compassion and only resort to violence or behavior that harms others when they don't recognize more effective strategies for meeting needs.
Especially in our technological industry, there are many chances for miscommunication which can lead to all parties feeling dissatisfied. Unspoken expectations, ignored feelings and accusatory or aggressive language can bring an otherwise productive team to a halt. This presentation will show you how to be aware of yourself and how your actions affect others, and how to deal with and understand others that may be negatively affecting you.
Almost every week, we hear about another major data breach in the news. As a result, each of us has to become more security conscious about how we design and build systems. Nowhere is this more important than when we talk about protecting our application’s data. As developers, we need to take an active role in building our applications with a security first mindset, and this includes the database.
In this talk, we’ll understand how data compromises can occur and some of the features built into SQL Server you can use to defend against them. This includes how to properly setup users and roles in your database to follow the principle of least privilege. I will then show how to encrypt connections between your application and SQL Server. We’ll discuss how to encrypt data stored in your database and wrap up by talking about how to mask sensitive data. We’ll do all of this from a developer’s point of view so you can understand in pragmatic terms how to interact with SQL Server more securely.
Today, security is everyone’s responsibility. When finished with this session, you will have a list of practical steps you can implement to make your applications data in SQL Server more secure and you will be better positioned to work with you security engineers and DBA’s to build secure applications.
How is your testing plan? What feedback to you get with each pull request? How confident are you that your code changes won’t have unexpected consequences?
Using App Insights, provide an overview of how to implement, configure and access logging and telemetry information for services and applications running in Azure. We will walk through how to create meaningful trace logs and telemetry information that helps developers diagnose issues or improve their code. We also will look at App Insights capabilities allowing the product L3 support personnel to query, create and manage dashboards to monitor the health of their apps and services in Azure.
What does it take to craft a great experience for new users of our product? Once we're ready to move past MVP-stage, having learned what we needed to learn, there's still more to think about than merely what capability to give our earliest adopters and how that translates into functionality for the team to build and scale. Even if you're late to the game, there are always new users to care for with established products too.
Enter the concept of "New UX". It's a quintessential component of product design. This session explores the idea of transforming new users into power users. It'd be nice if we could all hone our intuition skills and create absolutely 100% intuitive products 100% of the time, but that's more fantasy than reality. So we must leverage techniques that help us make our new users feel awesome!
Most improv classes advertise themselves as ways to become a better public speaker or to gain self-confidence. What they don't tell you is that successful improv doesn't just involve getting in front of people, making things up, and trying to be funny - it comes from knowing and understanding a few key rules.
In this interactive session, we'll talk first about the different kinds of improv and how they correlate to the different kinds of development projects. We'll then talk about a few of the improv rules, such as 'Yes And', 'Sweeping', and 'Avoiding Denials'. I'll then show how following, or occasionally breaking, these rules can make you a better developer and teammate. Volunteers won't be necessary for this session, but they will be appreciated!
You will leave this session ready to 'Yes And' to your team, while 'Sweeping' away the CRUD!
Software development is an activity that’s fraught with complexity, ambiguity, and therefore risk. Many organizations attempt to mitigate that risk through stringent processes, but there is a better way.
In nature, there are three types of systems.
Most organizations attempt to build resilience, but do so in a way that nearly guarantees fragility. Designing for “antifragility” is a much better goal.
In this talk, you will learn about the concepts of antifragility, the concepts of teams (as opposed to working groups) and how we can apply antifragile concepts to make our teams less fragile:
Remember when the Echo was made available back in late 2014? It was invite only, then Prime only, then finally available for everyone the next summer. Only, most people didn't really seem to care. _What does it even do? Why should I bother? Can't I just use my phone?_
Fast forward to 2018, and it seems like everyone at least knows the Echo, and probably the Google Home. People know how to use them and why you'd have one. The question now has become "Which one should I get?" rather than "Why would I ever buy that?"
We've hit the point where people can reasonably expect skills to be on both the Amazon Echo and the Google Home. Both devices are in enough houses where it's worth the investment to create skills and actions for each platform. Luckily, this isn't nearly as difficult as it may seem.
We'll walk through the creation of both Alexa Skills and Actions on Google, look at the differences (there are a few, mostly names), look at what's the same, and see just how we can build a single application to serve both smart assistants. By the end of the session, we'll have a sample application running on both platforms from a single set of REST endpoints.
How does a computer actually work? Let's find out by taking a look at the Nintendo Game Boy, which was released in 1989. We will learn how a computer functions by using Rust to write an application that emulates the Game Boy's hardware. Come and learn how some of your favorite classic games were coded.
Serverless is the fantastic toolkit for deploying and operating serverless architectures. Serverless lets you focus on your application, not your infrastructure. You can test and deploy in a single environment to any cloud provider. Serverless allows automatic scaling, is Cloud provider agnostic and enables rapid deployment.
Join us for the closing notes and happy hour in the Serenity room! Grab a drink or two on us, and meet some more wonderful people from your local development community.