Articles

Which should you learn first? Frameworks or JavaScript?

Published on:

One question you may have when thinking about learning JavaScript is whether you should learn JavaScript first or frameworks first.

You may have heard both sides of the argument.

If you learn JavaScript first, you'll learn the basics, but it might bit slower, and it might be abit more painful before you can build components.

If you learn frameworks first, you'll be able to use frameworks, and you'll be able to build things quicker compared to using JavaScript.

Which one should you choose?

Results of the restructure

Published on:

A month ago I told you I made a major decision for Learn JavaScript—to restructure the course materials I created—and I'm here to update you on the results!

How I'm going to teach authentication

Published on:

This article is a response to a question I asked last week. I wanted to know if I should teach authentication in Learn JavaScript. Since I'm building Learn JavaScript for students like you, I wanted to hear your opinions.

I read through a hundred responses. I gave myself a week to think through it. And I came to a conclusion.

I'm going to teach authentication in a separate course.

I want to share why I made this conclusion.

New CSS features that are changing web design

Published on:

There was a time when web design got monotonous. Designers and developers built the same kinds of websites over and over again, so much so that we were mocked by people in our own industry for creating only two kinds of websites:

<Image src="/src/assets/2018/css-features/two-websites.png" alt="A tweet by Jon Gold asking: “which one of the two possible websites are you currently designing?”" />

Is this the limit of what our “creative” minds can achieve? This thought sent an incontrollable pang of sadness into my heart.

I don’t want to admit it, but maybe that was the best we could accomplish back then. Maybe we didn’t have suitable tools to make creative designs. The demands of the web were evolving quickly, but we were stuck with ancient techniques like floats and tables.

Today, the design landscape has changed completely. We’re equipped with new and powerful tools — CSS Grid, CSS custom properties, CSS shapes and CSS writing-mode, to name a few — that we can use to exercise our creativity.

Is your code good enough?

Published on:

Do you worry about the quality of your code? Are you afraid of writing bad code? If someone reads your code and they say it sucks, how would it make you feel?

Would you feel like shit?

Should I teach authentication in Learn JavaScript?

Published on:

I ran into a problem while writing Learn JavaScript. This problem is about teaching Ajax.

I'm deciding between three possible solutions right now. Since I am making Learn JavaScript for people like you, I want to hear your thoughts before I decide.

Are you a real developer?

Published on:

Has anyone asked you whether you are a real developer?

Has anyone ever told you in your face that you're not a real developer?

The important part is not what they think. It's what you think.

Avengers, Star Wars, and learning code

Published on:

I'm a weirdo. I'm always working (either coding or teaching you how to code). I code on during work, at night, and even on weekends. I can't seem to separate myself from work.

Recently, I learned to relax. I discovered that one of my favorite activities is to watch movies. I only watch some of them though. For example, I chase after every movie in the Marvel universe (for Avengers), but I don't watch anything related to Star Wars.

But why? Are Marvel movies better made than Star Wars? Do they contain more compelling stories? Do they have better actions and effects?

Not exactly.

