But who uses plain HTML & CSS these days? They’ll also need to learn React, with its props, state, hooks, and numerous helper libraries. But React alone won’t do; they’ll need to learn to use a framework like NextJS too. Both React and NextJS have recently made significant changes, like adding server components and the app folder, respectively. These are complex features that require careful understanding.
But wait, there’s more! They’ll need a backend, which means learning SQL & Prisma or the intricacies of a serverless backend like Supabase. To avoid errors, they’ll need to learn TypeScript, which can feel like a jungle. And on top of all that, they’ll need a sense of good design and UX and have to use component libraries for even the simplest things.
As someone who’s been programming for 15+ years and teaches programming for a living, I still find myself shooting myself in the foot while building web apps multiple times a day. Aren’t these tools and libraries supposed to make things easier?
I know this post feels like a rant. However, I do love these tools because they enable us to build amazing things quickly. But we need to ensure we’re not leaving people behind as we develop these tools.
The first step for building & shipping good software should be easy, so beginners can stay motivated as they navigate the complex web of languages, frameworks, and libraries. We need to find a solution that’s friendly and approachable. And we need to figure it out sooner rather than later.