Lesson Description

The "Wrapping Up" 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 wraps up the course, reinforcing the point that enterprise codebases are unique and require tailored solutions rather than a one-size-fits-all approach. It's important to balance technology choices with company culture and constraints. Focusing on practical strategies such as optimizing CI/CD processes, managing deprecated components, and adapting tools to specific needs will yield the best outcomes.

Preview

Transcript from the "Wrapping Up" Lesson

[00:00:00]
>> Steve Kinney: The major thing, obviously, as I've said repeatedly, is, unfortunately, especially for the theme of like an enterprise large codebase, like, each one is special and unique in its own way, but it's like the framework is like, what is the wide range of solutions and approaches rather than being like, this is the way that it is, CI takes 45 minutes. Because, right, is to like challenge every single one of those, because like, again, I have worked across a like large micro front-end thing and there are some very nice parts of that, there's some very bad parts about it.

[00:00:38]
I have seen five teams work in a very large monolith with no problems whatsoever, right? I've seen teams that are stepping on each other in a monolith and work, you know what I mean? Like the, there's the actual technology, there's the culture of the company that you're in, right? There is sometimes you're like, I would love to use that approach, like I said before, like, um, you know, one project I used to work on, like, there was like a contract signed saying that like they were okay with the Java, like, as long as all the JavaScript with clients out there, making sure that none of the compute ever happened outside of their like private network, right?

[00:01:20]
And so like, server-side rendering on Vercel, like I had to basically promise that we would never do it, right? And so like, as much as like server-side render is the best and faster page load times, like you might not have that option, right? Or you know, for various reasons, you can't do X, Y, or Z thing that you read about on the internet all day, as the thing that all the cool kids are doing. Right?

[00:01:43]
Uh, there are things where it's like, hey, yeah, I would love to have a back end for front-end, but like, the info team would be very mad at me, right, like, and stuff along those lines, and like, given that there's still a set of things like whether it's like splitting up the CI/CD process, whether or not it's like figuring out how to do like, maybe you're only using the module federation for getting something from your UI to the doc site, right?

[00:02:14]
Like, you know, it's not a, you have to do the monorepo way of life or the micro front-end way of life, or, you know, you might have three monoliths that are technically a micro front-end, you know, like it's all squishy and weird, but like there are, one, you're probably not the only person that have to deal with any of those things. Like your unique cocktail is unique to you, but any given part, there's a set of solutions for either like, can Turborepo just cache the things that made your CI/CD process slow.

[00:02:45]
Can you do less of it, and then on a cron job on a weekly cadence, right? Um, can you set up rules so that you can at least count how many deprecated components that you have and work it down over time, even if it's because you have 17 frontend teams because they're full stack teams and the engineers are split up and like hard to get that like on the top of everyone's backlog all at once. Right, like the unique parts of like, and a lot of them are human related and some of them are technology related.

[00:03:15]
Um, I think are the interesting parts and the goal is to like build just like a way of thinking. Like if TypeScript is like out of memory or ESLint all the time, yes, you can turn up the knob, and if anyone was squinting at one of my GitHub workflows, you could definitely see that I upped like Node's max RAM in one of those, and I fixed the problem, but I never turned that knob back down, um, and like there might be a temporary solution, but you can't keep turning that knob forever, right?

[00:03:44]
Um, you know, in this case, being both the person who pays the bills, like, I am also the CFO who will hassle the CTO later about these things, right? They're just both me, um, you know, in this case, and like figuring that stuff out is the kind of like, okay, if you have to figure out communication between the micro front-ends, what are the options, right? And what version of that that you cobble together for your unique set of problems is obviously going to differ.

[00:04:11]
But the point is that there is an entire like, one, the thought process that you can, and two, that there is a wide range of tools and techniques to do that. The specifics of any one, again, they're all going to manifest themselves, whether you have a .NET with like three different CI/CD pipelines, or you're all like, you know, Node the whole way through, or I have been somehow, I don't know, having worked at like four different companies, how I keep getting subjected to Go back ends and like JavaScript front-ends, but that seems to be the life that was crafted for me, you know, each of those will have a different flavor of how you handle that, but the idea is that there are like a set of like philosophies and skills that you can apply to then the specifics of your situation.

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