阅读更多

6顶
0踩

非技术

转载新闻 软件工程师应该写作

2014-12-31 14:28 by 副主编 mengyidan1988 评论(5) 有4602人浏览
本文由hfcorriez译自《Software engineers should write》


在小学,有一些「数学天才」和「语文天才」。你们由于在其他孩子印象中各自的强项而被贴上标签。

我曾是一个所谓的「数学天才」。所以我主修计算机科学并向往去做一个软件工程师。虽然一直以来「数学天才」或「语文天才」这样的称号从来没有真正的磨去,但只要可以把任何事做强。如今我见过的工程师畏惧写东西,我见过的作家也同样畏惧写代码。

没什么好害羞的!写代码的工程师照样可以写文章。

软件工程师应该写作,因为它会提升你编程技能。写作和编程共同的核心技能是要想得清楚。最好的工程师也都是很好的作家,因为它们的散文也会像代码一样兼具逻辑和优雅。

代码和文章有很多共同点。都是从一张白纸和一个想法开始,以给到目标受众一个分散的产品结束。产品由一系列的逻辑片段组合到的一个个逻辑单元组成 — 函数或章节。如同好的散文一样,好的代码是简明的(富有「表现力」)。不好的代码会浪费 CPU 循环;坏的文章浪费大脑运转。作家的草稿就是工程师的原型。

当产品接近完成时,工程师会像厌倦的作家一样忧心忡忡。如同文章一样,软件永远不会「完成」。还会悄悄的消磨工程师的时间:其它功能需要构建,其它模块需要重构。他/她担心这不是自己最好的表现。别管那么多,发布吧。

软件工程师应该写作,因为我们需要更多的协作。开源代码邀请全世界来参与,业内的产品通常需要一个工程师队伍(Google 地图有 1100 个全职雇员)。不管是在 GitHub 上评论、审查代码或技术文档都要好好去写,来促进清晰、简明的沟通以推进项目前进。

即使一个项目不需要沟通,写一些软件相关的也会促进了解和重要讨论。我们没有从 RFC 规范和技术手册去学习,这要感谢写指南的工程师。在技术讨论中,有很多的意见会被发表到 Hacker News 的评论或推文上。最好要引导到博文中。

博文的主题,要好好的下功夫。写好是需要时间的。写一个草稿是很自然的,接着要通过多次的修改来提高质量。如果你觉得太忙、没什么想法或者担心你的意见成为众矢之的,花十分钟来看看 《You Should Write Blogs》 。如果依然不能说服你,我认为你需要更多阅读。

软件工程师应该写作,因为其实他们会享受写作。很多人都有潜在动机希望我们的软件有「影响力」,来改变人们的生活。

写作就是是影响力的强大媒介。管理层的文章可以帮助经理鼓舞和激励他的团队;编程指南会擦出学生对计算机科学的兴趣火花;职业建议的文章可以启发毕业生追求一个新的职业规划。

即使没有人读你的文章,继续写下去早晚会对你有影响。它将阐明你对某个主题的观点和增强/减弱你对它的看法。把杂乱的想法变成具体的语句这个过程是有价值的。

写作具有和写软件一样带有影响力意义的动机,把这两个连起来会在软件工程中提高有用的技能和促进协作,那么,赶紧写起来看起来是很值得的动作。

甚至对于「数学天才」来说。

Hacker News 上阅读评论。
  • 大小: 22.9 KB
