Newer Post

xHQ Happy Hour #5 Links Roundup

Older Post

xHQ Happy Hour #4 Links Roundup

How to Write Development Posts & Talks

(Don’t want to read? Watch this talk here)

Developers have been writing on the web for decades, but if you ask any given developer whether they actively write or give talks, 9 times out of 10 you’ll hear: “Um, I did once…kind of.”

Well my friends, there are two reasons you should be writing posts and giving talks more often:

#1: To build your reputation

The first is that it’s incredibly important today to build your reputation online as a remote developer.

One of the challenges with hiring remote developers is that since you never truly get to meet them, you are relying on whatever information there is on the Web about them to trust that they are worth hiring.

This is why the best remote developers know how to build their reputation online so that people who might hire them can very quickly validate that they are worth hiring and know what they’re talking about.

The top 2 things companies look for when vetting a remote developer (aside from their Github activity) is whether they have written any blog posts that are worth reading, and whether they’ve given any talks at meetups or conferences.

And what both of these things validate is that you are professional, that you can speak calmly, clearly and with confidence. That’s what writing and speaking will show for you, so I can’t recommend it enough.

#2: Contributing starts here

Writing talks and posts is also a ‘gateway drug’ to getting really involved in open source communities, and when you become a contributor in any open source community, it truly is life changing, and you’ll hear open source devs say this all the time.

And the reason that path to becoming an open source contributor starts here is because this is the easiest way in; as an evangelist or as an experimenter or as a mentor and trainer to others. Without even doing any code, you can help out a community, and they will welcome you. And everything from that day forward will truly be life changing, I promise you.

So even if you don’t do it for your reputation and to help build your remote career, you will certainly not regret it, I promise you.

Step One: Build the Courage

The real reason you haven’t published anything

When it comes down to it, the reason you haven’t done much public speaking or written blog posts isn’t because you don’t have ideas worth sharing; it’s because you believe no one wants to hear them.

And I’ll admit, in a world of social media and Reddit, it can be intimidating knowing that anything you say online is visible to anyone and that the trolls lurking in the shadows could lash out at you at any time.

But here’s the best part about open source communities: at the end of the day, no one really cares if you end up saying something they didn’t want to hear about.

I almost stopped doing talks after starting to think: “What’s the point if only 1 person of the 50 in the audience will really appreciate what I have to say?”

But then I realized how incredibly fortunate and honored I was to even have the opportunity to inspire one person. When you write something or you present something to people, you have the opportunity to inspire someone and have an impact on their lives, whether personally or professionally.

That’s an incredible gift and honor, and every day you wake up, you have the opportunity to do it. How awesome is that?

If a troll comes along or someone doesn’t like what you write or say, again, at the end of the day they don’t care and they’ll have forgotten by tomorrow and gone on with their lives.

Don’t let that possibility of someone not being interested stop you from fulfilling the opportunity to inspire just one person in the world. It’s an incredibly great feeling, I promise you of that.

The fear of saying something stupid (which stupid people never have) has censored far more good ideas than bad ones.

— Alain de Botton (@alaindebotton) November 2, 2014

Step Two: Decide what to write/talk about

The key with this is not forcing anything. If you aren’t naturally inclined to write about something, or if passion isn’t driving you to let it out, then it’s not worth your time or anyone else’s.

But there’s no excuse for “I have nothing to write about.” Trust me, multiple times per week, you have thoughts after reading something interesting, or while coding you discover a trick of how to do something faster/better, or you may have had a great conversation with someone that sparks an interesting topic.

Every day you come up with ideas that want to get out, you’re just not writing them down.

And so it’s simply a matter of writing down those moments when they happen, as you will likely forget about them. You don’t have to write down everything, but jot down a few notes on a Notes app or wherever you track your “to-do tasks” about the core of the topic and what you could contribute to it.

If you’re ever unsure about whether to write something down, when in doubt, ask yourself this question…

Will what I have to say add value to the community?

Will it add value to a greater conversation going on? If not, if what you say is more of a rant than actually trying to help move things forward, then you’re not adding value and should probably just let those ideas go.

Screen Shot 2014-10-24 at 1.11.23 PM

Here’s a great example of a rant post that adds nothing valuable to its community other than unproductive negative energy.

Here are some value-adding approaches as alternatives:

How-to

