TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
在小学里,有所谓的“数学孩子”、“语文孩子”。话说,各位小的时候,是否也曾因为学科成绩而被分到某一个阵营里?
4 e$ U$ F3 Q- j我就曾经是个数学孩子,所以后来报了计算机科学专业,决定成为一名软件工程师。但是在此过程中,“数学孩子”/“英语孩子”的称号却并没有消失,甚至于这条沟壑愈加明显了。因此,现在的工程师普遍畏惧写文章。而那些会写文章的作家往往看到代码就立马晕菜。1 z& A5 W g0 w. j; ?5 l& w
9 u1 S$ \. J+ U. z# S7 j) O
" k' e: @7 F& A( o2 U: W真心可惜!没错,软件工程师要会写代码,但是也应该去写点文章。
3 d: g# H3 [ `* j2 i* r% \软件工程师也应该去写文章的原因是因为写作能促进很多在编程中同样需要使用的技能——核心技能都是清晰思考的能力。最好的软件工程师也是伟大的作家,因为他们的散文会像他们的代码一样逻辑分明、优雅整洁。% c6 h0 M1 d8 Q% Z# U" o' ~
代码和文章有很多共通之处。一开始都是空白的,然后按照自己的想法一点一点写出来,最后出来一个独立的产品。产品由一系列逻辑语句构成,并被捆绑成一个个模块化单元——无论是软件功能还是文章段落皆是如此。好的代码就像优美的文章一样,简洁明了,富有表现力。而差的代码就是在浪费CPU周期,正如乱七八糟的文章纯粹是浪费脑力资源一样。一般说来,文章的大纲就是软件的架构。) z, f2 H& M ]2 x. }, y! B
越是临近截止期限,工程师会同作家一样感觉焦躁不安。就像文章总是可以精益求精一样,我们永远不能说我们的软件完全“done”。这也使得工程师需要更多的时间用于增加功能和重构模块。工程师们常常需要担心自己没有做到最好。
* {6 {7 c$ h- Y- ~3 g5 H6 n- w" u& G: S软件工程师之所以应该试着去写作,是因为我们现在的项目越来越需要合作。开源项目会邀请世界各地人员的参与,产品开发则需要很多工程师的通力协作。(例如,谷歌地图拥有1100名全职员工!)良好的书面表达技能,无论是用于写GitHub评论,还是代码审查,亦或是写技术文档——清晰、简洁的沟通总是能够有助于类似这些项目的前进发展。2 n( f' O4 u* f8 u: w& l
即使是一些毋需沟通交流的项目,写点东西大多也能促进学习和讨论交流。要知道多亏其他工程师写的教程,使得我们没有必要非去学习那些令人头大的RFC规范和技术手册。关于技术讨论的文章,只有写得特别好才能发表到《Hacker News》和tweet上,剩下的就会引导到博客文章上。- C. ]" t* F9 G" B
再说说写这个博客文章,也是需要投入时间的。正如好文章需要花时间去写一样,先是初稿,再通过多次修改来提高质量。
/ }) y2 q4 Y6 a1 J# m" {% ^" u软件工程师应该写文章,因为他们实际上可能是喜欢写作的。曾经的我们不停地被灌输“我们在这个文科的领域很菜”的思想,所以我们大多可能从来没有想过我们可能还具备了写作这个潜力,这会不会让你突然充满兴趣、干劲十足呢?2 M+ F! _( S0 _
并且,写作还会对你的职业规划产生巨大的正面影响。管理方面的博客文章可以帮助经理鼓舞他们的团队,推动其工作积极性。编程方面的教程可以点燃学生关于计算机科学兴趣的火花。有些关于职业建议的文章甚至可以激励毕业生走上一条全新的职业道路。) U. X5 y3 H5 w9 z" ^
即使没有人阅读你的文章,也没有关系,写作这个过程也能让你受益匪浅。它能训练你清晰阐述某个主题的能力,而且将脑中一些杂乱无章的想法一步步变成具体言辞的过程也非常有价值。
* t- h- ?6 x0 J写作同样会影响工程师编写软件的激情,将此与有用的软件技能相结合,通力协作,然后你会突然发现写作已然成为一个非常有价值的活动。
9 Y' G$ M, s9 _即使是对于那些所谓的“数学孩子”。 W, O2 P. }6 \/ n- M4 P$ C7 p/ v
& o- C; L# m4 x2 H1 e( g7 P
原文:http://www.shubhro.com/2014/12/2 ... neers-should-write/" q: z1 [3 O( M
译文:http://www.geekwww.com/software-engineers-should-write.html 译者: John
; a" g8 b" x! l. h( {; C) L
# f* W* ^2 ]8 k! r( h2 Z! V
2 A' i3 t$ \2 E0 c/ P5 a# C O |
|