来自: jianshu.com
6
0
评论 共 5 条 请登录后发表评论
5 楼 fxf-风翔飞 2015-01-04 15:47
所学。。。。
4 楼 fxf-风翔飞 2015-01-04 15:46
写作同时也是对自己锁血的一种总结
3 楼 ynduanlian 2015-01-01 14:33
写得好啊!
2 楼 cosmo1987 2015-01-01 11:24
推荐写些诗歌,严格的绝句文体和文法规范,体现其优雅和逻辑性。就好像编程一样
1 楼 cosmo1987 2015-01-01 11:23
说得很好,好的工程师也是好的作家

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 软件工程师中文简历写作.docx

    软件工程师中文简历写作.docx

  • 软件工程师实用日语

    囊括了软件工程师在日常开发过程当中所要用到的日语:从数据结构与算法到计算机系统,从系统应用到系统开发,再到项目管理,再到网络技术,再到计算机安全等常见开发用语,还给出了基本设计书、详细设计书、需求式样...

  • 为什么软件工程师应该养成写作的习惯?

    我是一名理科生,大学里我的专业是计算机科学,毕业后我的工作是软件工程师。在这个过程中,我发现文理科之间的鸿沟始终无法弥合。我见到的很多工程师害怕写文章,而文科生看到代码就头疼。 我认为,程序员应该养成...

  • 软件工程期末考试试题一

    1.可行性研究 _的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。 2.采用UML进行软件设计时,可用__泛化__关系来表示两类事物之间存在的特殊/一般关系,用_ 聚集 _关系来表示...

  • 高级软件工程师必备的五大技能

    具备什么样的素质的人才能成为一名高级软件工程师?作为高级软件工程师,你不仅要具备娴熟的技能,更重要的,还要具备与人合作的能力。只有能够领导和提升他人的软件工程师,才是真正的高级软件工程师。...

  • 人工智能时代,软件工程师们将会被取代?

    短期来看,人工智能只是辅助我们工作的工具,作为软件工程师需要利用好工具,需要做好持续学习甚至终身学习的准备,需要从繁琐重复的工作中脱离出来,提高自己与机器,与人打交道的能力,将更多的精力投入到需求的...

  • 软件工程师应知应会之软件著作权写作

    软件工程师几乎每天都在和软件代码打交道,他们的劳动成果通过软件产品得到了最好的体现。除了开发出的产品以外,软件工程师还能够将自己的智慧以知识产权的形式体现出来。本 Chat 主要介绍知识产权中软件著作权的...

  • 【GitChat】软件工程师应知应会之软件著作权写作

    软件工程师几乎每天都在和软件代码打交道,他们的劳动成果通过软件产品得到了最好的体现。除了开发出的产品以外,软件工程师还能够将自己的智慧以知识产权的形式体现出来。本 Chat 主要介绍知识产权中软件著作权的...

  • 软件测试工程师职称评定细则

    1.一年以上软件测试经验,熟悉各种测试方法、测试工具、测试流程; 2.本科及以上学历,计算机相关专业; 3.有较强的分析问题能力和文字表达能力,逆向思维好;能完成测试方案、测试案例、测试报告的编写; 4.热爱...

  • 中国软件开发工程师之痛

    真正与外国同行接触后才会知道什么是差距,在这篇文章中我从软件开发工程师的角度以“痛点”的形式来谈一谈我所认为的差距。 技能之痛 相当数量的软件开发工程师(后面简称为工程师)认为除了与编码相关...

  • 【测试文档】软件测试工程师:岗位描述文案

    一、初级软件测试工程师 二、中级软件测试工程师 三、高级软件测试工程师 一、初级软件测试工程师 (1)年限:1 ~ 3 年/ 1 年以内 / 应届生 / 实习生 (2)学历:大专及以上 (3)岗位职责: 1、根据需求和...

  • 软件工程师应该多写文章

    我就曾经是个数学孩子,所以后来报了计算机科学专业,决定成为一名软件工程师。但是在此过程中,“数学孩子”/“英语孩子”的称号却并没有消失,甚至于这条沟壑愈加明显了。因此,现在的工程师普遍畏惧写文章。而...

  • 作为软件工程师,能力要求有哪些?

    作为软件工程师,他们的能力要求是怎么设定的呢!凌阳教育的老师经过多年教学,找了一些相关资料。如下:  对于软件工程师,不太重视学历,但并不是对学历没有要求,重点关注项目的经验和学习知识的能力,能否利用...

  • 软件工程师应该具备的素质

    软件企业要求基础软件工程师具备六大基本素质,即良好的编码能力、自觉的规范意识和团队精神、认识和运用数据库的能力、较强的英语阅读和写作能力、具有软件工程的概念和求知欲和进取心。 良好的编码能力。软件人员...

  • 软件工程师职业道德规范和实践要求

    软件工程师的基本要求,树立软件产业界整体优良形象:0.01自觉遵守公民道德规范标准和中国软件行业基本公约。0.02讲诚信,坚决反对各种弄虚作假现象,不承接自己能力尚难以胜任的任务,对已经承诺的事,要保证做到,...

  • 软件工程师具备六大基本素质

    必知:软件企业要求基础软件工程师具备六大基本素质,即良好的编码能力、自觉的规范意识和团队精神、认识和运用数据库的能力、较强的英语阅读和写作能力、具有软件工程的概念和求知欲和进取心。  1.良好的编码...

  • 软件测试工程师的职业技能分析

    2) 牢固掌握了软件测试计划、测试日报、测试报告的写作方法与要领。 3) 针对B/S、C/S架构及不同需求,灵活有效地制定功能测试、性能测试、配置测试、GUI测试的测试方案。 4) 熟练运用MI QTP、Rational Robot、M...

  • Java-美妆神域_3rm1m18i_221-wx.zip

    Java-美妆神域_3rm1m18i_221-wx.zip

  • 51单片机的温度监测与控制(温控风扇)

    51单片机的温度监测与控制(温控风扇)

Global site tag (gtag.js) - Google Analytics