High-performing teams have one thing in common: a healthy team culture. This framework will help you to create a climate that empowers developers and...
The importance of writing for engineering managers
To succeed as an engineering manager, you need more than technical expertise. Improving your writing is one of the best ways to boost your career.
After 8 years leading software engineering teams, Karl Hughes decided to blend his love of writing and marketing with his technical expertise. Now Karl runs Draft.dev, a technical content marketing agency that creates in-depth, high-quality content for startups that want to reach software developers.
Before I ever pursued a career in tech, I loved to write. Becoming a software engineer didn’t mean abandoning this skill. In fact, engineering managers can spend between 50% and 95% of their workday writing. Strong written communication has been a huge factor in my career growth and ability to lead successful dev teams.
As more software engineering work goes remote and teams are increasingly distributed, it’s more important than ever for engineering managers to communicate clearly. Not every EM enters the role with a strong foundation in writing. However, there are a number of ways you can improve and leverage your writing skills to become a more effective leader.
In this piece, I’d like to explore:
- Why you should write
- Communicate without interrupting others
- Build context that others can follow
- Advance your career
- Increase your level of influence
- How to get better at writing
Why you should write
Communicate without interrupting others
For managers with back-to-back meetings and limited slices of work time, staying on top of emails is a constant challenge. To accommodate your tight schedule, it can be tempting to tap an engineer on the shoulder to discuss a blocker. While this might seem like the most efficient way to ask and answer questions, interrupting your engineers’ focused work time can hurt their productivity.
In my experience, 95% of your questions don’t require an immediate response; they can be answered at the end of the day or the next day. This is where writing comes in. As an asynchronous form of communication, writing enables you to have important discussions without interrupting your team.
Written communication also forces me to be more thoughtful about my questions and how I ask them. When you have to build out the context for your question in a Slack message or email, it can help you to think through the problem in greater depth and convey your thoughts more effectively.
The more you default to asynchronous communication as an EM, the more you encourage this norm for your team. This helps to create a culture that values focused work time and maximizes productivity between meetings.
Build context that others can follow
One of the best decisions I made as a CEO was to keep a weekly journal. In quick bullet points, I document problems I run up against, decisions I make, and outcomes over time. This small time investment has proved invaluable. Now I don’t have to wonder why I made a certain decision 6 months or a year ago. I can actually flip back in time and review the context.
Developers often run into similar issues. Let’s say you have to sideline a project you’ve been working on because of a critical bug. When you return to the original project months later, you’ve lost all your context and research. You find yourself wondering why you made certain technical decisions. If colleagues take over the project for you, they have no idea what you’ve done.
Re-orienting yourself to a project can take a ton of time. You can plan for these interruptions by writing references and comments above your code. It can also be helpful to leave yourself notes about the solutions you’ve tried. That way, when you get stuck on a project, you can more easily decide what to try next.
When it’s time to merge code, you can easily delete any notes and comments. However, you may want to preserve these learnings in a wiki entry or blog post. This will give you and your colleagues a roadmap for similar tasks in the future.
Advance your career
Writing has helped me at every stage of my career in tech. As a college student and new graduate, I got my foot in the door because of strong cover letters and emails. You may have the technical skills to succeed in a role. But if you don’t communicate your qualifications in a compelling way, you won’t stand out among hundreds of candidates.
Once you land a software engineering job, you’ll find that writing is a bigger part of the role than you might expect. According to Dr. Jon Leydens, a professor of engineering education:
- Early-career engineers spend roughly 30% of their workday writing
- EMs in middle management can write for 50-70% of their day
- Senior EMs can write for 70-95% of their day
As an engineering leader, a regular part of my work was explaining the tradeoffs of technical investments to business people. Let’s say the business wants to implement two-factor authentication. From a business perspective, I can affirm the value of the idea while explaining the technical complexity behind it: it’s not as simple as adding a field to an existing feature.
Not only would I explain these tradeoffs in person, but I would also write them down. That way, a product manager could explain to the next level up why the project was taking six weeks. This write-up of technical and business context is an important link between the people driving the product and the engineers doing the work.
Enabling effective communication between the business and engineering makes you a stronger candidate for promotion. It impresses higher-ups and the engineers on your team, who can be important advocates in the promotion process.
If you want to move up the career ladder in remote settings, writing is more important than ever. According to Upwork’s Future of Remote Work Survey, 30% of respondents said communication is one of the biggest challenges in a remote workplace. EMs with strong writing skills are far better equipped to help distributed teams communicate effectively.
Increase your level of influence
While you need a baseline of technical ability to succeed in software development, this will only get you so far. The right kind of influence will increase your visibility at your company and in the tech industry more broadly. This can open up career opportunities before they are publicly available.
In my experience, certain kinds of writing can unlock progressively higher levels of influence in the software engineering community. Let’s take a look at these levels and how you can use writing to achieve them.
- Bare minimum of writing that is required
- Types of writing:
- Internal communications, such as emails and Slack messages
- Progress reports
- Career impact:
- You have very little leverage in your career
- You are likely to experience periods of unemployment
- Most common level of influence for software engineers
- Types of writing:
- Technical specifications
- Style guides
- Testing criteria
- Bug reports
- Internal knowledge base articles
- Career impact
- You have some influence over your team’s work
- It is unlikely your work will be known outside the company
- Typical level for official/unofficial leadership roles
- Types of writing:
- Hiring criteria
- Tradeoffs between complex technical decisions
- Training materials
- Career impact:
- Eligible for more internal promotions and interesting lateral moves
- Increased respect for your work internally
- Increased confidence to write externally
- First step in building personal brand
- Types of writing:
- Technical case studies
- Public documentation
- Career impact:
- Your work may not get much traction, but it lays the groundwork for an external reputation
- You can point to this work when employers ask about specific technical experiences
- Few people achieve this level
- Types of writing:
- Articles and books applying technical experience to business challenges
- Writing with strong point of view that influences developers’ work
- Career impact:
- You have a reputation beyond your company
- You will be recruited by companies
- You can create your own career opportunities
Accelerating your career with writing can seem like a daunting task, especially if you aren’t confident in your writing skills. However, there are a number of ways you can improve your writing, no matter what level of influence you currently have.
How to get better at writing
Improving your writing starts with committing to a growth journey. For EMs who are used to excelling in their technical work, it can be challenging to accept that your writing needs improvement.
Instead of dwelling on your deficiencies, I encourage you to embrace where you are. There is no shortcut to becoming a skilled writer, let alone an external influencer. But with consistent and strategic practice, you can reach your writing and career goals.
Let’s break down some concrete ways you can get better at writing.
Start with what you know
There are few things more overwhelming than a blank page. How do you sift through infinite possibilities to pick just one idea?
The quickest way to overcome this mental barrier is to start by writing what you know. For instance, what is a problem that you just solved at work? A quick Google search might reveal a number of articles about this topic. However, keep in mind that your unique perspective on the topic has value. You don’t need a wholly original idea; you just need to add to the conversation.
Organize your thoughts
Once you select a topic, you’ll want to organize your thoughts in an outline. Many new writers try to skip this step. However, if you dive into writing without a plan, you’ll quickly lose sight of what you want to say.
A well-crafted outline lays out your main points. Writing simply connects the dots. This doesn’t mean sticking to the outline at all costs; I often rework ideas as I write. But having that initial roadmap helps you to stay on track as your thoughts evolve.
Outlining also helps you to prioritize what matters most in writing: the structure and organization of your ideas. While mechanics are important, they are secondary to your logic. Readers can look past some flaws in grammar and syntax, but are less likely to stick with you through a poorly-structured argument.
If you want to get better at writing, you can’t wait for inspiration to strike. You need to make writing a habit by carving out time to practice your craft. I find that when I block off time on my calendar to write, I make a lot more progress on my writing goals.
That said, deliberate practice goes beyond writing consistently. It means strategically challenging yourself to grow your skills. The mental model I like to use is the zone of proximal development. When you work on tasks that are just outside your level of mastery, you maximize your learning.
Of course, this is easier said than done. Pushing yourself to write above your level is uncomfortable and frustrating. Looking back on my blog posts from 10 years ago, I can see that they weren’t very good. But by consistently writing those posts and working on increasingly difficult tasks, I built the skills to create work I’m proud of.
Practice in multiple formats
The strongest writers don’t limit themselves to one type of writing. They are adept at creating content in multiple formats. This versatility enables you to build your skills and influence across multiple platforms.
To become a more versatile writer, incorporate different formats into your practice. Here are some options that can help accelerate your growth.
People often ask me how I learned to write as an engineer. While I have always enjoyed writing, starting a personal blog towards the end of college is what made writing a habit.
I started small. About once a month, I wrote a short post about my career journey or a technical problem I’d solved. Doing this over 10 years added up to a ton of practice. On top of that, having an archive of my writing gave me tangible evidence of my progress. This was a huge source of encouragement on tough writing days.
Of course, there were times in my blogging journey when I felt uninspired. I found that daily writing challenges helped to unblock me and keep the momentum going. Even if it’s just 300-500 words responding to an article, consistent blogging is a great way to develop your skills and voice.
This was the next step for me after several years of blogging. While I had consistent traffic on my blog, I wasn’t keeping up with readers. Out of curiosity, I created a newsletter form to see if anyone would sign up. A couple hundred signups later, I launched my first newsletter.
For the past several years, I’ve sent 1-2 newsletters per month pretty consistently. I enjoy writing in this format. It’s almost like a mini blog post, plus article summaries and reading recommendations. Newsletters enabled me to leverage the influence from my blog and build a stronger relationship with readers.
This format includes writing for platforms like Twitter, LinkedIn, and Reddit.
People often think that it’s easier to write a Twitter thread than a long-form blog post. I’d argue that it can be more challenging. When you only have a couple hundred words or characters, you can’t afford to go off on tangents; every word counts. Condensing complex ideas into short-form writing is a unique skill that needs to be cultivated.
This format includes responding to GitHub issues and Stack Overflow questions.
The great thing about this type of writing is you don’t have to generate topic ideas. The problem is already defined – you just need to focus on writing a clear and concise response.
Troubleshooting is a valuable way to practice writing because it forces you to engage with readers on a deep level. It’s not always as simple as providing an answer. To get to the root of the reader’s problem, you may need to ask targeted questions and sustain a dialogue.
Creating effective documentation is one of the best ways you can practice writing while directly supporting your team’s work. Check to see if your organization documents the following:
- Project tracking descriptions and checklists
- Tactical-level API updates
- Base-level documentation
- Context for architecture
- How to link up data
- Processes and policies
- How to onboard
- How to give performance reviews
- Remote work guidelines
Take advantage of opportunities to create or improve upon existing documentation. When you use writing to improve communication on your team, you are more likely to move up the career ladder.
Everyone wants their article or Twitter thread to go viral. It feels great to see your work connect with such a wide audience. However, fixating on how your writing performs can distract from what matters: the deliberate practice that makes you a better writer.
When you are writing to grow your career and influence, it makes sense to think about views and shares. But this shouldn’t be your primary metric of success. In the past decade, I’ve published hundreds of blog posts. Just five of them have made the front page of Hacker News. If I valued external performance over the skills I built from years of practice, I would have stopped writing a long time ago.
I encourage you to write primarily for yourself, while also being honest about your goals. For instance, are you hoping to:
- Record your own learnings?
- Promote a product?
- Get paid to write?
Knowing your goals will help you to pursue relevant projects. Managing your expectations around these goals will help you to stay focused on growing as a writer.
Whether you become an external influencer or not, the reality is that you need to write to thrive in modern software development. Better writing makes you a more effective leader and unlocks career opportunities. I hope the tips I’ve shared today will help you to get started.