Whether you and your team are working on an existing enterprise-scale web app, or you've just come up with an amazing idea for a new project , the one thing standing between you and your goals is efficiency.
Sure, you can definitely hack your way through the bramble to get to your destination, but at what cost? Time, energy, stress, and (heaven forbid) loss of user trust. 😱
Nah, let's skip over that. 😎
You want to get this project to a spot where it's easier to maintain and get your team to a place where you're all on the same page. Start the new project on a solid foundation, or patch up the cracks in the one you've already got.
Here's how we get you and your team to create that excellent maintainable user experience:
Join me for Eight Full-Day Workshops experienced over four weeks. 🔥
Hey, I'm Kent. Over my years as a web developer, I've built applications at every scale, enterprise apps, startups with dozens of users, internal tools, and consumer-facing giant tech co. apps with millions of users. I've managed to stay on top of what users have come to expect from applications. You know the feeling you get when an app gives you a modern user experience that just works™️? I know how to get your app there. And that's what this is all about.
I couldn't be more excited to have you join me for this experience. I've reached well over half a million software developers with my educational content and open source software over the years. I get really jazzed hearing back from developers who apply my ideas to their apps and get jobs, promotions, improved sales, and reduced shipping stress. 💪
This four-week workshop series covers the full stack of web applications, using modern technologies and offering modern user experiences, at a level of collaborative maintainability and simplicity I wish I had years ago.
Here's what's included: 👀
Full Stack Foundations
Tuesday, July 18th & Thursday, July 20th, 9am-3pm (Mountain)
You're busy shipping software,
You've got tons of responsibility.
Solving problems with the simplest, most optimal pattern is absolutely one of them.
Shipping quickly is another.
In your rush to get things out the door, you can often skip over many important foundational concepts that would simplify your life a great deal without even knowing it. Even if you've been doing this for a long time, keeping up with advancements in software development is challenging (I promise, you don't have to use display: table to vertically center divs anymore 😩).
This two-part workshop will fill gaps in your knowledge you didn't even know you had and update your mental models for the NOW!
In the two days we go through this together, we'll cover modern best practices across the stack:
- Loading & Mutating Data
- Client-side Scripting
- Error Handling
- Form Validation
We'll cover a lot of ground, giving you a solid foundation for everything else you do on the web. ⚡
Professional Web Forms
Tuesday, July 25th, 9am-3pm (Mountain)
Forms are a deeply embedded aspect of your job as a web developer.
Since the very beginning of the HTML standard, forms have made the web more than just a series of documents that link to each other.
Forms gave the web the potential to be the dominant platform for computing. They gave our websites a standard way to perform data mutations. Making the user a producer of content on the web instead of just a consumer.
But forms can be fetching hard to get right! 😏
In the pursuit of a better user and developer experience, there have been many advancements in the way we do mutations on the web over the years. Some of these were a step forward on DX and a step backward on UX.
In this workshop, you'll learn we'll look at how we can have the best of both worlds using. We'll cover:
- Basic Form Mutations
- File Upload
- Progressive Enhancement
- Accessible Forms
- Validation and Type Safety.
I'm excited to show you how to provide an excellent UX for even complex forms while keeping the DX fantastic at the same time. Let's go! 💯
Data Modeling Deep Dive
Thursday, July 27th, 9am-3pm (Mountain)
Of all the things you can do to speed up your application, optimizing your database will probably make the biggest impact. It's surprising what a well placed index will do for database performance!
But it's not just about performance.
Modeling your data appropriately can help you avoid bugs, reduce redundancy, enable you to find answers to important business questions, and help you avoid downtime.
Data modeling isn't a "one and done" project checklist item.And it's not just a one-time shot either.
Adaptability is one of the most important goals of any web application.
You want the app code to adapt to ever-changing requirements over time. Databases are no different. Data requirements change over time. Learning how to properly adapt to those changes is critical to a positive database experience.
In this workshop, we'll use the Prisma ORM to give us a superb experience working with our database. We'll spend time:
- Fine-tuning the Database Schema
- Exploring Data in the Database
- Seeding Data for Development & Production
- Handling a Zero-downtime "Breaking Change" Migration
Data is the foundation of every great web app we build. Let's nail down performance and adaptability. 🔨
Authentication Strategies & Implementation
Tuesday, August 1st & Thursday, August 3rd, 9am-3pm (Mountain)
Security. That's the number one concern on everyone's minds as they think about authentication on the web.
How do we make this secure? How do we ensure the data we have associated with a person is only visible by that person? How do we avoid anyone else from getting access to that person's account and data? Oh, and what about two-factor authentication and third party OAuth?
There's a lot involved with properly securing user information. You want to set up authentication so securely that even if our source code was exposed and our user's password table was leaked, an adversary still couldn't get in. 🦹
But it's not all about security either. It's also about a great user experience, and a simple developer experience too. 😘
In this two part hands-on workshop, you'll build it all!
It starts with the foundational standards:
- Storing user preferences in cookies
- Using cookies to identify users
- Managing and safely storing passwords
- Securely validating passwords
From there, we'll get into more advanced topics:
- Managing logout and session expiration
- Locking down UI and backend routes
- Support Role-Based Access Control (RBAC)
- Support server-managed sessions
There's a lot involved here, but we're going to build it all and optimize for ownership and adaptability 🔥
When you're done, you'll have a deep understanding of how all this works together.
Web Application Testing
Tuesday, August 8th & Thursday, August 10th, 9am-3pm (Mountain)
Tests can really slow you down. Let's face it, when everything's humming along smoothly, tests are just in the way. Everyone has a different opinion on what to call them, so even talking about them is annoying. They're just another thing you're forced to put time and effort into "just in case" something goes wrong. It's kind of like insurance that way. And nobody likes insurance.
Until you need it.
The big danger with tests in an organization is that we do it wrong. As a result, the tests are a broken obstacle that misses the really important stuff anyway. But without them, we live in either constant fear we'll ship users a broken experience, or completely oblivious that we're one typo away from disaster.
In this two-part workshop, we'll give you the practical skills you need to write tests well. So it's less of a chore you dread, and more of a part of the process of developing quality software in which you can have confidence.
- Full End-to-end Testing (including the auth flow)
- Mocking Third Parties
- Unit Testing
- Component Testing
- Creating a Test Database
You'll walk away from these two days equipped with new found appreciation for shipping quality applications with confidence and testing's role in making that possible.
I couldn't be more excited about this series of workshops!
There is so much opportunity to make your apps even better with this knowledge. Whatever your existing application looks like, you'll walk away from this series with actionable things to make the user experience and developer experience better.
So what are you waiting for?
Let's go 🚀