Image for post
Image for post

You realize that learning technologies, like React and Node, isn’t enough. So you want to enhance your skills and deepen your knowledge by learning the fundamentals of programming.

But you have some questions:

  • What are the fundamentals of programming?
  • What topics should you focus on first?
  • Which resources are best?

You’re not alone. These are some of the questions I’ve repeatedly asked on my own self-taught journey. What I needed most was a roadmap.

I didn’t have one, so I created it: Programmer’s Pyramid.

This free, self-guided learning tool teaches you the fundamentals of programming. It defines what you need…


Image for post
Image for post

This is the fourth and last big idea in my series on programming effectively, which is based on my new learning tool, Programmer’s Pyramid. Each article contains one big idea and one or more ways to apply it. In case you missed the last one, you can read it here.

We’re often in such a rush to move on to the next new problem or program. But hold on for a minute.

Just because you’ve solved a problem doesn’t mean you’ve learned from it. …


Image for post
Image for post

This is the third article in a four-part series on programming effectively, which is based on my new learning tool, Programmer’s Pyramid. Each article contains one big idea and one or more ways to apply it. In case you missed the last one, you can read it here.

The first two ideas in this series on learning to program effectively covered what to focus on and how to go about it.

Today I pick up where these two themes left off by raising this question: now that you’ve got a roadmap in place, how can you tell if you’re making…


Image for post
Image for post

This is the second article in a four-part series on programming effectively, which is based on my new learning tool, Programmer’s Pyramid. Each article contains one big idea and one or more ways to apply it. In case you missed the last one, you can read it here. Or click here to read the next one.

Learning to program is a crash course in learning how to learn effectively. There’s so much new and dense technical information coming at you. How do you learn it and retain it?

I’ve spent a lot of time learning how to learn on my…


Image for post
Image for post

This is the first article in a four-part series on programming effectively that’s based on my new learning tool, Programmer’s Pyramid. Each article contains one big idea and one or more ways to apply it. Here’s the next one in this series.

A common challenge when learning to program is identifying what topics to learn and what skills to build. The more you learn, the more you realize there’s to learn, and all of it seems to be important right now.

As a result, we get caught up in the details, progress slows and frustration mounts. We’re spinning our wheels…


Image for post
Image for post

After completing one project, we’re often in a hurry to start a new one. But why the rush? If you complete a quality project, recycle it: iterate on it and create your own mini projects along the way.

I do this myself. The process is helping to build my skills and solidify concepts — and it can help you, too. So in this article I’ll share my process for creating programming projects.

Let’s start with an approach I’ve adopted from the famous basketball coach, John Wooden. It’s called the “whole-part method.”[1]

1. The Whole-Part Method

Coach Wooden used his “whole-part method” when teaching his…


Image for post
Image for post

All of us have them. In any long-term pursuitgetting a PhD, training for a marathon, or learning to programthere are dark days. You know, when the finish line seems like forever away. The work we’re putting in doesn’t appear to match the results. Motivation wanes.

It’s critical to get back on track when days like this happen. Otherwise, one dark day can lead to another, and another. It’s better to nip it in the bud and find the intrinsic motivation to move forward. Here’s how.

1. See How Far You’ve Come

A programming training journal is useful for many reasons. It’ll remind…


Image for post
Image for post

I did something different in 2020, and it’s had a profound effect on my programming progress. Instead of detailed quarterly plans, I’ve been creating detailed monthly plans for my programming goals.

This one change has had such a positive outcome that I’ll do it again in 2021 — and I encourage you to do the same.

The Power of Focus

I’ve set quarterly plans for my personal work for as long as I can remember. But in 2019, my plans were consistently foiled. I kept missing the quarterly goals that I set for myself.

In retrospect, that’s not too surprising because a quarter is…


Image for post
Image for post

It’s a familiar story. The code reads like a cryptic puzzle. The program has lines of “dead” code or contains useless comments. Or changes were made to the code and the tests no longer pass.

We’ve all encountered these challenges or oversights. Maybe we’ve caused them ourselves. But it doesn’t have to be that way. There’s a simple solution that can help: a checklist.

The idea sounds so simple. Beneath us, perhaps. But it’s not. That’s because we’re human and we’re fallible.

A checklist reminds you to remove the “dead” code and unnecessary comments. …


Image for post
Image for post

Working from home has become the new normal. Without a commute or office distractions, you should be crushing it every day.

Are you?

If you’re not getting significantly more quality work done, then read on. Here are four ways to get the most from your remote work days.

1. Separate work from life

Drawing the line between work and life is a common challenge. There are a few ways I make the distinction.

Have designated “work from home” clothes. You know it’s time to exercise when you put on a pair of shorts and t-shirt and lace up your sneakers. These are your exercise clothes.

Amy M Haddad

Programmer and Writer: amymhaddad.com | programmerspyramid.com | @amymhaddad

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