Teaching as a Side Hustle for Engineers

Craig Buckler
Share

Even if you’ve only progressed a short way into your development career, your knowledge has value to others. There may be people who know far more than you, but there are always more who are yet to acquire the skills you currently possess. And only a small percentage of those who know as much as you or more can efficiently document that expertise or pass it on to others.

In this article, we’ll discuss how you can take advantage of your engineering know-how to build your reputation, help others, and improve your financial security.

Most people’s first teaching experience is writing …

Write for Yourself

The first rule of write club is always write for yourself.

Forget dreams of fame and fortune and write what you’re passionate about. Choose topics you know such as problems you solved during real projects. Your brain will fool you into thinking you’ll remember the tools and techniques forever. It’s lying. Your collection of posts will become a personal knowledge repository. I still Google my own articles to discover how I tackled problems — often only a few weeks after writing them.

Writing for yourself has benefits, including the following:

  • Punctuality prevails over perfection. You’re less likely to procrastinate because it’s more important to document a process while it’s fresh in your memory.
  • You won’t worry about perception. It’s your personal notes; whether it’s useful to others is irrelevant.
  • You’ll have fewer inhibitions. There’s no need to sweat over research, content duplication, keyword analysis, well good grammar, or other secondary priorities.

Write regularly — and make it public.

Consider private posts when they contain references to intellectual property or personal information. This is rare in software engineering: you’ll generally be documenting an implementation approach or known API with your own experiences.

A personal blog created with a static site generator such as Eleventy is ideal. Content can be written in Markdown files, backed up in a Git repository, transformed to various formats, and hosted for free using services such as GitHub, Netlify, or Vercel.

Content management systems such as WordPress offer a more immediate publishing process and features such as search. The downside is that posts are stored in a database which can be more difficult to back up, and switching to another system is a burden (although there are options).

You can post to social media sites such as Facebook, Twitter, LinkedIn, and Medium. These provide further publicity, but you’ll lose control of your content and surrender some rights. Always ensure you have adequate copies.

Ultimately, use whatever tool makes you productive. It’s more important to write frequently than dither over the choice of publishing medium.

Share Your Content

Your content may be niche, or it may solve an obscure edge problem, but it will always have a target audience. A single post could help thousands of developers.

The most immediate candidates are your colleagues and clients. At some point, someone will ask for your help and you’ll be able to direct them your URLs. If that post doesn’t exist, you have a new topic for consideration.

Others will recognize your potential before you. Your reputation will increase and you may be asked to contribute further documentation, conduct peer reviews, or train colleagues. Engineers often avoid these tasks, so tackling the work will raise your profile and career prospects further.

From your perspective, you’re still writing for yourself. The process will make you a better developer. Teaching others expands your knowledge and exposes the gaps.

Post Polishing

Others may be thrilled by your work, but your most important critic is you.

Do you enjoy writing?

Few engineers are able to create good technical posts. Others may be capable writers but lack the inclination. Either could make money from writing but they’re unlikely to persevere over the long term.

A small set of developers posses the passion and motivation to write about a subject. You may fall into this group if you can list half a dozen post titles you’d like to write.

The next step is to write more focused and polished posts. First, pick your subject (or subjects). This seems obvious but you’re moving beyond a personal blog. No one will stop you posting about JavaScript, pancake recipes, and honey badger photography, but releasing it on the same site will confuse readers and search engines. Create separate channels for each subject as necessary.

If you’ve not done so already, purchase an appropriate domain — perhaps using your own name or your subject — and create a website. Design is important, but you can change it at any time. Content matters more. Many web industry celebrities have dreadful sites and it hasn’t held them back. (Maybe be careful, though, if you’re writing about web design!)

Each post should have a single idea, objective, or purpose. Have a clear goal: what do you want the reader to learn?

Simple, highly focused posts often resonate better with readers. For example: How to Use Async/Await in JavaScript can appeal to more people than the vaguer Getting Started with Asynchronous Programming in JavaScript. Both would cover the same topics, but Async/Await solves an immediate problem. (Asynchronous Programming may work better as a book).

If you’re explaining a development topic, demonstration code is essential. Write the code before tackling the post. It’s often more difficult than the article, and it may change the way you approach the topic.

Example client-side code can be embedded directly into your post using tools such as CodePen or JSFiddle. Server-side demonstrations are more difficult, but consoles are available for most languages including Node.js, Deno, PHP, Python, Rust, SQL, and even Qbasic. At the very least, push your code to a public repository and add screenshots or expected output where appropriate.

Every word counts, so be concise. Start the post by summarizing what the reader will learn, then get to the point. Word count metrics are vanity statistics, (although publications still use them to rank or approve articles).

