Category Archives: Teaching

How to use teaching as a learning tool

I spoke at WordCamp Atlanta 2017 on how you could use teaching as a learning tool. This is the companion article that I wrote for it. If you’re just looking for the slides, click here.

As WordPress developers (or developers in general), we’re always looking to improve our skills. We read blog posts, watch screencasts, listen to talks at WordCamps and so on. These are all great ways to learn new things.

But there’s one way to hone your programming skills that doesn’t get as much attention as it should. It’s “learning by teaching“. Teaching is a great way to improve your skills as a developer.

Now, you might be wondering, “Seriously, how can teaching make me a better developer?” People don’t tend to associate teaching with skill building. After all, how could you teach something if you didn’t know it already?

That’s a good question! It does feel like this shouldn’t be able to work. But it does! And that’s why it’s worth taking a better look at this idea of “learning by teaching”.

Continue reading How to use teaching as a learning tool

Teach everything you know

For the last year and a half, I’ve been teaching everything I know to the WordPress community. This hasn’t been easy to do and it’s been quite a journey so far! That’s why I wanted to share my current beginners experiences.

My hope is that it might inspire others to also start teaching themselves. It’s a great way to improve your career while strengthening the WordPress community. WordCamp Miami organizers also shared my enthusiasm for sharing this.

They invited me to speak about it to BuddyPress developers at WordCamp Miami 2016. This is the companion article that I wrote for it. If you’re just looking for the slides, just click here.

Take a moment to think about who you trust online. What do they have in common? There’s a good chance that they thought you something valuable.

Some of the biggest names in the WordPress community share their knowledge on a regular basis. They write on their blogs, speak at WordCamps and so on. That’s how you remember them and it’s also why you trust them. That trust that you have in them can translate to different things.

The most common outcome is that you might buy a product that they sell. That’s because they educated you about the problem it solves. Now that you know more about it, you want a solution for it.

This also applies to open source projects. They taught you about the problem that their project solves. But, in the process, they also demonstrated their technical ability to solve it. The result is that you might decide to use their project over someone else’s.

You might want to hire them to work on a project or for your company. Through their teaching, you have a better idea of what they can bring to you and your team. Their teaching material also gives you an opportunity to look at the quality of their work. In the end, you’re not trying to hire an unknown quantity.

These are just some of the benefits that come from teaching you something valuable. And the good news is that you can do that too! You have valuable insights that you can share with others.

But teaching isn’t without its own set of obstacles. Today, we’re going to focus on the ones that you’ll face as you begin your teaching journey. We’ll look at what they are and how you can overcome them.

Continue reading Teach everything you know

Creativity and teaching programming

As someone that writes code on a regular basis, you must view a lot (if not all) of your work as problem-solving. After all, that’s often what you’re hired for. Someone has a problem and you solve it using the code that you write. It’s like having a superpower. It’s great! (Who wouldn’t want a superpower!?)

You start doing the same with your own problems. You break them down into smaller micro-problems. You then try to find solutions to them.

Explained like this, you’d think that this a great strategy. And you’d be right! But where you have to be careful is how it affects your mindset. You start focusing on only searching for solutions to these micro-problems.

That’s why so many coding questions follow the formula “How do I do X with Y?” You want a solution to your problem so you can move on to the next one. You continue this pattern of searching, finding and copying solutions until you’re done.

This puts a lot of pressure on the online learning material as well. They need to answer these questions to stay relevant. That’s why you can boil down so many tutorials to “How to do X with Y”

That’s why this relentless focus on problem-solving can come at a cost (after all no superpower comes for free). You become so addicted to finding solutions that you’re not writing code anymore. You’re just integrating (or duck taping) these solutions that you found online together.

But there’s a creative aspect to coding. You’re not just an integrator, a problem solver. You’re also a writer, a painter, an architect. It’s important to never forget that when teaching programming.

Continue reading Creativity and teaching programming

Why can’t you learn object-oriented programming?

As you lay there, you try to remember how you got into this mess. It seemed like it was going to be so easy. You’d heard that object-oriented programming was worth learning. That’s what some dude (or wizard!) told you anyhow.

Next thing you knew, everyone else was convinced. There was no time! You had to get ready for battle. You had to study your enemy: object-oriented programming.

You were lucky though. Your enemy was well known. You had articles, tutorial series, videos that were a quick Google search away. If that wasn’t enough, you could take classes, workshops or even bootcamps.

You thought, “There is a way to slay the beast!”. Your energy and your motivation had never been higher. You yelled to the heavens, “I shall slay you OOP beast. Your time has come! Charge!!!”.

Continue reading Why can’t you learn object-oriented programming?