Tag Archives: Writing

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

The importance of naming in programming

There are only two hard things in Computer Science: cache invalidation and naming things.

This is a quote attributed to Phil Karlton, a famous Netscape (now, that’s a trip to the past!) developer. It’s, without question, my favorite programming quote. I share it whenever I can (like now!).

On the surface, it seems like only one of those things is hard. That’s cache invalidation. It’s the process of removing invalid data from a cache. If you’ve ever built anything with WordPress object cache, you know that it’s not easy to do at all.

But naming things? Who struggles with that? That seems like the easiest thing in the world. And that’s true in a way. Naming something doesn’t take a lot of effort.

Here, I’ll even name three variables for you! They’re pirate, wizard and ninja. You might wonder, “Why did he pick pirate, wizard and ninja as variable names?” No reason. They just sound awesome!

The point of using a silly example like that is to show you that you can name variables anything that you want. It’s not hard to find a name. The hard part is picking a good name. It needs to be clear and mean the same thing to everyone reading.

So what can you do to ensure that you’re naming things as best as you can?

Continue reading The importance of naming in programming

Making you proud

So yesterday I wrote about my first day doing Justin Jackson’s growing an email list to 1,000 class and the struggle of first time bootstrappers to build an audience.

The class continues

Today, we have to evaluate who are target audience should be. I think it’s pretty common for most bloggers to start writing about anything. I started talking about health and business topics because that’s what I was working on at the time. The content was also mostly educational. It didn’t help the reader in any way unless you just wanted to learn about health behaviour! By the end of the first iteration of Helthe, it was obvious I didn’t feel like writing about it. You should be passionate about what you write about!

A lot of the advice given is similar to what I had discussed when I started the PHP App Challenge. You should focus on your competitive advantage and the groups you are already part of that have money to spend (important!). I am very involved with WordPress, but I see myself as a PHP programmer more than just a WordPress programmer. So I want to write to programmers, but specifically those that work with PHP.

Another fortuitous discussion

For our homework, we had to come up with a statement to describe our audience and why were choosing them. I was struggling with the why, but then me and Justin started a discussion in the JFDI chatroom where we discussed PHP as a whole. This led to some great insight.

It started with me asking whether I could target programmers and still talk about products. He commented how there isn’t anyone talking about products using PHP or building products with PHP. I actually learned that Mailchimp is built entirely with PHP. This moved on, as it always does, to discuss how PHP is the second-rate citizen of the web. This has been mentioned many times on this blog already and it’s even the key reason I started Helthe.

To make PHP devs proud to be PHP devs

That line came from Justin, but it’s a great cause that any PHP dev can relate too. And just like that, I had my why. It’s a great why too. I can’t think of a week where I didn’t see this come up in conversation either in person or on the web.

I think it is partially why the community strives to do so much. There are so many cool projects going on and great developers working on them. I would say in the past 3 years, there has never been a day where I am not proud to be a PHP dev.

So following this new yet not so new insight, I finalized my homework statement for day 2.

“My name is Carl Alexander. The audience I am choosing is programmers who are using PHP, because PHP is awesome and we should be proud of using it.”

So things are shaping up

There’s a bit more of a mission statement around what this mailing list is going to be about. If you’ve liked what I have been writing, you can subscribe to my mailing list here! You can also keep checking the blog every day if that’s your thing!

Building an audience

Last night, I wrote a detailed post on the end of the Week of Hustle. The post concluded that, while the experience had been fantastic, I had been neglecting an important piece which was marketing. This week, I want to tackle it by working on building an audience using my mailing list.

Humble beginnings

My mailing list is currently sitting at a hilarious 6 subscribers (including myself!) so I really have no place to go but up at this point! Conveniently for me, Justin Jackson focused his Week of Hustle on building an educational product for growing email lists to 1,000 subscribers. I have kept all the emails from the course and I’ll be going through the first day of it today.

Defining an objective

What I need to do today is quite simple I have to simply talk about myself and why I want to do this. Justin goes on to list a few examples in his day 1 email, but there are two that stuck with me. They were:

  1. They want to sell their own products, and gain financial independence
  2. They want to increase their profile within their industry

While the second one is very compelling to me, it is not a good enough reason to be a list. The first one is. Following that bit of soul-searching, we had to write an objective for our mailing list. Mine turns out to be nearly the same as the one he wrote as an example.

“My name is Carl Alexander. I want a mailing list so that I can build and launch my own products and eventually earn an income from them.”

I am hardly the special snowflake here. This is a pretty common desire for all of us struggling with our first product. Mailing lists have been working amazingly well for all the bootstrappers I follow so it’s hard to argue against them. However, it does seem so very hard to do when you start at the bottom like making your first dollar.

I’ll be working on that this week as hone in my ideal audience and work on the other tasks that the course as in store for me. I am also still working on Helthe. I expect some more marketing site changes to be happening soon.

Keep up with my progress

Could this be a plug for a mailing list!? Why yes it is! If you’ve liked what I have been writing the past week, you can subscribe here! You can also keep checking the blog every day if that’s your thing!

I failed at writing

I started this blog because I wanted to be a better writer. I also thought it would help me while I built my first product (still working on that!). In retrospect, that was not a strong enough motivator to keep the habit going. For the curious, my original goal was to write one article a week. I kept it up for about the same amount of time someone tries to go to the gym after new years. About a month. Pretty lame.

So if you know about the stages of change, I was more or less in the action stage for a month and relapsed out. This post is more or less a preparation stage step pep talk as I move back up to action stage.

About writing

There’s a lot of things I need to improve, but I would say first of all I need to write faster. I am not sure if it is possible, but I would like to think that if I write more often it will get easier in general. For now, my goal is to write 500+ words (not only blog posts) every day I work on my product (so 5-6 days/week). I hope it can translate to 2-3 posts a week.

Second element is finding my style. I liked doing technical posts because they made me sound smart, but it’s not always useful. I will probably do more, but I need to focus on writing things that are useful first and foremost, but also good/fun to read. I tend to have a weird sense of humour and I am not sure if it would translate into writing either. I think it is something you have to get comfortable over time with.

Making this post useful

So I’ll finish with some, hopefully, useful information. I have to say that not taking writing seriously sooner will probably end up being a huge mistake on my part. To go back on the stages of change, this was me in the contemplation stage as I have gained a better understanding of what it means to build a product when you are no one, I started to realize that I neglected a very useful way to reach out to people.

Distribution/Marketing/Growth on the web is primarily about getting people to know you even exist. It is also a way to educate your market which is critical when dealing with a new market scenario. There are multiple ways to create traction and it is a very poorly discussed aspect in startup literature. So I plan on expanding on that topic in the future.

What about your product!?

I am “pretty close” to putting something out, but not quite yet. It’s going to be all sorts of embarrassing, but you have to start somewhere!

So here we are at 505 words. I don’t think I’d want to read a longer mea culpa. That said, I hope to look back and see this as a starting point, but who knows really. Also this distraction free writing mode is pretty awesome!