Accessibility Testing is an interesting process involving a mixture of automated and manual testing methods with a variety of tools. You may have an Accessibility test plan together, but now you need the tools to put it to use. In this session, we'll do a high-level view of how we can use screen readers in mobile and desktop environmen...
Level: IntermediateTags:Front-End & Web, Professional Skills, Testing
There is a unique world where Single-Threaded JavaScript manages to be much more. JavaScript interacts with its environment in ways that allow it to handle Asynchronous activities. Using several detailed code examples, we will examine these examples in a unique way to show how these interactions truly work. This talk has been also call...
Level: Introductory and overviewTags:Front-End & Web
Discover the art of unraveling complexity in your software projects and returning to the fundamental principle of KISS ("Keep It Simple, Software developer"). As complexity grows in any system, so do its potential points of failure, underscoring the importance of mastering the art of software architecture simplification. Journey with u...
Level: IntermediateTags:Patterns & Practices, Professional Skills
Abstract: Imagine this: you're about to hit the one-year mark in your first role as a software engineer. Just a couple of months ago, you were fresh out of college and ecstatic about landing a job at your dream tech company. Now, a year into your career, you feel lost, and the initial thrill has given way to a sense of uncertainty. As yo...
Level: Introductory and overviewTags:Professional Skills
In an era where technological advancements shape our world, the ability to communicate complex technical concepts to non-technical stakeholders is paramount. "Code to Clarity," is a dynamic session designed to help bridge the communication gap. Uncover the power of storytelling, visual aids, and analogies to demystify intricate technical ...
Level: Introductory and overviewTags:Professional Skills
Building apps for the cloud has always been hard. Developers are typically pulled away from writing their business logic and what matters most to deal with the complexity of the cloud. To help simplify cloud app complexity, Microsoft has introduced .NET Aspire. It includes a curated set of components that make sense to use in your C# ...
Level: Introductory and overviewTags:Cloud & Infrastructure, DevOps, Languages & Frameworks
Wrestling with the question - 'Is Technical Leadership for me?' For many technical individual contributors, this dilemma is not just a career choice but a leap into the unknown. This session is designed to demystify this transition, offering a unique perspective for those on the cusp of this pivotal decision. This talk is a compass ...
Level: Introductory and overviewTags:Professional Skills
Can an application be a monolith and microservices at the same time? Spoiler alert: yes! In this session, we will explore a TypeScript codebase that defies the traditional boundaries. Much like Schrödinger's famous thought experiment, the application exists in multiple states simultaneously during development, but it's true form is onl...
Level: AdvancedTags:Back-End, Cloud & Infrastructure, Patterns & Practices
We live in a world of increasingly complex software systems. It's not often that we get to work on a simple frontend -> API -> database setup anymore. Instead, we have a massive weave of interdependent systems running on-premises, in the cloud, or even both. Given this complexity, how can we possibly: Know how much load our systems...
Level: Introductory and overviewTags:Cloud & Infrastructure, DevOps
This talk covers how to optimize Dockerfiles and overall containerization for both image size and local/production build speed, with a focus on the Python/FastAPI stack. Refined from https://www.meetup.com/gem-city-tech/events/298375676/.
Level: IntermediateTags:Cloud & Infrastructure, DevOps, Patterns & Practices
Managing React state is hard. Why? Because there are so many options to consider! Local state, reducers, custom hooks, context, and over a dozen third-party libraries. In this session, we’ll explore the lessons I’ve learned from managing complex state in React over the last seven years. I’ll share my strategy for categorizing React state ...
Level: IntermediateTags:Front-End & Web
The aim of automated testing is to give us confidence that our code will run as expected in every situation–especially when we push changes. Good tests will increase your team's velocity of developing new features and reduce the headache of bugs and outages. As more applications shift to containerized environments, testing them become...
Level: IntermediateTags:Cloud & Infrastructure, DevOps, Testing
Interviewing needs to be a two-sided conversation and that is exactly what this talk is focused on. My goal is to talk to engineering leaders on processes to put in place to help scale their internal teams more efficiently as well as a 'peel behind the onion' type of talk for job seekers on things to look out for during the interviewing p...
Level: Introductory and overviewTags:Professional Skills
I’ve written a rather silly thing using AI and JavaScript that finds Bigfoot using Semantic Search. In this session I’ll show it to you, and show you how to build your own—all using local models, local databases, and local code—and without plopping down a credit card to use cloud APIs. I’ll show you the code I used to trigger a Semanti...
Level: Introductory and overviewTags:AI & ML, Databases
Do you use a CSS Framework like bootstrap? Or maybe you've been coasting for a few years on your current knowledge of CSS. You've maybe seen something called CSS Grid and wondered what it was... Maybe you have never seen `var()` used before. Let's discuss the latest newest hottest big features in CSS from the last few years, and get yo...
Level: IntermediateTags:Front-End & Web, Languages & Frameworks, Patterns & Practices
Abstract: As the FinTech sector expands, so does the sophistication of fraud schemes, necessitating advanced detection and prevention solutions. Our research explores the potential of generative AI innovations, particularly Generative Adversarial Networks (GANs) and synthetic data generation techniques, in shaping the future of FinTech f...
Level: IntermediateTags:AI & ML, Security
So many developers reach for the traditional relational database systems of MySQL, PostgreSQL, or SQL Server when building a web app, but there's another contender that might work for you: SQLite. If there's beauty in simplicity, then SQLite wins the database pageant. Just getting started with databases? This session dives into the des...
Level: Introductory and overviewTags:Back-End, Databases, Patterns & Practices
AI has captured the attention of the world—for better or worse. Hype, noise, and fear are dominating the headlines, with a huge focus on ChatGPT and its competitors. Today, most of us are being asked to do something with AI; and if not today, then tomorrow. Quite simply, AI is going to touch on every part of our jobs soon enough. Howev...
Level: Introductory and overviewTags:AI & ML
Over the past year, I built the same SaaS application six different ways: on Next.js Pages Router, Next.js App Router, Remix, RedwoodJS, Astro, and SvelteKit. These frameworks represent a diverse range of options based on different architectural patterns and development philosophies. The primary objective of this project was to document a...
Level: IntermediateTags:Front-End & Web, Languages & Frameworks
Our team at GetThru found ourselves with a scaling problem. Working with our existing infrastructure for sending text messages was becoming increasingly complex. Years of bewildering external requirements had led us to the point where the existing system was both incorrect and difficult to reason about. In this session, we'll go over a...
Level: IntermediateTags:Back-End, Cloud & Infrastructure, Patterns & Practices
Incoming Grenade! Hope your architecture can handle that blow. No? Come on in and learn how a self healing microservices architecture can make you bullet proof. No more 2:00 AM calls that production is down. I'll walk you through a large scale Microservices system we built and how we weathered the blows. Patterns that work, war stories fr...
Level: AdvancedTags:Back-End, Cloud & Infrastructure, Patterns & Practices
Are you engaged in a digital transformation initiative, working to retire systems as part of a merger and integration project, or sunsetting a legacy product? If so, then invest an hour to learn about the Minimum Viable Replacement framework before you potentially waste thousands of hours and millions of dollars pursuing the wrong stra...
Level: IntermediateTags:Cloud & Infrastructure, Languages & Frameworks, Patterns & Practices, Professional Skills, Other
Today's landscape of architectural choices for enterprise solutions is vast, with real problems to solve and consequential issues stemming from those solutions. Various tools and frameworks exist, yet there are fundamental patterns that distinguish enterprise solutions from one-off applications. We will examine a typical enterprise archit...
Level: IntermediateTags:Back-End, Databases
The desire to see web technologies power experiences on mobile/desktop is nothing new – the tools & techniques developers have at their disposal have gotten smart. With Blazor, developers get to build modern web apps with C#/.NET, running on server or fully client-side through WebAssembly - .NET developers are understandably excited about...
Level: IntermediateTags:Front-End & Web, Mobile
(Formerly Building your Front-End With Intention: Architecture and Tooling for your next Front-End project!) Front-End code bases can quickly become really difficult to maintain or add new features to. This mainly comes from our Front-End components being highly coupled either through poorly written CSS or components having too many re...
Level: IntermediateTags:Front-End & Web, Patterns & Practices
The most commonly asked question in software architecture is why a team used a particular architectural style, set of patterns, technology, etc. Effective communication of architectural decisions is paramount in the ever-evolving landscape of software architecture. Architecture Decision Records (ADRs) are invaluable for documenting, shari...
Level: Introductory and overviewTags:Patterns & Practices, Professional Skills
APIs are critical in modern applications but are increasingly targeted by cyberattacks. This session equips developers with actionable strategies to secure APIs throughout their lifecycle. We will explore the key vulnerabilities, including authorization, authentication, data exposure and business logic flaws - providing practical techn...
Level: Introductory and overviewTags:Cloud & Infrastructure, Security, Testing
Today, using AI in your end-to-end (E2E) tests is more important than ever. Web apps are getting more complex, and users expect them to work perfectly. Traditional testing methods are not fast or accurate enough anymore. By adding AI to E2E testing, we can find and fix problems faster to keep us ahead in the market. Incorporating AI wi...
Level: IntermediateTags:AI & ML, Testing
Infrastructure as Code allows organizations to provision resources in an automated, consistent and repeatable manner. Terraform is one of the most popular tools because of its ability to deploy resources to multiple cloud and SaaS providers. In this talk, we will learn the basic structure of a Terraform project as well as the language ...
Level: Introductory and overviewTags:Cloud & Infrastructure
Test data is a pernicious issue facing every IT operation. Teams have challenges with stale data, differences with data between environments, referential integrity across systems, generating data dynamically for testing at runtime, having control over their data, or even understanding what data they actually need. The challenge is compoun...
Level: Introductory and overviewTags:Databases, Patterns & Practices, Security, Testing
Software architecture has a contentious reputation in the agile community. It is often seen as the cause of expensive, valueless meetings and stacks of documentation that no one ever reads. And yet, applications with poor architecture quickly devolve into buckets of technical debt, with the teams that work on them destined for feelings of...
Level: Introductory and overviewTags:Patterns & Practices, Professional Skills
In the quest for rapid software delivery, DevOps principles are misapplied or skipped entirely, leading to what we will call a DevOops culture. This conversation will humorously reveal how such missteps can ruin the development experience and slow down software delivery. We will then discuss how one might recover with a mix of seriousness...
Level: IntermediateTags:Cloud & Infrastructure, DevOps, Patterns & Practices
The onboarding process is essential for expanding team capacity. But without a well-defined procedure, the newcomers struggle to gather the necessary information to get everything they need to start their work, while the existing team members are burdened with guiding them all the time, which in turn impacts their own productivity. ...
Level: Introductory and overviewTags:DevOps, Professional Skills, Other
Anyone who is working with AI or considering doing so should care about security. When considering building an AI-powered system or product, the traditional attack surfaces and mitigations still apply. However, new attack surfaces can be present depending on the specific AI approaches used. In addition, due to the typically higher level o...
Level: IntermediateTags:AI & ML, Security
Every month there’s a new book, process, or technology promising to radically improve my ability to deliver software faster and better. Equipped with new tools and knowledge, I want to go all in and make it work. Except for some reason or another, the shape of the proposed solutions doesn’t quite match the shape of my problems. Somethi...
Level: Introductory and overviewTags:Patterns & Practices, Professional Skills