Writing is thinking out loud.
If you want to become a great software developer than you need to be a great writer. I am quite surprised to find so few people talking about how important your writing skills are within the world of software development. Being able to clearly articulate your thoughts is practically a superpower, because most people struggle to do it well.
Just think about how much writing you need to do as a software developer, that does not involve writing code. Emails, Slack, documentation, readme's, code comments, git commit messages, pull requests, code reviews, etc. I think it would be fair to say that most developers write more words than code every day, and yet I never hear of a developer talking about how they need to improve as a writer. Being able to write great code is incredibly important, please don't misunderstand me, however, being a great writer is even more so.
Great writers are great thinkers.
I mentioned earlier that writing is thinking out loud. When you are reading someone else's words, you are reading their thoughts after them. Those words are the result of their thinking. The same can be said about code. When you are doing a code review, or checking out the source code of some open source project, you are reading someone else's thoughts after them.
This is why when you read great writing you are actually reading great thinking. When you see well written, concise, simple and easy to reason about code, you are reading great thinking. The common denominator is great thinking in both cases.
So how do you become a better thinker? By becoming a better writer. How do you become a better writer? By becoming a better reader and by writing a lot.
There are no shortcuts
I am sure you have heard something along the lines of, "a great developer is a lazy developer." This is true and the sentiment often refers to the fact that great developers automate as much as possible. We possess the power to wield computers however we wish, and when we use this power to delegate much of our work, we are considered "lazy" which is an admirable trait.
The trait of being a "lazy" developer does not hold water however when it comes to being a great writer. Great writers are anything but lazy. Great writers show up, each and every day, and write -- and they write a lot! There simply are no shortcuts to becoming better at writing. The more and more you write the better you will become at it, but you have to put in the work.
There are no shortcuts.
The beautiful thing about this, is that by recognizing this you already have a leg up on the competition, if you are willing to put in the work. Most people are not willing to put in the work required to become a great writer, and this gives you a significant advantage.
Natural talent only gets you so far
I am sure many of you reading this now are thinking, "but I am not a great writer." Very few of us are born great writers, we become great writers by the act of writing... a lot!
I was quite fortunate to study at a very prestigious music school in college and was surrounded by what felt like thousands of modern day Mozart's. I was the underdog. I couldn't read music, I never had a private music lesson in my life before attending school, and here I was surrounded by kids with perfect pitch, who traveled the world playing with some of the best symphonies on the planet, had record deals, you name it. On the surface it seemed like I didn't belong, and maybe that was true, at least at first. However, what I brought to the table and what made me stand out from all of them was my work ethic.
You see, many of them were quite arrogant and relied solely upon their natural God given talent. I was not gifted with as much talent as most of them, but I worked harder than all of them. Eventually, I surpassed them, because of my hard work ethic. Developing a hard work ethic was one of the greatest lessons I learned while studying there as it has catapulted my career ever since.
The same is true for you and your writing. Not everyone is born a Hemingway, and even he had to write a lot to develop his tremendous talent.
Most people are not born great, they become great.
You simply need to write more than the competition and eventually you will surpass them. There is a limit to how far natural talent will get you, but there is not limit to how far you can get with a strong work ethic. So work hard at your writing and hone those skills on a regular basis, every day if possible.
Establish a daily writing habit
Establishing habits becomes increasingly more difficult the older you become, so start to establish a daily writing habit as early as possible. You don't have to write 5,000 words a day, you simply need to exercise your writing muscles. If you only have 10 minutes, than work with what you have. Writing for 10 minutes a day is more effective than not writing at all.
Writing to throw it all away
Often times people get stuck staring at the blank page because they cannot think about anything to write about. They think they have to write something perfect, well edited, well informed, with a sophisticated vocabulary. That may be true if you are writing for a large publication or trying to write a NY times best seller, but you are doing none of those things. You are writing emails, Slack messages, documentation, etc.
When you sit down to write every day, just write, knowing that you can simply throw it all away. What is most important is showing up and practicing your writing each and every day. If you really have no ideas, write about how you have no ideas, and how you are feeling about that. Write about what you would like to accomplish that day, or what you are grateful for, etc. Just write!
Practice in Public
Finally, the last thing I would like to mention is the importance of practicing your writing in public. If you don't have a blog, start one. If you don't want to write a blog, post on Twitter or your social media platform of choice on a regular basis. Here is the thing, if you are just starting out, no one is going to read what you write anyways, so what are you so concerned about? Just start writing.
Over time your writing will improve and you will start to gain some attention and begin to build a small audience. As your audience grows, so will your writing skills. The both grow naturally and organically together, so stop worrying and just start writing and publishing as often as possible.
Writing is incredibly important as a software developer and will serve you well for the rest of your career and your life. Establish a daily writing habit starting today. The benefits will far exceed anything you can imagine.