1. Reference
http://www.shubhro.com/2014/12/27/software-engineers-should-write/
2. src
In elementary school, there were "math kids" and there were "中文版 kids". You were classified by the other kids ' impression of your prowess in each subject.
I was a math kid. So I majored the computer science and set off to be a software engineer. Along the though, the "Math Kid"/"Chinese kid" designation never really wore off. If anything, it got stronger. The engineers I meet today cringe at the thought of writing an essay. And the writers I meet cringe at the thought of writing code.
What a shame! An engineer who writes code should also write essays.
Software engineers should write because it promotes many of the same skills required in programming. A core skill in both disciplines are an ability to think clearly. The best software engineers be great writers because their prose is as logical and elegant as their code.
Code and essays has a lot more in common. Both begin as a blank slate and an idea, then end as a discrete product for an intended audience. The product is a sequence of logical statements, bundled to modular units–whether it be functions or paragraphs. Like good prose, good the code is concise (think "expressive"). Bad code wastes CPU cycles; Bad essays waste brain cycles. The writer ' s draft is the engineer ' s prototype.
When closing a finished product, the engineer feels the same uneasiness as the weary writer. As with essays, Software never quite feels "done". It nudges for more of the engineer's Time:another feature to being built, another module that needs refactoring. He/she's afraid it won ' t is the best representation of his/her work. Oh well. Ship it.
Software engineers should write because our craft is increasingly collaborative. Open source projects invite worldwide participation, while industry products often require an army of engineers. (Google Maps has 1100 full-time employees!) Good Writing–whether It is in a GitHub comment, code review, or technical documentation–facilitates clear, concise Commu Nication for projects like these to move forward.
Even if a project doesn ' t require communication, writing about software in general promotes learning and important discuss Ions. We don ' t have to learn from RFC specs and technical manuals, thanks to tutorials written by other engineers. In technical discussions, the only so much opinion can is stuffed into a Hacker News comment or a tweet. The rest begs to is channeled into a blog post.
On the topic of blogs posts, put some time into them. Good writing takes time. It's natural to write a "sloppy copy" off the bat and then improve the quality over serveral revisions. If you feel too busy to blog, at a loss for topics, or worried about your opinion being on the public record, give Steve Y Egge ' s you should Write Blogs ten minutes of your time. Even if it doesn ' t convince you, I think you ' ll enjoy the read.
Software engineers should write because they might actually enjoy writing. Many of us is motivated by the potential for our software to has "impact", to make a difference in people ' s lives.
In the same-writing, is a powerful vehicle for impact. The blog post on Management helps a manager invigorate he team with motivation. The tutorial on programming sparks a student ' s interest in computer science. The essay on career advice inspires a graduate to pursue a new career path.
Even if nobody reads your essay, writing it would make a impact on you. It would clarify your opinion on a topic and strengthen–or even weaken–your beliefs. The process alone of putting jumbled thoughts into concrete words are valuable.
Writing offers the same sense of impact this motivates an engineer to write software. Combine this with what it promotes skills useful in software engineering and facilitates collaboration, then suddenly Writi Ng appears to is a worthwhile activity.
Even for the "Math kids".
3. Words
Prowess
[' Pra?? S]
N. bravery; extraordinary skill; brave.
Set off
[, set '? f]
V. to start;
Designation
[Dez?g ' ne?? (?) N
N. designation; name; instruction;
Wore off
To wear out or fade away
Cringe
[Kr?n (d)?]
VI. to cower or flatter;
Prose
[PR?? Z
N. Prose
Concise
[K?n ' sa?s]
Adj. Concise and concise
Software engineers should write