Let me try to convince you to write more.
I don't mean write more code. I mean write for humans.
There's a huge benefit to getting good at writing as a developer. And all it takes it practice.
You don't have to be a good writer to write. In fact, it's the opposite: you have to write a lot first, and then with time it becomes easier and easier.
Being good at writing isn't about writing high-quality stuff at all. Quality doesn't matter. You can have a crappy blog post and that's infintely better than no blog post at all.
The goal of practicing writing is not to write high-quality material. The goal is to get efficient and fast at getting your thoughts into text. It's a skill that's for you first, and for the reader second.
The more you write, the easier it will feel to just open up a blank page and write.
You might tell me: I'm not a writer, I'm a developer. I don't have time for writing. Well, then this post is for you. Let's jump into 3 arguments for why you should do it.
Writing is the most powerful way to boost your value as a collaborator.
Most software teams aren't bottlenecked by how much code they're writing. They're bottlenecked by the bandwidth of the communication between team members.
Here's a good strategy for any team of developers: over-communicate. You can't go wrong with over-communication, because you will eliminate a LOT of problems due to misunderstandings or miscommunications.
Here are important things that you can do that involve writing:
- Share progress reports with the rest of your team
- Write tutorials and onboarding checklists to help new team members get up to speed
- Describe obstacles that you encountered and how your team solved them
- Make bug reports better by writing about the fixes, the trade-offs and the lessons learned
If some of your team members are remote, or if sometimes people on your team work from home, then written over-communication becomes critical.
If you're having in-person conversations at the office and things don't get written down, then the team members who are absent are going to miss out on important information.
Slack messages are OK for short-term ephemeral communication. But if you want your team to get serious about collaboration, write things down for real. I mean outside of Slack: in a knowledge base, a wiki, or a documentation repo. Somewhere where you have to lay out your thoughts in a structured way.
Maybe collaboration doesn't get you motivated.
Maybe you're competitive and you're more focused on career advancement right now.
Getting good at writing as a developer is a remarkable way to stand out from the crowd.
Communication is a skill that's overlooked a lot by developers. From the many conversations that I've had about this, I suspect that a lot of developers get into this line of work precisely because they'd rather interact with computers than with people. If you're competitive and you want to get ahead in the career game, then writing can be a huge advantage.
Start a blog. Write about your projects. Share what you're learning with the world. These are powerful tactics for career advancement. This is how you get noticed and how you get your foot in the door at your dream company.
I call this argument "for the introverts" for lack of a better term, but that's not exactly what I mean.
Here's what I actually mean. If the above two arguments don't do it for you, then just write for yourself.
A large part of software development is problem solving. And problem solving starts with identifying and verbalizing what kind of problem you're looking at in the first place.
Describe the problem. Write it out. It'll force you to really think about what you already know, what you need to find out, and how to put the pieces together.
It's amazing how much simpler most problems start to look once you write them out. Sometimes you figure out a solution before you're even done writing the problem down.
It's like the concept of rubber duck debugging. It's helpful to talk through a problem with someone, because the act of talking helps your brain map out what's going on and it gets you closer to a solution.
Writing is even better than talking to a rubber duck. It gives you a record of the problem that you can return to in the future. And you can share it with others who are facing a similar problem. That's a huge win right there.
I tried to lay out 3 perspectives on writing, to appeal to different motivations that might speak to you.
Here's something that I've learned: if you want to get good at writing, it doesn't actually matter what you write. Just write.
The practice adds up. And let me reiterate: don't worry too much about the quality of your writing. That kind of worry is what causes writer's block. I like Seth Godin's advice on this. He says: write like you talk. Nobody ever gets talker's block.
Don't know what to write about? Pick things from your own daily experience. Write about what you learned today.
Don't have anywhere to post it? Post it on dev.to.
If you do this every day or every week, I guarantee that your writing ability will improve fast. It's all about quantity and consistency.
There are a lot of people who love both JS and UX/CSS. If we stop labeling people just as “JS developers” or “UX developers”, we can achieve a ceasefire in the current “JS vs. CSS” war and achieve a mutually benefiting peace.