jA7n2mR

In school, there is a distinction between "liberal arts students" and "science students", with different learning content and differences in thinking. I am a science student. In university, my major was computer science, and after graduation I worked as a software engineer. In this process, I found that the gap between liberal arts and science has never been bridged. Many engineers I've met are afraid of writing articles, while liberal arts students get a headache when they see code.

I believe programmers should develop a habit of writing, because writing articles exercises many skills that are very beneficial for programming.

The most essential commonality between writing articles and writing code is that both require the ability to think clearly. Top software engineers are often excellent writers as well; their articles, like their code, are logical, fluent, and elegant.

Articles and code have many similarities: both start from a blank page, turning an idea into a complete product, delivered to a specific audience; both writing articles and writing code require you to encapsulate a series of logical statements into modules, which can be functions or paragraphs; good code, like good articles, needs to be concise, otherwise it wastes CPU resources or people's energy.

When a product is nearing completion, software engineers become as anxious as writers about to publish their work. Like writing articles, software is never truly finished. Engineers need to spend more time optimizing code, developing new features, or redoing a part, because they worry that the released work doesn't show their best side.

Software engineers should write because development collaboration is becoming increasingly important. Open source projects can receive participation from people all over the world. Developing and operating a product often requires a large number of engineers (Google Maps has 1,100 full-time employees!). Whether it's GitHub comments, code comments, or technical documentation, clear and accurate writing is needed. Good writing skills facilitate communication between people and make projects run better.

You might think that some projects don't require much communication and collaboration, but writing about software generally promotes learning and further discussion. Nowadays, we no longer need to learn only through RFC documents or technical manuals, because there are tutorials written by other engineers online. In addition, we can learn a lot from Hacker News comments, Twitter, and various blogs.

Speaking of blogs, let's say a bit more. Good writing takes time. The text we write at first may not be great; at that point, we need to spend more time, revise it several times, and polish it.

Software engineers need to write because they may enjoy the process. Many software engineers look forward to their software having "impact" and bringing changes to people's lives. In fact, by writing articles, you can also "have an impact" on people. For example, blog posts about management can help others motivate their teams, teaching content about programming might spark a student's interest in computer science, and articles about career planning can help graduates find new career directions.

Even if no one reads your article, the process of writing is beneficial and harmless. It helps you clarify your thoughts, refine your view on a problem, and strengthen or weaken your stance on something. Turning messy thoughts into concise text is very valuable.

In summary, writing helps improve the level of software development and facilitates collaboration during development; even for a science student, it is a very worthwhile thing to do.

Original: http://www.36kr.com/p/218600.html