- Cryptography 101
Learn the fundamentals of cryptography, including public/private and symmetric encryption, hashing, and digital signatures. Discover which techniques are appropriate for various situations. Review practical real life examples for storing passwords, protecting URL parameters, securely exchanging information with partners, and safely encrypting sensitive information on public web sites. Concepts apply to all platforms, examples will be in C# for both .NET and .NET Core.
Speaker: Robert Boedigheimer
Robert Boedigheimer works for Schwan's Home Delivery providing business solutions with web technologies. He is a Microsoft MVP, a Progress Developer Expert (Fiddler), an ASPInsider, a Pluralsight author, and a 3rd degree black belt in Tae Kwon Do. Robert regularly speaks at national and international events.
- Around Power Apps World in 60 minutes
Power Apps has been around for over 3 years now and it has grown exponentially. Join Daniel Christian, a Microsoft Business Solutions MVP and an early adopter of the Power Platform as he walks you through the Power Apps world talking about things such as the app building studio, the administration center, monitoring tools, hidden gems and mixed reality.
Speaker: Daniel Christian
Over 15 years of experience has brought about a dynamic spirited and performance driven professional which a blend of leadership and business knowledge. Recognized by Microsoft for writing blogs and videos focusing all four members of the Power Platform family. Although Daniel's main focus is around SharePoint, SQL, Common Data Service and OneDrive, he has a passion towards Artificial Intelligence and Machine Learning as well. As an active speaker and influencer at events and social media, Daniel demonstrates his passion of being a big proponent of sharing his knowledge and experience.
- How Functional Programming Made Me a Better Developer
With the rise in popularity recently, functional programming has become “The Next Big Thing”. As of today, there are tons of frameworks and tools that can be used for front-end, back-end, desktop, and mobile development. With that being said, the majority of us are still using object-oriented languages for our day jobs and don’t need to learn functional programming, right?
In this talk, I’ll walk you through my experiences learning functional programming over the last year, how my style of programming has changed, and how I now think about programming with regards to both functional and object-oriented paradigms.
Speaker: Cameron Presley
Cameron Presley is a Lead Software Engineer for SentryOne (https://www.sentryone.com), a speaker, a Microsoft MVP, Director of Speaker Relations for CodeStock (@CodeStock) and co-organizer of FunctionalKnox (@FunctionalKnox).
Based out of Charlotte, North Carolina, Cameron has ten years of experience working with start-ups and large enterprise both publicly and privately held to architect solutions, implement solutions, and training developers to be better today than what they were yesterday!
In his spare time, Cameron can be found hanging out with his family, playing board games, jamming on the bass guitar, and reading books.
- The Architecture Conundrum
Have you heard about the evil monolith? What about the majestic microservice? Is that all there is? I constantly see teams discussing how to solve their business problem within the limits of a false dichotomy. But, isn't microservices the way to go now? Are there any more options? If yes, how do we choose? In this talk, we'll do a quick tour of common architecture styles, their characteristics, and give some guidance on how to pick one.
Speaker: Orlando Valdez
Orlando is a Senior Software Engineer II at Credit Karma and is an organizer of the Java User Group in Charlotte. He is passionate about software engineering, architecture, and technology in general. At work, he constantly deals with complex problems, creating them and sometimes even solving them!
- Raspberry Pi and .NET Core
This presentation will show you how to quickly setup a Raspberry Pi 4 from scratch using .NET Core 3.1.
You'll be shown how to build locally, how to deploy to your Pi, and code directly on your Pi. We will also discuss code performance characteristics.
Speaker: David Wilson
David is a new presenter for us. He has been a software developer and engineer since 2001. He is currently a Staff Engineer at LendingTree, LLC where he focuses primary on backend services, OAuth2 authentication, systems security and architecture.
During David's free time he enjoys spending time with his family, DIY projects at home, and his car.
- Abstract Art: Getting Abstraction "Just Right"
Abstraction is awesome. And abstraction is awful. Too little, and our applications are difficult to extend and maintain. Too much, and our applications are difficult to extend and maintain. Finding the balance is the key to success. The first step is to identify your natural tendency as an under-abstractor or an over-abstractor. Once we know that, we can work on real-world techniques to dial in the level of abstraction that is "just right" for our applications.
Jeremy Clark makes developers better. By drawing on over 15 years of experience in application development, he helps developers take a step up in their skill set with a focus on making complex topics approachable regardless of skill level. He is a Microsoft MVP for .NET, and he has authored seven courses for Pluralsight, including "C# Interfaces", a course aimed at giving developers a clear understanding of abstraction. He loves speaking and has delivered over 300 technical presentations in the last 10 years in the United States and Europe. Jeremy lives in northern Washington with his lovely wife, 3 cats, 2 dogs, and a banjo.
- Node.js - Advanced Basics
Node has revolutionized modern runtimes. Their async by default strategy boasts 3x the throughput of Java. And yet, the language runs 5x slower than C++ (when JS is interpreted).
This talk is an advanced intro into the world of Node where we take a closer look under the hood. What's the event loop? Why are there multiple compilers for JS in Node/V8? How many threads are actually used in Node and for what purpose? We'll answer these questions and more as we go over libuv, v8, the node core library, npm, and more.
If you're developing with Node, want to start, or are just curious about how it works, please join us!
Speaker: Doug Jones
Doug is on our leadership team and has presented to us before (though it's been a while). He has been a software developer for over a decade with a focus on the financial industry. He is a Senior Software Engineer II at Credit Karma, working primarily on backend services, and loves learning new things!
- Build a DevOps Culture: Microsoft's Journey to adopt a DevOps culture
Learn how Microsoft has taken in its journey to DevOps over the past 8 years and completely changed their approach to building software and services. You’ll learn about Microsoft’s 90,000 engineers working in the public cloud delivering into production multiple times per day and how the some products handle the different cadences of several feature teams while maintaining a single coherent and continuously integrated source of the truth. Mickey explains how the team in Microsoft works and spends significant time talking through the harder cultural change issues that were encountered and discuss how Microsoft has gone about building a new, much more sharing-focused culture inside the company. Join in to discover what Microsoft has learned so far and the next areas it will focus on.
Mickey Gousset - DevOps Architect at Microsoft
Mickey Gousset is a DevOps Architect at Microsoft. He was formerly a Microsoft Visual Studio and Development Technologies MVP (for 13 years). Mickey has been lead author of several books, including "Professional Application Lifecycle Management with Visual Studio 2013" from Wrox Publishing. He is very passionate about DevOps and the cloud, and speaks on DevOps and Cloud topics at various user groups, code camps, and conferences around the world. Learn more about Mickey at http://mickeygousset.com.
Brian Randell - Partner with MCW Technologies LLC
For more than 20 years he has been building software solutions. He educates teams on Microsoft technologies via writing and training—both in-person and on demand. He’s also a consultant for companies small and large, worldwide, including Fortune 100 companies like Microsoft. Brian is a passionate software craftsman who still enjoys coding as he helps teams to improve their processes from idea to shipping to production management and monitoring. In addition, he’s become obsessed over the last few years with natural user interfaces and how to create compelling user experiences regardless of platform. In early 2010, he toured the world prepping Microsoft employees and Microsoft partners for the Microsoft Visual Studio 2010 launch. In 2012, he and his team built some of the first training content and demos for Microsoft using Visual Studio 2012, Team Foundation Server 2012, and Windows 8. For the 2013 release, he continued building new ALM content for use worldwide by Microsoft. He's currently a Visual Studio ALM MVP and co-author of “Professional Application Lifecycle Management with Visual Studio 2013” from Wrox Publishing. When not working, Brian enjoys spending time with his wife and two children who enjoy making him look bad on the Xbox One (with and without Kinect).
- The Interview - from the other side of the table
So – you’ve already aced your interview. You’ve got your dream job at a dream company. You’re pounding on the keyboard, solving complex problems, building amazing software – and then it happens. You are asked to interview a candidate. Now what? Your goal as an interviewer is to not only ascertain if a candidate is a good fit for your company, but also to sell your company to the candidate. A good hire is someone that can not only do the job, but is someone that you want to work with…. and that wants to work with you.
This talk will touch on the interviewee, but will mostly focus on the interviewer. How do you know what questions to ask? What should you be looking for in a candidate? What do you want to watch out for? What questions should you avoid? How do you prepare? We’ll start by reviewing the job requirements, then look at the candidate’s resume, following up by preparing interview questions. Once the candidate has arrived, we’ll cover introductions and trying to put the candidate at ease before moving into the interview process and then how to end it.
Speaker: Jeff Duncan
Jeff has been involved with software development for over twenty years, with over half that time building and managing teams of software engineers. Over the course of his career, Jeff has interviewed hundreds of software engineers as well as related professions including test engineers, project managers, and product managers - running the gamut from candidates fresh out of school to seasoned professionals with decades of experience; in formats ranging from face-to-face, to panel discussions, and virtual conferences.
- Mocking .NET Without Hurting Its Feelings
Unit testing has become an accepted part of our lives as .NET programmers. To help focus our tests to only the code we want to validate, Mocking Frameworks are a powerful tool in our toolbox. Like many tools, if you have an understanding of how the tool works under the hood, you can bend it to your will (and also know where it'll break if you bend too much).
In this session, you'll learn about the two main types of mocking frameworks: constrained frameworks (like RhinoMocks and Moq) and unconstrained frameworks (such as Typemock Isolator and Telerik JustMock). I'll dig into how the two actually do their magic and we'll discuss the pros, cons, and limits of both. We'll look at examples of how to use the frameworks in your tests, mocking out dependencies from your own code and even third-party logic.
You'll get the most out of this session if you're comfortable reading C# code and have a general understanding of class inheritance in .NET, along with some experience writing and running unit tests. Prior experience using mocking frameworks is not necessary.
Speaker: John M. Wright
John M. Wright has been a professional software developer for about 19 years, gaining experience ranging from "shrink-wrapped" software to large, distributed networks using multiple platforms and technologies. His experience spans the entire software lifecycle and though he has experience in a management role, his passion lives in writing high-quality, clean code while providing leadership through technical direction and mentorship.
He enjoys sharing his experiences with automated testing, mocking frameworks, and static analysis tools, or guiding other developers through the darker crevices of the .NET framework, while also learning from his peers' experiences-- helping everyone "level up" as a team. He has a pragmatic approach to and a heavy interest in continuous improvement of people, process, and product. He's currently applying that experience as a Senior Software Developer at Stack Overflow on the Talent product team.
For over a decade, he's lived in the western suburbs of Chicago, Illinois, where he enjoy spending time with his wife and teenage son. Before that, he grew up in Castroville, Texas, a small town in the middle of corn fields and cattle ranches to the west of San Antonio, Texas. He spent his college years at Southwest Texas State University in San Marcos, Texas, where he earned a Bachelor of Science in Computer Science degree and flirted with a Psychology dual-major before realizing he didn't want to pay for that extra time in school. He lived in the Austin, Texas area for about a decade before moving north to escape the Texas heat.