Ultima IV artwork from Origin

Apple customers spent $1.8 billion on digital items and services between Christmas and New Year’s leading into 2021. The digital economy is taking over quickly. Blockchains and NFTs will soon be at the center of the transformation. Due to a looming convergence of technologies, this trend is going to accelerate over the next decade. Welcome to the metaverse.

In this article, we’ll discuss what the metaverse is, why it’s important, some of the current trends, and what we might expect for metaverse development in 2021. …


Happy New Year! It’s time to review the big trends in JavaScript and technology in 2020 and consider our momentum going into 2021.

Our aim is to highlight the learning topics and technologies with the highest potential job ROI. This is not about which ones are best, but which ones have the most potential to land you (or keep you in) a great job in 2021. We’ll also look at some larger tech trends towards the end.

Language Rankings

JavaScript still reigns supreme on GitHub and Stack Overflow. Tip #1: Learn JavaScript, and in particular, learn functional programming in JavaScript. …


Why React is the Top UI Framework in the World

React is the world’s most popular JavaScript framework, but it’s not cool because it’s popular. It’s popular because it’s cool. Most React introductions jump right into showing you examples of how to use React, and skip the “why”.

That’s cool. If you want to jump in and start playing with React right away, the official documentation has lots of resources to help you get started.

This post is for people who want an answer to the questions, “why React? Why does React work the way it works? What is the purpose of the API designs?”

Why React?

Life is simpler when…


How 10x Developers Produce 10x Value

Is there a shortcut to becoming a 10x developer? Is there some magical secret that — if you only knew it — would unlock a whole new world of software development mastery and productivity for you?

This is where the doubters are thinking “There are no shortcuts! Everybody needs to practice to get good!” And that’s true enough, but what are the experts of software productivity practicing, and is there one key thing that can make a huge difference?

Yes! There is!

But even if I share it with you — even if I give it away and spell it…


Redux is an amazing tool if you take the time to get to know it. One of the things about Redux that commonly trips people up is that reducers must be pure functions.

A pure function is a function which:

  1. Given same arguments, always returns the same result, and
  2. Has no side-effects (e.g., it won’t mutate its input arguments).

The problem is that sometimes a reducer needs to make a complicated change to some input state, but you can’t just mutate the state argument without causing bugs.

The solution is a handy tool called Immer. In this video, I’ll introduce…


How Abstractions Help Us Manage Software Complexity

Image: MattysFlicks — Smoke Art — Cubes to Smoke (CC BY 2.0)

Note: This is part of the “Composing Software” series (now a book!) on learning functional programming and compositional software techniques in JavaScriptES6+ from the ground up. Stay tuned. There’s a lot more of this to come!
Buy the Book | Index | < Previous | Next >

Abstract Data Types

Not to be confused with:

Algebraic Data Types (sometimes abbreviated ADT or AlgDT). Algebraic Data Types refer to complex types in programming languages (e.g., Rust, Haskell, F#) that display some properties of specific algebraic structures. e.g., sum types and product types.

Algebraic Structures. Algebraic structures are studied and applied from abstract algebra, which…


Which Cryptocurrency Will Win?

BTC vs ETH — Price in USD (source: Coinmetrics.io)

Disclaimer: I am not a financial advisor and I’m not telling you where to put your money. Either or both BTC and ETH values could drop to zero.

This is a bait and switch title, but only because a lot of people are asking a question that doesn’t make sense.

The question, “which will win, Bitcoin or Ethereum?” implies some misconceptions which do not reflect reality.

  1. Misconception: Bitcoin and Ethereum are Currencies, and should be judged by how good they are at being money. Reality: Bitcoin and Ethereum are cryptonetworks, and should be judged by the value each network is…

10 Tips to 10x Your Coding Skills

Photo: Phil Dolby — Her First Ever Walk (CC BY 2.0)

Software development is an incredibly rewarding skill that can be extremely valuable. It’s remote-work friendly, and no matter where you live in the world, if you get good enough, you can qualify for great paying work ranging from $100k/year — $200k+/year (USD). Some of the highest-paid JavaScript developers make close to $500k/year. But to qualify for those great salaries, you have to get undeniably good at what you do.

Even if you’re already a professional software developer, you need to learn how to learn to code. Choosing a career in software development is choosing a path of lifelong learning.

In…


One gotcha that comes up frequently and has a serious impact on application performance is the tendency to accidentally fetch data in serial that could have been fetched in parallel. Don’t just drop an await in everywhere you use promises. Instead, think about the fetching dependencies. If you’re fetching more than one thing, make sure you fetch in parallel whenever you can. This will make a huge difference in your application’s performance.

Here’s some example code for you to play with.

Eric Elliott is a tech product and platform advisor, author of “Composing Software”, cofounder of EricElliottJS.com and…


I’ve said this part before, so if you read the previous article, skip to “How to Implement Passwordless Authentication”, below. I’m posting the introduction again for those of us who are too lazy to click a link.

Managing user authentication and authorization is a very serious responsibility, and getting it wrong can cost a lot more than unauthorized access to your app. It can also compromise user privacy or lead to financial damage or identity theft for your users. …

Eric Elliott

Make some magic. #JavaScript

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store