Lesson Description

The "Introduction" Lesson is part of the full, Enterprise UI Development: Microfrontends, Testing, & Code Quality course featured in this preview video. Here's what you'd learn in this lesson:

Steve Kinney begins the course by discussing the challenges of scaling software applications as companies grow, emphasising that solutions often come with trade-offs and complexities. The course covers architecture patterns and how to navigate the problems that arise later in software projects.

Preview

Transcript from the "Introduction" Lesson

[00:00:00]
>> Steve Kinney: Let's talk a little bit about enterprise UI and, you know, enterprise here being a euphemism for big, right? Because most things, most of the, most things that work at a small scale tend to break as they get bigger. There's like, you know, especially even as any company is growing, there's like a term of art, which is like the idea that everything will break every six months, like, and all the fixes for whatever the previous broken thing will become the thing that breaks next, right?

[00:00:34]
And so a theme of this workshop is going to be like, how do you juggle all of those trade-offs as your application grows. It gets weird in its own way, right? Sometimes just because of the size and the peculiarities, right? Sometimes because of the way it interacts with the other organically growing parts of your application, right? Maybe you wrote the best code ever, but it's that like foreign backend that is what's making it weird, right?

[00:01:07]
Or just for reasons, right? I had the opportunity a few years ago to do something that both is illuminating, but I cannot recommend, which is to both be the person who makes like the first commit to a large codebase and then the person who has to live with their choices for four years, right? And it becomes an amazing thing as you onboard people like junior engineers and, you know, new people onto the team, where you have to explain like, oh no, at 1.4 years ago, we were going to take the product in that direction.

[00:01:42]
And then we had to do a hard pivot and there's still like layers of like the fossil record for like decisions that we might have made or did make, and some of them were like, hey, such and such tool wasn't available yet. Like why didn't you just use such and such framework or such and such library or whatever feature from Next.js or what have you, you'd be like, because it didn't exist, right? And so you deal with a lot of these things over time and they kind of build up and then your application becomes its own unique, weird thing, but for the most part, what we're trying to do is build up a mental framework of thinking about what all these tradeoffs mean and the complexities thereof and like what actually works for your team.

[00:02:28]
Like a lot of the various things that we'll look at in our time together are just like points along a spectrum, right? Do you want a lot of autonomy across all the different teams so they can move independently and quickly. Cool, you're going to deal with more complexity. Do you want simplicity? Right, that's going to come with its own set of trade-offs and everywhere in between has a different kind of set.

[00:02:54]
And some of those things are technological. Some of them you're like, I would love to be over there, but the politics of such and such, you know, if you get that many humans together, there's a lot of feelings, and you've got to navigate those, and so sometimes that becomes a part of it too. And so we will kind of navigate all of that and play through it as we go. One quick, just kind of public service announcement.

[00:03:26]
We have a website. And on this website are the two repos that we're going to use today. We're going to use that first repo for the very first exercise, and then all of the rest of them we'll build on the second one. You should, you don't need it immediately, but I'll say it now, is to install pnpm, which is different than npm. We'll use that when we get to the idea of like workspaces and build-time composition and mono repos and stuff along those lines.

[00:03:55]
So if you don't have that installed now it's kind of a good background process to go do that. And then all of the copious notes, including the exercise and such, are along the side, including lots of stuff that exists sometimes solely that if someone asks me a question about it, I can point to it and like pull it up, but, you know, we won't cover everything, but a lot of it is like reference material or if you want to kind of dig in more, as an exercise to reader, that is there as well.

Learn Straight from the Experts Who Shape the Modern Web

  • 250+
    In-depth Courses
  • Industry Leading Experts
  • 24
    Learning Paths
  • Live Interactive Workshops
Get Unlimited Access Now