It started with a simple question from my apprentice: “How can I remember more of the stuff I need to learn?”
My simple answer: “Write about it!”
An hour later I had finished ranting about why writing is such a crucial skill when becoming a software engineer.
tl;dr; Writing fosters learning. Writing clears your mind. Writing can empower your career.
Why you need to become good at writing as a software engineer
Specifications & Requirements
Very often you have to improve existing specs from your customer to clarify details about how features should actually work.
Sometimes you have to define your own requirements because the customer hasn’t made up his mind yet, but expects you to finish the project on time nevertheless. So you have to fill the gaps.
You need to be able to translate a feature or a use case into a test case for manual testing.
Most of the docs I have ever written have been for myself.
When you stop working on a project for a couple of weeks you almost always forget everything about your code.
And when you – as the author of the code – need documentation, chances are high, that many colleagues appreciate every additional info.
Pro tip #1: Use the spell checker in your IDE
How to enable spell checking for German in PyCharm
Most of today’s communication is done in written form either by email or in chat groups. Every email you’ve sent has the potential to be forwarded to dozens of colleagues regardless of the initially intended audience.
Pro tip #2: Double check your email before sending. Check the grammar, punctuation and overall logical structure.
Pro tip #3: When writing on the web (e.g. Stackoverflow Q&A) enable your browsers spell checker.
Firefox: Enable Spellchecking in Single Line Fields
How to practice writing
Read more books
The more you consume well written sentences and paragraphs the more it will influence your writing style. It will improve your vocabulary and your capability of explaining topics more concisely.
Thoughts on building a library
Write a journal
To be able to write about complex topics, you need to be able to formulate everyday experiences first. Get into the habit of writing a couple of lines about your day every day.
Post on Stackoverflow
You can use SO for your benefit be either posting questions or helping others with your answer. You will see, that most of the approved answers for a problem are the ones best written.
But there is more: you can also improve existing answers or questions to make them more readable. SO has included gamification to give you points for your effort. The more points you get, the more you can get involved with the platform.
Twitter is great for formulating precise short message with great exposure.
Write a blog
Blogging is another possibility to practice writing. The cool things is that you can deep dive on a topic and share it afterwards. Most articles on my blog start as a cheat sheet for future references e.g. Pandas Cheat Sheet and evolve into tutorials and how-tos over time.
Learn more about writing