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.
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.
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.
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"
/>
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:
I was stupid and naive
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.
"Can you tell me what should I build? I don't have any ideas!"
This is one of the biggest problems that stop developers from becoming better at their craft. Upon investigation, I discovered that people have ideas; they're just afraid their ideas are bad, would fail, or nobody would use the thing they made.
These feelings are normal. We're afraid to make things that kinda suck because we're afraid others will shame us for it. We're afraid the very thing we make will convince us that we're the useless fraud that should never have existed in this world.
Then, we freeze in fear.
It's a big problem. I can't solve the problem for you, but I hope the lessons I share in today's article can help you push yourself out of paralysis.
When you use a linter, you will see red squiggly underlines all over your code. If you're not used to using a linter yet, it's hard not to feel like you're doing something wrong!
You don't have to feel that way.
A linter is there to help you write better code. There are reasons for the red squiggly underlines. Once you know what brings these underlines out, you'll know what to ignore and what not to.
Vertical Rhythm is an important concept in web design. It has the ability to bring a design together and make different elements feel consistent on the same page.
It was impossible to change Vertical Rhythm at different viewports previously, because we didn't have the right tools. But now, with CSS Calc and CSS Custom Properties, we can change Vertical Rhythm at different viewports. This article explains how.
If you haven't watched the first or second parts yet, I suggest you go watch them first. Everything I'm sharing today builds on what I showed you before. For today, I want to share the extensions I use on a daily basis.
I was super excited when CSS Grid landed in major browsers back in March/April 2017. I thought CSS Grid was going to change the way we make layouts; it did. We gotta thank Rachel Andrew and Jen Simmons for teaching all of us us about CSS Grid.
Unfortunately, even though CSS Grid has landed, subgrid (which I consider one of the most important CSS Grid features) didn't.
But thankfully, there's a way to create subgrids with pure CSS (no hacks at all!). This method works with all browsers that support CSS Grid.
Object-Oriented Programming is a popular style of programming that has taken root in JavaScript since the beginning.
It's so deeply rooted in JavaScript that many of JavaScript's native functions and methods are written in the Object Oriented style; you'll also find many popular libraries written in the Object Oriented style.
In this article, you'll learn what Object Oriented Programming is and how to begin using it in JavaScript.
If you already have prior experience with Object Oriented Programming in another language, please put aside the knowledge you know, and read through the entire module with a beginner's mind.
Hey, it's Zell. Welcome back to Part 2 of the VS code setup series.
If you haven't watched the 1st part yet, I suggest you go watch it first, because everything we're going to do today follows from there. Everything follows from there.
What we're going to do in this video is to setup VS code to write HTML, CSS and JavaScript properly. Let's work on HTML first.
2017 has ended. I didn't do a review earlier in the year because I wanted to wait till enrollment for Learn JavaScript closes. Everything that's going to happen in 2018 depended on the results of the launch.
Now that it's over, it's time for a proper review.
I want to begin the review by talking about the projects I've worked on.
There’s a high chance you came across the term “REST API” if you’ve thought about getting data from another source on the internet, such as Twitter or Github. But what is a REST API? What can it do for you? How do you use it?
In this article, you’ll learn everything you need to know about REST APIs to be able to read API documentations and use them effectively.
When should you use CSS for your web animations? Or when should you use JavaScript? Is one better than the other? In this article, I'll show how you to use both to produce smooth animations for your web site.
Unexpected changes in your JavaScript code can be a real headache. When working with objects, it can be even harder to prevent unintended mutation. In this article, I'll show you some tricks (and libraries) to prevent these unintended changes and ensure stability when working with objects.
{/* TODO: Move this into a page instead of a blog post */}
You'll have to pay the full fee to enroll in my courses. I don't discount anymore, with the exception of early-bird prices. This article explains why I offer early-bird prices, and why I don't discount anymore.