The most popular and most flexible approach, you can give a how-to on something that either: a.) hasn’t been explained easily enough in other articles, or b.) hasn’t been shown how to do it anywhere else yet.

You might think you don’t hold valuable knowledge that others need to know, but you’d be surprised. Even little things like how to be productive at 3 a.m., even if you’re not an expert, you can help remind people of simple tips that can improve their next week.

Trick(s)

In this approach, you’ve likely discovered how to do something faster or better and can explain it easily. If you take this approach, make sure that you explain when the trick is appropriate to be used and when it is not.

Experiment

With the experiment approach, it’s your chance to explore something from a different angle.

For example, you may have read about people generally stating that React performs faster than Angular; this is an opportunity to do some experiments to show those communities some actual production results.

Experiments can be used with many different situations, but generally are a result of playing around with some new tech.

Introduction To _______________

This is an extended approach of the How-to.

Although these are pretty common, there are usually only a small handful of actual good, up-to-date introductions to any programming topic. If you feel like you really grasp something well, chances are you can write a more updated, better, easier, more efficient and maybe even more entertaining introduction for newcomers.

It’s time for change

This approach usually comes about when you’ve had a revelation that something, either in a community, a framework, an industry, etc. needs to change in order to help things move forward. Now saying it’s time for change isn’t necessarily a rant so long as the goal of your message is to move things in a positive, collaborative direction that you set forth. It should sound like: “We can make this better together,” as opposed to “This sucks, and my ideas are better than all of yours.”

Fail fast with your topics

You can also ‘fail fast’ with your topic by doing a quick post in a community’s forum/etc., or on Twitter, asking whether anyone would be interested in hearing more about the topic you have in mind. Even just a few “Yes” votes is enough to validate your cause and give you the rocket fuel of courage you need to get started.

Step 3: Outline your structure

So once you have the courage built and a validated idea ready, it’s time to outline the structure of what you’re going to talk about.

And your structure should be as simple as setting the context, delivering the meat, and then opening it up for them to contribute more to that conversation and idea.

structure

Context

Set the stage first, but don’t spend too long doing it. People don’t want to sit around for 5-6 paragraphs waiting for you to get to what they came here for. Like when listening to a talk, people didn’t travel several miles to wait 20 minutes to hear about your background and the company you work for.

Give them enough context to understand why what you’re about to say is important to know. Nothing more, nothing less.

The Meat

This is where you put the majority of what you want to say.

Use as many sections and sub-sections as you can. For example, a section might be “Secrets to being a Great Remote Developer” and then a sub-section would be “Secret 1: Be Proactive.”

Sections make it easier for people to digest all of the information you want to present them. The human brain retains information better when it’s modularized like this. It’s why Buzzfeed’s list posts do so well.

You can also start thinking about what images you’ll want to associate with each section, as images help break up giant blocks of text that can seem overwhelming.

Your Turn

Once you’ve unloaded all of your great ideas, now it’s time to wrap things up and ask the reader to consider contributing to the conversation.

If you’re talking about an open source project of your own, invite them to submit issues or a pull request. If you wrote about a trick, ask the reader if they have any other tricks they’d recommend to go along with yours.

This is your chance to be humble and admit that you don’t know everything (in case someone wants to add to what you’ve written) and that ultimately what you’re writing is a conversation, not a lecture.

Note: It isn’t necessary to add a “Your Turn” to everything you write, but for most situations, it will likely fit well.

Be unique

Try to be as unique as possible. By unique, I don’t mean that you can only talk about things that have never been talked about before.

But for example, if you wanted to talk about headless Drupal, there are plenty of things that have been said about that if you Googled it.

The question for you then is — what can you add to that conversation that is unique? Can you add something that’s more up to date? Can you explain something better or easier for newcomers? Can your version be more entertaining and people will become more involved because of it?

The point is that once you have a draft of an outline, you want to really start looking at where you’ve truly made it your own and made it unique, as that is what will add the most value to the community.

Step Four: Publish

It’s time to publish your masterpiece and let the world see it.

Start up a simple Tumblr. Then re-post to Facebook, Twitter (@ people you know for retweets), reddit, and LinkedIn (use their new full post to your profile feature).

Make an English version

It’s awesome if you write your post in your native language, but if you want those ideas to have the maximum impact on the web, you also need an English version. Ask an X-Teamer in the #communication channel to proofread it before publishing if you don’t feel comfortable with your English yet.

Review what you’ve done

