Welcome aboard!

Josh Comeau4 min read

Hi there!

You've been subscribed to my primary newsletter. You can expect to receive an email every few weeks, sharing the new things that I've published or released. Occasionally, I'll share unique "newsletter-only" content as well. ✨

I'm not sure how familiar you are with my work, so I thought I'd share some of the most valuable stuff I've created over the past few years. Consider this a “Josh Starter Pack”. 😄

Popular blog posts

Here are some of the most widely-read blog posts I've written:

An Interactive Guide to Flexbox

When we truly learn the secrets of the Flexbox layout mode, we can build absolutely incredible things. Fluid layouts that stretch and shrink without arbitrary breakpoints. In this action-packed interactive tutorial, we'll pop the hood on the Flexbox algorithm and learn how to use it effectively. ✨

Why React Re-Renders

In React, we don't update the DOM directly, we tell React what we want the DOM to look like, and React tackles the rest. But how exactly does it do this? In this tutorial, we'll unpack exactly when and why React re-renders, and how we can use this information to optimize the performance of our React apps.

How to Learn Stuff Quickly

I'm a self-taught developer, and I've taught myself a whole bunch of skills over the years. This blog post shares some of the strategies I've used to pick up new skills as quickly as possible.

Courses

In 2020, I left my job as a Staff Software Engineer to work full-time on creating educational resources for developers. To date, I've created two interactive self-paced online courses.

CSS for JavaScript Developers

CSS is easy to get started with, but very difficult to master. There are no error messages, no console.log, no debugger. For so many JavaScript developers, CSS feels like a mysterious black box.

I started writing CSS in 2007, and for a decade, I stumbled my way through it. I knew enough to get by, but I would frequently find myself in bewildering situations. I'd use a snippet I've used 100 times before, but it would randomly do something different. The language felt so inconsistent and unpredictable!

I decided I was sick of feeling baffled by CSS, and started really trying to understand it. Whenever CSS did something I didn't understand, I'd dig into it, settling into the problem like a warm bath. Over the years, so many puzzle pieces snapped into place, and it totally changed the experience of working with CSS!

CSS for JavaScript Developers is a comprehensive course that shares all of the epiphanies I've had about CSS. My goal is to help you build a robust intuition for the language, to change your relationship with CSS!

Check it out:

A banner showing the landing page for CSS for JavaScript Developers

The Joy of React

There's no denying it: React has become the dominant JavaScript framework. It seems like every company is building with React, and it's still growing in popularity!

I was introduced to React in 2015 when my manager told me to check it out. We were considering using it for some client projects, and my job was to learn the tool and teach it to the team.

I've been using React ever since, and I have to admit: I love working with React. I've tried lots of alternatives (Angular, Vue, Svelte…), and some of them are pretty great, but none of them make me feel as empowered as React.

That said, React has a very steep learning curve. When I first started using it all those years ago, I really had no idea what I was doing, and it took years before I felt truly confident.

The Joy of React is a beginner-friendly React course with one goal: help you build your intuition of how React works, so that you can use it to build rich, dynamic web applications. I want you to love working with React as much as I do!

You can learn more on the course homepage:

A banner showing the landing page for The Joy of React

Cool stuff

Finally, I have some fun extras! ✨

Gradient Generator

If you've ever tried to come up with a beautiful gradient from scratch, you've likely found that it's pretty tricky! Colors get dull and washed-out in the middle. This tool will help you generate beautiful, lush gradients. It uses a number of sneaky tricks, like using easing curves and alternative color modes.

Shadow Palette Generator

The “box-shadow” CSS property produces some pretty boring, unconvincing shadows by default. If we want to create lush, realistic shadows, we need to take advantage of some tricks. This free online tool helps you produce nicer shadows in CSS.

Operator Lookup

Have you ever been reading some code, and you discover an unfamiliar operator, like “&&=” or “|&gt”? These operators can't really be googled, because Google ignores most symbols! So, I created “Operator Lookup”, a search engine specifically for JS operators. Copy/paste the operator, and this tool will tell you what it is and how it works.

Building an Effective Dev Portfolio

I've reviewed literally hundreds of junior developer portfolio sites, and I noticed that people kept making the same mistakes over and over. I learned a lot about the subject when I worked as a career coach, helping recent bootcamp grads land their first job.

This is a free 70-page e-book that explains how you can create a developer portfolio site that will attract potential employers and help you land a job as an early-career developer.

Thanks so much for subscribing, and welcome to the newsletter!

-Josh

390 Saint-Catherine Ouest #39013, Montreal, QC H3B 0B2

9 links in this issue

Sent by Josh W. Comeau Newsletter. Links that track readers or name the subscriber were removed from this copy; its images still load from the sender's own servers. If you publish this newsletter and want an issue corrected or removed, write to us.