I feel like there's a lot of hype about web3 on Twitter, and it might give folks the impression that they *need* to switch gears and start learning this stuff if they want to stay relevant.
I wanna push back on this a bit. I think you'll be just fine if you ignore the web3 hype.
I have no idea whether web3 will become the new standard. I would be surprised if it does, but I've been surprised before. 🤷♂️
But even if it does, it won't happen overnight, and the eventual technology will look very different from what people are learning today.
Let's imagine it's 1999, and you're bullish on this new "web 2.0" craze. You want to build a rich interactive web application. So you decide to learn the most bleeding-edge language of the era, Java.
Most "web 2.0" sites today are not built using Java.
There IS an advantage to being early to a rising trend, if the demand outpaces the supply. You might be able to build more influence or negotiate a higher salary. But we have no idea if that'll happen or not.
I actually think the opposite could be true; a bunch of developers move over to web3, but the demand doesn't rise as fast as people think, and so we wind up exacerbating the shortage of experienced developers working on non-decentralized systems.
It's a gamble either way.
Ultimately, I think it's a bit of a fool's errand to try and read the tea leaves and figure out where the industry is going. So, instead, I focus on learning what I'm interested in.
If you ARE interested in web3, this thread isn't meant to discourage you!*
But if you aren't intrinsically motivated by blockchains/decentralization, I hope this thread helps alleviate some of the social pressure you might be feeling. 💖
*I do sorta want to discourage folks from building applications on environmentally-disastrous proof-of-work systems like Bitcoin/Ethereum†. But there are greener alternatives like Solana that don't have that drawback!
†Yes, I know that people keep saying that Ethereum is moving to an environmentally-friendly proof-of-stake system. I'll believe it when I see it.
One last caveat: web3 really only changes where data is *stored*. It doesn't change how data is presented. Web3 apps are still built with HTML/CSS/JS. It isn't some huge paradigm shift on the front-end, as far as I can tell.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
I picked these lessons specifically because I think they have good standalone value. I bet you'll learn a thing or two from them!
(Also: these lessons have never been publicly available before! I did a similar “Open House” thing during the launch, but w/ different content.)
In Lesson I, “Hello Flexbox”, we talk about Flexbox's origins, why it's still relevant today, when to use Flexbox vs. Grid. We also look at a quick example, and see how the layout mode works.
For most of the web, the text is the most important thing on the page.
🧵 Let's look at some of the stuff I've learned for keeping our text readable + accessible for everyone.
For folks with poor vision, larger text will help them be able to read.
There are two primary ways to increase font size: 1. Using the browser "zoom" controls (cmd/ctrl +, cmd/ctrl –) 2. Picking a larger default font size in the browser settings
Browser zoom works with most units, including px, em, and rem. It doesn't work with viewport units (vw/vh).
Scaling the default font size only works with em/rem/%.
So, while it's not as bad as it used to be, we still shouldn't use px for typography.
So, I'm biased, and I think that my CSS course is the best way to level-up your CSS skills… but even *I* have to admit, there are TONS of great free resources!
Sharing some of my favourites in this thread, in case CSS for JavaScript Developers isn't within your budget.
👇
1. Google recently released Learn CSS, a wonderful tour through the fundamentals of the CSS language. It's built by a superstar team (including @Una@rachelandrew@piccalilli_ and @argyleink).
2. @rachelandrew goes through the fundamental principles of the CSS language in this fantastic blog post, “How To Learn CSS”. It's short and concise, and it links off to additional resources in each section.
First, I wanna clarify that this isn't all just about aesthetics. It's important to understand *why* shadows are such a powerful tool.
Shadows give our application depth and realism, and let us focus attention by elevating important elements.
In the past, when I wanted to add a shadow, I'd play with the numbers until I liked the way it looked. As a result, I had a mess of incongruous shadows, breaking the overall illusion of depth 😅
We can avoid this problem by understanding how shadows work.
🌠 It's so easy to get sucked into performance micro-optimization territory.
Someone will say that Method X is slow, and inevitably somebody else will point out that it doesn't really matter outside of contrived, unrealistic benchmarks.
🧵 I wanna dig into that a bit…
Here's an example. We have a list of users, and we wanna filter so that we only show the people who are online.
We can do that with a "filter", or with a "reduce", or with a "forEach". Which is faster? Does it matter? Why or why not?