Once it’s posted, your first instinct might be to completely ignore it because you’re afraid what you might have posted is terrible.

But I recommend doing the opposite. Re-read it a good 5 times the same day you post it. And it’s OK if you change something, but don’t try to make big changes. It’s not perfect, and that’s OK.

Then wait a few days and re-read it again. You’ll start to notice every time you read it once it’s published that you discover things you would have done differently. This is good. Use these as lessons learned for next time to keep improving yourself.

Step Five: Take your show on the road

gerald_cover

Now after you’ve done a few posts and you start to get the hang of this, you’ll be ready to take your show on the road and do a talk at a local meetup.

Apply to speak

For the small meetups, you can usually just message the organizer and give him the gist of what you want to talk about. For the bigger events, they’ll have a period of time called CFP, or call for papers, where they’ll only accept proposals for speaking during that time. Make sure you check long before an event’s date for the CFP period.

One way I’ve found to help get you approved to speak at any event is to first show them the success of your talk’s topic by linking to its blog post version.

Having your blog post version done already when applying is important because: 1. It shows there’s already interest in your topic from the community, and 2. They can see an extended, “meatier” version of what you want to talk about (compared to the mini-summary they’ll ask for).

Build your Slides

Whether you’ve been accepted or not, chances are someday you’re going to need to have slides ready to go at a moment’s notice, so you might as well start building them.

Software: In terms of what software you’ll need to build your slides, here’s the good news: animations are pointless (unlike when we were growing up), so all you really need is a free, collaborative tool like Google Slides.

Be Simple
Now rather than just try to dump all of the content in your outline onto some slides, think simple. Talks with slides are best when they only have simple ideas on each slide (in other words: lots of text is no bueno).

So simple is good, but you still want each slide to make sense if someone sees that slide on its own later when they are reviewing your slides on Slideshare/Speaker Deck.

For years I did talks with slides that meant nothing out of context, and was never able to share those talks and use them to build my reputation online. Needless to say, that was a mistake.

An easy first step to setting up your slides in a simple structure is to go back to your outline and find your main sections. Then give each section its own slide to introduce it as the next topic you want to talk about. This makes it easier for the audience to digest as you switch from section to section in your talk.

Design is important

I say this cautiously, as I know design scares programmers, but design is important. The good news though is that as long as you’re keeping your slides simple, there’s very little design you have to worry about (see the slides at the top of this post). You can even use this template I’ve made.

The key to good design with a slideshow is consistency with your colors, fonts and layout.

For example, don’t use more than 3 different fonts (1 serif font) or 3 different colors on slides. For fonts, your safest bet is to just use Google Fonts rather than any Windows-based or Mac-based fonts.

For colors, ColourLovers offers some great color palettes to help you find 3 colors that go well together.

Screen Shot 2014-10-24 at 1.30.46 PM

I also highly recommend using Unsplash for beautiful Creative Commons photos that can work as great backgrounds on your slides if you want to mix it up a bit. The slides at the top of this post, for example, uses them for backgrounds to make things seem less monotonous.

And although not all of those backgrounds have much meaning to them, whenever you can make a good visual metaphor, your point is much more likely to be remembered, so it’s worth trying to aim for that.

Humor is good As I’m sure you know, people love looking at slides that aren’t entirely serious. So it’s OK to include a meme or something funny to help explain your point and get a ‘smile break’ in.

Few developers take the time to make their talk a little entertaining, but if you do decide to, be sure to go easy with the humor — flooding your presentation with memes won’t be the most effective way of making your point.

thisisjavascript

Go easy with code blocks: If you’re showing code to explain something, try to only use one small snippet of code per slide. People don’t want to stare at giant blocks of code on a slide.

Screen Shot 2014-10-24 at 1.46.43 PM

Get inspired

Finally, look at other talks and their slides to get inspired. It doesn’t even have to be development related talks; before putting together any talk, I always spend a couple of hours just watching Simon Sinek to remind myself to focus on inspiring people first and foremost.

For slides inspiration, check out Speaker Deck. In comparison to Slideshare, Speaker Deck tends to have beautiful presentations that are more entertaining and valuable. Browse them and get inspired!

Practice. A lot.

Once you’ve got your slides built, it’s time to practice. And hopefully you have the weekend to yourself, because you’ll need it to practice a lot.

