How I'm Learning to Write Online By Using 5 Software Engineering Principals
I'm stuck trying to write articles. A common problem for new writers. Can I use the same techniques that coders use to solve problems to overcome my difficulty?
I’m sitting in my comfortable coding cocoon writing this article using the Visual Studio Code editor rather than a regular document editor.
I don't know how to write articles but I do know how to write code. The syntax flows freely from my fingers and the outcome gives me joy. But can I master this alien world of sentences and paragraphs?
Strange; that's how I feel knowing that I talk using English words every day but writing words down takes forever to word and re-word and edit and re-edit. Should I write like I talk or do I put on a performance like scripting a theatrical play? Do I just say whatever I like hoping it will resonate with people or craft each line to pack a punch worthy of the Turner Prize?
As a novice trying to write online is an overwhelming task and I imagine it's like a beginner learning to code; the syntax, the structure, the symbols and spacing. When to combine code and when to split across lines. How to start and how to end.
if (i_can_code);
then
i_can_write = true;
fi
What I know from coding is that software development is incredibly complex. Software engineers often don't know how to solve the colossal problems they are presented with and so they follow these five principles to figure it out. The overarching theme is to “optimise for learning”.
1. Iterate
This principle is about getting stuff out fast in small steps, by using some sort of workflow, a series of repeatable steps that you follow each time. Think of it like publishing a book but just one page at a time. The more stuff you get out, the more you learn about how it works in the wild and whether it takes you towards or away from your end goal. Imagine how a novel could twist and change direction based on the learnings from releasing a chapter at a time.
You also learn all the repetitive parts that can be streamlined for faster delivery and potentially automate the boring bits away.
I'm hoping to write short posts on social media every day and one long post a week. Right now I'm optimising for learning to see what works.
2. Increment
It's not just about getting stuff out there randomly and hap-hazzardly. Change needs to be incremental; better each time. For that, you need to measure how each piece of writing is doing. If it can be measured it can be improved. Don't be disheartened by poor engagement. It's like a game, each time you get a little further and it feels good.
I'm hoping to evolve my writing about using tech to build my business but if that doesn't fly then I'll incrementally change direction until I find what works.
3. Experiment
This can seem scary when writing but in software engineering, it's a perfectly normal thing. You're not sure what will resonate so you try stuff out. Sometimes that takes the form of A/B testing where some audiences will see one variation and another will see something else. Other times it can be just trying a few different ideas to see what resonates.
With writing it can seem like a waste of time, meandering with ideas but in engineering this way of learning is really fun. It’s like experimenting with anything in life; cooking, movie genres, outdoor activities; you learn more about yourself and the people around you. I intend to have fun with my writing.
4. Empirical
In other words, stop overthinking it by delving into theories and strategies, quick hacks and endless tutorials and podcasts. Learn by doing. It won't be perfect. It never is. I'm a testament to that. In these early days I’m producing writing I think is good but others don’t. Take action.
Sometimes more than a week passes and I miss my writing target. I'm overthinking it again. Stick to the principles. It works with code so it will work with writing. I know I can do this.
5. Feedback
Where does your audience live? In your head? No. So stop dreaming you know what they want. Software is amazingly complex and you learn through feedback. Sometimes that feedback is positive but sometimes it's negative and that's ok. It's still feedback, it's still learning, it's still progress.
Stop writing like a know-it-all. You only have one brain but two ears so spend more time listening to feedback. Note to myself: check the stats to see what people want and produce more of that.
Our worlds aren't so different, writing and coding. Maybe I CAN work out this writing creatively thing. Time will tell. But with these coding principles and optimising for learning in practice, I have a greater chance of making the next viral post.
Commit. Push. Release.
Article Delivered.
Nice take!
Thanks Abid - great perspective!