Teaching as a Side Hustle for Engineers

Teaching as a Side Hustle for Engineers

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.

Continue reading Teaching as a Side Hustle for Engineers on SitePoint.