Every time you practice, you’ll find something you want to tweak — go for it, now is your chance. Then practice some more. Then practice in front of a mirror. Once you are starting to feel sick of your talk, you’re ready.

The beginning and end of your talk are the most important part, because those moments will be the majority of what people remember. You can blame the human brain for that. So be sure to practice the beginning and end the most.

Starting and ending with either a story or big idea usually goes over well, but make sure it all connects with the rest of your talk. I’ve seen talks that started with stories about the speaker’s drive to the conference that morning that had no tie-in whatsoever to the rest of the talk. Don’t leave people confused, leave them inspired.

As you practice, it’s also good to keep track of how long it takes to present each slide. If you discover that your talk is going over the time limit you’ve been given, you can much more easily cut things out to meet the time requirements.

Don’t forget to network

Once you’ve given your talk, you might feel tempted to just leave and let those nerves calm down. But you’re not done yet — now comes the most valuable part of all: networking.

Depending on the event or the meetup, there will always be some sort of opportunity to hang around with people after your talk to keep the conversation going. Connecting with people about things you’re passionate about is incredibly rewarding (and even addicting).

Review your ‘performance’

Just like with your blog post version, after you’re done, take the opportunity to review your performance. If possible, get someone to record your talk so you can watch it afterward. You’ll find it’s pretty eye-opening and you’ll very quickly discover all of the things you want to improve for next time.

If you don’t get a recording, try to find time the same day as your talk to write down as many thoughts as you can remember about things you wish you had done differently. You’ll quickly lose those thoughts, so make sure to do it the same day.

Some things you can look for to improve on next time are avoiding eye contact with the audience, talking too fast, never pausing, saying “uhhh” too many times in-between words, etc.

And it’s OK if you do any of these. It’s called being human. The key is to try and be conscious of them for next time.

Let’s do this.

And so there you have it — how to go from an idea in your head, to a published post, to sharing that passion with people in a room.

And to help get you started tomorrow, here are three things you can start doing immediately.

#1: Start tracking your ideas.

The first thing you can do is start getting in the habit of tracking your ideas. So like I mentioned at the start, every time you have those brainstorm moments after reading something or talking to someone, write them down in a Notes app (and include a link if the inspiration comes from a site).

All you need to write down is the core idea and a few sentences of what value you could add to that conversation in the community.

Screen Shot 2014-10-24 at 1.50.03 PM

And then at the end of each week, take a look at what you’ve collected and see which ideas could potentially turn into 4-5 paragraphs or more.

#2: Work through 1 topic

Then you can take the topic that seems like it has the most potential from that list and unleash 4-5 more paragraphs about it in a Google Doc. This is your chance to fail fast — if it seems like your ideas aren’t going to add value, drop it and move on to the next idea. It’s at this stage that you’ll start to realize whether something is a rant or a valuable discussion.

Screen Shot 2014-10-24 at 1.52.33 PM

Once you have one that looks like a solid 4-5 paragraphs, see if you can take it further. Then start building a more solid structure around it and follow the steps I covered earlier.

#3: Get on Tumblr/Meetup.com

And finally, get a Tumblr account with a simple theme and get it ready for your soon-to-be first post.

Also, start browsing Meetup.com and look for some smaller meetup groups that you can potentially one day speak at once you’ve had a successful post. Again, meetup groups are incredibly welcoming, so just go hang out with them to start and before you know it, you’ll start to build up that courage to start sharing your ideas with them.

Never forget…

…that inspiring one person is all that matters. And never let that possibility of someone else not being interested in your ideas stop you from fulfilling the opportunity to inspire just one person in the world.

So I’ll leave you with the mantra I made for myself that has kept me giving talks for many years now: Be inspired. Create. Inspire the world.

And if you want to feel incredibly rewarded, simply be inspired by others, create something of your own, and inspire the world in return.

Sure, there are plenty of tricks and tips to make posts and talks look cooler or be easier to understand, but at the end of the day, it comes down to your passion and the inspiration that drives you. Because that’s what will help you create something that’s truly your own and that will inspire others.

Contributing to communities all starts with sharing ideas, so I hope you’ll take the first step. /five

Wojtek Zajac also contributed to this post.

We'll help you unleash.

Join the 20,000 developers who subscribe to our newsletter.

Scale your
Development team

We help you execute projects by providing trusted developers who can join your team and immediately start delivering high-quality code.

Hire Developers
community, code, speaking