I wanted to know why I watched some movies and not others, so I dug into my own psychology (like I said, I'm a weirdo; forgive me for doing weird things). I found a surprising reason. I can even use this reason to explain how I learned to code 😂.

My experience at CSS Conf China

Published on:

I had an exciting experience three weeks ago—I gave my first Chinese talk at the 4th CSS Conference in China, in Xiamen, on March 31st.

I learned a lot from this experience—both about myself and about the chinese development scene—and I want share my learnings with you.

Let me begin by introducing the organizer duo.

Why I restructured Learn JavaScript

Published on:

Hey, it's Zell. Today I want to tell you about an update to Learn JavaScript and a big decision I made.

I made a decision to restructure Learn JavaScript. That means I took whatever I wrote—about 9 chapters (and 60+ lessons)—and rewrote them in a different format.

This was a difficult decision because I wanted to complete and release Learn JavaScript by July 2018. If I did the restructure I won't be able to complete the course.

Second, I'm afraid I'll portray the image that I don't complete projects by the deadlines I set, which in my mind, means people who invested in the preorders don't get the products in time. I'm afraid that you'll think badly of me if I do the restructure.

But I still went ahead with it. The question is why.

Traversing the DOM with JavaScript

Published on:

A good JavaScript developer needs to know how to traverse the DOM—it's the act of selecting an element from another element.

But why do we need to learn to traverse the DOM? Isn't document.querySelector enough for most of our needs?

In this article, I'm going to show you why traversing is better that document.querySelector, and how to traverse like a pro. So sit back, relax, and enjoy the article!

How to handle the "bad experience" question

Published on:

Hey, it's Zell. Today, we have a question from a student from prefers to remain anonymous. I'm going to call this student May.

Here's her question:

May freaks out whenever a recruiter asks her to talk about a bad experience in an interview. She had a complicated situation; she didn't want to blame the company she was at, and she didn't want to say she lacked experience (and therefore sucked).

She tried to answer the question, didn't get positive results from her answers, and she's now considering lying about the bad experience to find a job.

How to build a calculator—part 3

Published on:

You learned how to build a robust calculator in the previous two lessons. Unfortunately, the code we created together confusing. If you tried to read the code again, you'll definitely get lost.

That's why we need to refactor. In this lesson, you'll learn how to refactor the calculator with some JavaScript best practices.

Job search protip—don't look for a junior position

Published on:

Today, I want to share a disturbing truth about finding a job. This may just change the way you think about how you find a job, especially if you are starting out.

You ready? Here it goes.

How to build a calculator—part 2

Published on:

This is the second part of a three-part lesson about building a calculator. By the end of these three lessons, you should get a calculator that functions exactly like an iPhone calculator (without the +/- and percentage functionalities).

Note: please make sure you finish the first part before starting this article.

You're going to learn to code for edge cases to make your calculator resilient to weird input patterns in this lesson.

To do so, you have to imagine a troublemaker who tries to break your calculator by hitting keys in the wrong order. Let's call this troublemaker Tim.

Are you too old to learn to code?

Published on:

Hey, it's Zell. Today, we a question from two students, Mark and Todd. They're in their forties and are getting started in web development, and they are worried that they're too old. Too old to learn or too old to get a job.

It's funny I get this question because I felt too old to learn to code when I was 19 years old. It took me six years to before I started to code. When I started, I was 25.

Thinking logically, if I'm too old to learn when I was 19, I should be even more afraid when I was 25. But I wasn't. I wasn't afraid because I burned my bridges. I decided I don't want to work in a bank and decided to learn to design and code. It was a do or die. I couldn't worry because I had to learn enough to find a job within a year.

How to build a calculator—part 1

Published on:

This is the start of a three-part lesson about building a calculator. By the end of these three lessons, you should get a calculator that functions exactly like an iPhone calculator (without the +/- and percentage functionalities).

Here's what you'll get:

<Image src="/assets/2018/calculator-1/calculator.gif" caption="GIF of a calculator you'll build" />

Experiment publicly

Published on:

I'm going to be honest with you. This video is probably going to suck. Why? Because I'm experimenting with something new.

I'm going to tell you what I'm experimenting with, why I'm experimenting and why you should conduct your own public experiment.

Case study—a project from hell

Published on:

Project T is a project that I don't want to remember. It was a big project for a big company—a project that I thought I would be proud to include in my portfolio; and boy, I was wrong.

Project T was bad. It lasted nine months when it was supposed to last three months. At the end, I gave a huge discount to the agency because they lost money on the project; as a result, I lost big time too.

Of the original team—a project manager, a visual designer, a UX designer and a frontend developer (me), I was the only member that survived the project till the end. Largely because of two reasons:

  1. I was stupid and naive
  2. My sense of responsibility didn't allow me to abandon the project halfway.

By the end of the 9-month long project, I was burned out, and I quit freelancing for a year.