Technical posts should work through solutions in a methodical manner. Explain each step in detail and be careful not to make unjustified presumptions about the reader’s level of knowledge. For example, if you’re explaining how to connect to an SQL database in Node.js, the reader will need to have some experience of those technologies. You shouldn’t need to explain how to open a terminal or install the runtime, but a quick overview describing how to initialize a project and add any necessary modules is essential. Avoid claiming a step is “simple”; that may not be the case for some readers!

Find your own voice, be friendly, and be welcoming, but be wary of humor and sarcasm. They don’t always translate well to a global audience, and you risk offending some readers. A flippant remark can escalate and become the focal point of your post.

Above all, continue to write for yourself. Post frequently and don’t worry about perfection or view counts. Your articles are unlikely to make financial gains, but they’ll prove your abilities and accomplishments.

Your First Royalty Payment

I don’t want to put you off, but few authors get rich from writing. For every Dan Brown, Stephen King, and J. K. Rowling, there are thousands of aspiring writers struggling to pay the bills. But it’s possible to make a little extra as a side hustle to your main job.

Platforms such as Medium, HubPages, and Substack offer royalties to authors based on page views and/or subscriptions. You can sign up, write what you like, and get published without any editing or approval process. Posts on your own site could be adapted or copied, presuming you don’t fall foul of Google’s duplicate content alerts. Despite the bold claims, most authors will struggle to make more than a few dollars a month. That said, it’s better than nothing if you have existing content which can be repurposed for a new audience.

Technical publications such as SitePoint, Smashing Magazine, and CSS-Tricks pay a couple of hundred dollars for well-written tutorials. You’ll need to pitch a topic but you’re more likely to gain approval if you’ve proved your capabilities with a selection of good quality posts.

Here are some things to note, though:

  • It will be considerably more work than you expect. Publications have their own editorial standards and processes. An article can be rejected after many hours effort.
  • You’ll receive constructive criticism and requests to change content. You have to satisfy the demands of several people — not just yourself.
  • You may lose ownership of the content. It may be republished elsewhere and you’re unlikely to receive further payments.

However, these sites can accelerate your credibility and career higher and faster than you could achieve on your own. Imagine being asked a technical question at your next interview or review and pointing to one of your peer-reviewed articles.

Finally, keep writing for yourself no matter where your article appears. Chasing the money is futile. No one can predict which topics will fall in and out of favor!

Books and Video Courses

Books and video courses are an obvious next step. Publishers are always keen to receive pitches, and they may approach you as your profile increases.

Books and courses allow you to deep-dive into a topic (such as asynchronous JavaScript) which can appeal to a wider audience over a longer period. Publishers typically pay a fixed fee, a sales commission, or a combination of both, which can provide ongoing income over a long period.

Don’t underestimate the production effort. Creating a book or course takes many months of effort and authors often give up before completion. The process can be less lucrative and more risky than writing multiple articles.

A publication will raise your profile further, but never work for free. Unscrupulous publishers will ask you to write a book or provide technical editing for no compensation other than the glory of seeing your name in print. You could consider posting a review in return for a free copy, but even that can be substantial effort.

Self-publishing

Self-publishing a course is another option for authors. Sites such as Gumroad and Leanpub offer an easy route to book and video publication and you’ll retain a higher percentage of the sales. Unfortunately, you’re on your own. Writing may be the easy part: organizing your own publicity, queries, customer support, updates, and refunds can take longer.

Conference Talks

Consider conference talks. Public speaking terrifies everyone at first, but it will raise your profile further. Pitching an idea will be easier if you’ve already published articles about your topic and have gained a reputation in your field.

Start by speaking on a podcast or at smaller online or local meet-ups to get valuable feedback. Assess your subject matter and appraise performance before submitting a proposal to a larger conference.

Again, don’t underestimate the preparation effort. Few conferences pay to newer speakers, but avoid events that will cost you money. Online conferences cost less to attend, but you should expect an attendance ticket and expenses where applicable.

In-person Training Courses

In-person training courses, either online or at a company’s premises, is one of the most lucrative training options. It’s easier to collaborate with a specialist training company who can offer promotion and technical support services.

Once you reach this point, teaching will have started to become a full-time occupation. Has software engineering become your side hustle?!

Teach Full-time?

Teaching is rewarding — but not always from a financial perspective. If you have the time and inclination, it’s easy to get started and your reputation will exceed those of your co-workers. You’ll become a celebrity on your team.

A few developers turn teaching into their main occupation. Renowned experts such as Wes Bos make it look easy, but remember that they spent many years honing their craft and providing hours of content for little or no remuneration.

At that point, you’ve become the owner of a training business. But you may not still have the time to do the engineering work that led you to teaching! You’ll have to learn through trial and error what’s the right balance for you.

I’m an active developer who’s also been writing and teaching on the side for years. Whatever balance is right for you, I strongly encourage you to experiment with these various teaching options, even if you just dip your toe. You’re unlikely to regret it, and you never know what it might lead to. Good luck!