Tag Archives: Teaching

How to beat technical writer’s block

I gave a talk on object-oriented programming with WordPress at WordCamp US 2019. This is the companion article that I wrote for it. If you’re just looking for the slides, click here.

A lot of us see their developer peers (especially this handsome individual) write wonderful technical articles. They’re sharing their expertise with their community and we wonder, “Maybe I should do the same?” After all, teaching is a wonderful learning tool.

So there’s the obvious question of where should you write your content? You can start your own WordPress blog or write on an existing platform like Medium. You could also write guest posts for existing publications.

But the larger struggle is finding out what to write about. Writer’s block is a well known problem both for new and experienced writers. You’re stuck staring at a white page because you’re not sure what to write about.

And, as you stare at that white page, you just end up more and more frustrated. You start to question whether you should be writing in the first place. But a lot of writers end up overcoming writer’s block after a while. It’s not something that has to define you.

Continue reading How to beat technical writer’s block

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

Thoughts on teaching object-oriented programming with WordPress and over-engineering

This site has grown a lot in the last year or so. We’ve spent a lot of time going over object-oriented solutions to WordPress problems. So much so that, we have a small library’s worth of material that you can refer to.

With any type of growth, criticism will arise. This is a good thing. I’m a big proponent of “Strong opinions, weakly held“. But this can’t happen without discussion and debate. In the long run, I always feel it leads to a better outcome. (Well, that’s as long you don’t get stuck just debating!)

Recently, there was a debate on the nature of the solutions that you’ll see on this site. They’re over-engineered. I think this is a valid criticism and I wanted to share some of my thoughts on the whole thing.

Continue reading Thoughts on teaching object-oriented programming with WordPress and over-engineering

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

2015 in review: Teaching everything I know

I feel I should have done this a few years ago. I know that it’s pretty common for writers to do these “year in review”. At this point, I think it’s good for me to be open and transparent about what I do. I always admired Buffer and their values so it’s my way to emulate them a bit.

That said, it’s also useful that I have something written down. Our memory has a tendency to alter facts when we just tell the story over and over. This creates a historical record that I can refer to. (Why yes, I am a history geek! What makes you think that?)

In order for this review to make sense, I’m going to have to give you a bit of a background on my current situation. I don’t want it to appear to you that I got to where I am overnight. There’s a story and that story will give you some context about where I am today. It’ll also help you understand how I’m reviewing my year.

With that out of the way, let’s begin!

Continue reading 2015 in review: Teaching everything I 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