The Reality of Frontend
Let’s cut the crap.
Frontend development is a mess right now. We have a million frameworks, ten thousand state management libraries, and a new way to style components every Tuesday.
You log onto Twitter, and some 20-year-old guru is telling you that if you're not using React Server Components, you're a dinosaur.
Ignore them.
I’m going to tell you what actually matters in frontend development. No corporate buzzwords. No theoretical nonsense. Just real, practical advice from someone who has shipped actual products to real users.
HTML is Not a Joke
You want to be a great frontend developer? Learn HTML.
I know, it sounds basic. It sounds boring. You want to learn the shiny new JavaScript framework.
But HTML is the foundation of everything we do on the web. And most developers suck at it.
They use <div> tags for everything. They don't understand semantic markup. They ignore accessibility completely.
Here’s why semantic HTML matters:
- It’s better for SEO. Google understands your page better.
- It’s better for accessibility. Screen readers rely on proper HTML tags.
- It’s easier to read and maintain. A
<button>is a button. A<div>is a mystery box.
Stop treating HTML like a necessary evil. Treat it like a core skill.
CSS is Hard (And That’s Okay)
People love to hate on CSS. They complain about centering a div. They complain about specificity. They complain about z-index.
CSS is hard because it’s trying to solve a very hard problem: styling complex user interfaces across thousands of different devices, screen sizes, and browsers.
If you struggle with CSS, you are normal.
But you have to learn it. Don't just rely on Tailwind or Bootstrap. Understand how Flexbox works. Understand how CSS Grid works. Understand the cascade.
Once you truly understand CSS, you have a superpower. You can build anything.
The JavaScript Hype Train
JavaScript is amazing. It’s also a nightmare.
We try to use JavaScript for everything. We use it to render HTML. We use it to apply CSS. We use it to handle complex business logic on the client.
We end up with massive bundles of JavaScript that take forever to download and parse, especially on slow mobile devices.
Here’s a radical idea: use less JavaScript.
If you can do something with HTML and CSS, do it with HTML and CSS. Only reach for JavaScript when you actually need interactivity.
Design for Developers
You are not a designer. And that’s fine.
But you need to understand the basics of design. You can't just wait for a designer to hand you a Figma file and turn your brain off.
You need to understand typography. You need to understand whitespace. You need to understand color theory.
Why? Because designers make mistakes. They design for the happy path. They don't think about edge cases. They don't think about error states.
You have to fill in the gaps. You have to make the UI feel good, not just look good.
Here are the only design rules you need to start:
- Align things. Don't have elements floating around randomly. Use a grid.
- Use whitespace. Let your content breathe. Don't cram everything together.
- Use a limited color palette. Pick a primary color, a secondary color, and a few grays. Stick to them.
- Use a readable font. Don't try to be clever with typography. Use Inter or Roboto and call it a day.
The Overrated Stuff
Let’s talk about what doesn't matter.
- State management libraries. Unless you are building Facebook, you probably don't need Redux. React Context or just passing props is fine for 90% of apps.
- The latest framework. React, Vue, Svelte, Solid... they all do the same thing. Pick one and get good at it. Switching frameworks every six months is a great way to guarantee you never actually build anything.
- Micro-frontends. Stop it. You are a solo developer or a small team. You don't need micro-frontends. You need a monolith and a fast deployment pipeline.
Performance Actually Matters
Developers have fast MacBooks and fast internet. Our users often have slow Android phones and terrible cellular connections.
If your site takes 10 seconds to load, your users are gone. They don't care how beautiful your animations are. They don't care that you used the latest state-of-the-art framework. They just want the content.
Optimize your images. Minify your CSS and JavaScript. Use a CDN.
Performance is a feature. It’s arguably the most important feature.
Real Advice
Here’s the most important advice I can give you: build things.
Stop reading tutorials. Stop watching YouTube videos. Stop reading this blog post.
Open your editor, create an index.html file, and start typing.
Build a personal website. Build a calculator. Build a weather app.
You will get stuck. You will get frustrated. You will feel stupid.
But that’s how you learn. That’s how you become a better frontend developer.
— Keep it simple. Keep it fast. Keep building.
The Reality of Frontend
Let’s cut the crap.
Frontend development is a mess right now. We have a million frameworks, ten thousand state management libraries, and a new way to style components every Tuesday.
You log onto Twitter, and some 20-year-old guru is telling you that if you're not using React Server Components, you're a dinosaur.
Ignore them.
I’m going to tell you what actually matters in frontend development. No corporate buzzwords. No theoretical nonsense. Just real, practical advice from someone who has shipped actual products to real users.
HTML is Not a Joke
You want to be a great frontend developer? Learn HTML.
I know, it sounds basic. It sounds boring. You want to learn the shiny new JavaScript framework.
But HTML is the foundation of everything we do on the web. And most developers suck at it.
They use <div> tags for everything. They don't understand semantic markup. They ignore accessibility completely.
Here’s why semantic HTML matters:
- It’s better for SEO. Google understands your page better.
- It’s better for accessibility. Screen readers rely on proper HTML tags.
- It’s easier to read and maintain. A
<button>is a button. A<div>is a mystery box.
Stop treating HTML like a necessary evil. Treat it like a core skill.
CSS is Hard (And That’s Okay)
People love to hate on CSS. They complain about centering a div. They complain about specificity. They complain about z-index.
CSS is hard because it’s trying to solve a very hard problem: styling complex user interfaces across thousands of different devices, screen sizes, and browsers.
If you struggle with CSS, you are normal.
But you have to learn it. Don't just rely on Tailwind or Bootstrap. Understand how Flexbox works. Understand how CSS Grid works. Understand the cascade.
Once you truly understand CSS, you have a superpower. You can build anything.
The JavaScript Hype Train
JavaScript is amazing. It’s also a nightmare.
We try to use JavaScript for everything. We use it to render HTML. We use it to apply CSS. We use it to handle complex business logic on the client.
We end up with massive bundles of JavaScript that take forever to download and parse, especially on slow mobile devices.
Here’s a radical idea: use less JavaScript.
If you can do something with HTML and CSS, do it with HTML and CSS. Only reach for JavaScript when you actually need interactivity.
Design for Developers
You are not a designer. And that’s fine.
But you need to understand the basics of design. You can't just wait for a designer to hand you a Figma file and turn your brain off.
You need to understand typography. You need to understand whitespace. You need to understand color theory.
Why? Because designers make mistakes. They design for the happy path. They don't think about edge cases. They don't think about error states.
You have to fill in the gaps. You have to make the UI feel good, not just look good.
Here are the only design rules you need to start:
- Align things. Don't have elements floating around randomly. Use a grid.
- Use whitespace. Let your content breathe. Don't cram everything together.
- Use a limited color palette. Pick a primary color, a secondary color, and a few grays. Stick to them.
- Use a readable font. Don't try to be clever with typography. Use Inter or Roboto and call it a day.
The Overrated Stuff
Let’s talk about what doesn't matter.
- State management libraries. Unless you are building Facebook, you probably don't need Redux. React Context or just passing props is fine for 90% of apps.
- The latest framework. React, Vue, Svelte, Solid... they all do the same thing. Pick one and get good at it. Switching frameworks every six months is a great way to guarantee you never actually build anything.
- Micro-frontends. Stop it. You are a solo developer or a small team. You don't need micro-frontends. You need a monolith and a fast deployment pipeline.
Performance Actually Matters
Developers have fast MacBooks and fast internet. Our users often have slow Android phones and terrible cellular connections.
If your site takes 10 seconds to load, your users are gone. They don't care how beautiful your animations are. They don't care that you used the latest state-of-the-art framework. They just want the content.
Optimize your images. Minify your CSS and JavaScript. Use a CDN.
Performance is a feature. It’s arguably the most important feature.
Real Advice
Here’s the most important advice I can give you: build things.
Stop reading tutorials. Stop watching YouTube videos. Stop reading this blog post.
Open your editor, create an index.html file, and start typing.
Build a personal website. Build a calculator. Build a weather app.
You will get stuck. You will get frustrated. You will feel stupid.
But that’s how you learn. That’s how you become a better frontend developer.
— Keep it simple. Keep it fast. Keep building.