前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >差一个空格都不行!真正的软件工程师的追求

差一个空格都不行!真正的软件工程师的追求

作者头像
博文视点Broadview
发布2023-04-19 14:11:26
2050
发布2023-04-19 14:11:26
举报
文章被收录于专栏:博文视点Broadview

作者:章淼,内容转自公众号“章老师说”。


中国的软件研发经历了以下几个阶段。

  • 在2000年以前,最先进的软件开发团队可能在电信设备制造商,我印象中,华为一直被认为是中国最大的软件企业。
  • 在2000年后,大批互联网企业成长起来,培养了大批的软件开发人才。
  • 现在,大量的互联网企业在向toB转型,这为中国软件研发的提升提供了一个新的机遇。

真正的软件工程师追求真、善、美

真:

  • 坚持原则,不轻易妥协。
  • 实事求是,不说假话。
  • 认真负责,不放过细节。

善:

  • 科技向善。
  • 追求卓越。
  • 对更好方法不断追求。

美:

  • 对“美好”地不断追求。
  • 好的代码、文档、产品是优美的。

很多软件工程师缺乏对软件工程方法论的学习,尤其是缺乏对软件研发“原则”的了解。没有原则会导致软件工程师在工作中随意妥协,进而导致低效和低质的工作。

《软件开发的201个原则》对软件开发中的重要原则做了很好的总结。我非常有幸在2000年就看到了英文版原著,少走了很多弯路。

坚持软件开发的原则

原则(Principle)是工作的准则,原则代表了许多人从经验中总结出来的集体智慧。   

可读性和可维护性是对高质量软件的基本要求,而这点常常被忽视。实现“漂亮”的代码其实并不难,我感觉出现问题的主要原因是缺乏对这些问题的重视。大家老是希望去找一些“高大上”的方法,其实写好代码的方法非常简单,就看你是否能够真正认真地去落实。

写出让人容易看懂的代码

漂亮的代码来自:

  • 合理的模块划分。
  • 清晰的函数定义。
  • 短小、清晰的代码段落。
  • 准确的命名。
  • 清晰的注释。

漂亮的代码也来自:

  • 一定的语文基础。
  • 认真的代码评审。

从我的观察看,中国大量的软件从业者是缺乏设计能力的,这导致无法从“开发者”向“软件工程师”跳跃。而设计能力的欠缺,直接影响需求分析的质量,导致大量后续的研发资源被浪费;同时,低质量的设计,必然导致低质量的系统。

会写需求和设计文档

(摘自《软件开发的201个原则》)

  • 不懂设计,不是真正的软件工程师。
  • 没有高质量的设计,就没有高质量的系统。

好的设计文档来自:

  • 用户思维。
  • 准确的概念定义。
  • 清晰的逻辑。
  • 规范的表达方式(文字、图表)。
  • 一定的研究和思考能力。
  • 严谨的科学态度。
  • 认真和充分的设计评审。

项目管理对软件项目的成功具有决定性的作用。项目管理是被大量软件工程师所忽视的。要做好项目管理,需要具有“知识社会”的先进理念,提升对专业的尊重,降低对权力等级的迷信;提高软件工程师的自我管理意识和能力。

会做项目管理

(摘自《软件开发的201个原则》)

  • 大量的“技术”问题其实是项目管理问题。
  • 没有管理或僵化教条的管理。
  • 工业社会管理思路:权利等级、依赖监督、标准化可替代的人。

好的项目管理来自:

  • 了解项目管理的常识和原则。
  • 实事求是的态度。
  • 对知识社会的正确理解:尊重专业、自主管理,以人为中心。

开源已经成为软件研发的重要方式。开源不仅仅是把源码开放出来,开源涉及文化、生态、标准。不能仅仅从技术的角度来看待开源,更需要从人文社会科学的角度来学习和参与开源。

拥抱开源

  • 开源软件正在吞噬世界。
  • 开源不仅仅是开放源码。
  • 建立技术/商业生态,建立标准。
  • 开源的三个可能方向。
  •  内部开源:鼓励开放、共享、相互学习的文化。
  • 对外开源:建立技术影响力和商业生态。
  • 第三方开源引入:合理使用外部资源,控制风险。
  • 真正的软件工程师要学习和使用开源的思想和方法。

“转型升级”是目前中国经济的主题,也是中国软件业的主题。“内卷”其实来自低水平的重复建设,中国非常缺乏高质量的软件。从“开发者”升级为“软件工程师”是解决内卷的根本之道。

拒绝内卷,拥抱转型升级

  • 真正的软件工程师可以高效地工作
  • 科学的方法效率提高不止100%
  • 真正的软件工程师可以做出深入和创新的工作
  • 内卷其实来自低水平的竞争
  • 其实中国仍然缺乏优秀的软件
  • 中国软件业的转型升级
  • ToC→ToB
  • 码农/开发者/程序员→软件工程师
  • 应用软件→基础软件
  • 重复开发→高度复用
  • 使用/修改开源→自主开源,建立开源生态

中国400万的软件工程师的提升对于中国有巨大的意义。在某种意义上,宋朝的张载所说的几句话对于中国的软件工程师也是适用的。

不负韶华,做一名真正的软件工程师

《软件开发的201个原则》

中文版

正式出版

原著畅销全球26年  IT名企工程师【案头宝典】  

本书英文版写于1995 年,距今已经有26 年。这也是很多人担心的地方——计算机技术发展得如此之快,这本书是不是已经过时了?正如译者所说:

是软件研发的方法变化太慢,还是书的内容太深刻?我想两者兼而有之。

内容介绍

本书汇总了软件工程原则。原则是关于软件工程的基本原理、规则或假设,不管所选的技术、工具或语言是什么,这些原则都有效。

全书共9 章,第1章为引言,后面8章将201个软件工程的原则划分为8个大的类别:一般原则、需求工程原则、设计原则、编码原则、测试原则、管理原则、产品保证原则和演变原则。

  • 用【原则】讲透软件研发底层方法

从需求分析到产品演进,覆盖产品研发全流程。

  • 首本实现【轻阅读】的研发工具书

201个原则独立成文,简练深刻,轻松阅读。

  • 互联网大厂技术学院【指定用书】

掌握科学的方法,效率提高不止100%。

  • 中文版采用【精装珍藏版】设计,向经典致敬。

原著作者

原著作者为中文版撰文:

业内专家联袂推荐

百度技术委员会理事长陈尚义说,

这本书的中文版出版对于提升国内软件工程师的素养、学习国外先进的软件工程理念,必将做出积极的贡献。

清华大学计算机系博士生导师裴丹说,

这样一本书,能够让软件工程师在实践过程中时不时拿出来翻阅(而不是去翻查大量大部头的图书或课件),一方面检验自己前一阶段的实践是否遵循或违背了软件工程的重要原则,另一方面为下一阶段的实践提供方向性的指导。

中国移动云能力中心首席科学家钱岭说,

未来,软件新技术、新架构和新业务还会不断涌现,软件工程仍然会变革,但不变的是Alan 这本书中介绍的201 个原则。

适读人群

1.软件工程师和管理者。

2.软件工程方向的学生。

3.软件研究人员。

4.软件研发训练营。

一经上市,读者热情反馈:

献给每一位追求卓越的软件工程师

 京东满100减50

快快扫码抢购吧!

代码语言:javascript
复制
如果喜欢本文欢迎 在看丨留言丨分享至朋友圈 三连

 热文推荐  
指令重排序导致的可见性问题
告诉你!操作系统是个大骗子!
来看看深度学习如何在文娱行业“落地”
只看目录就很爽,穿越中国互联网

▼点击阅读原文,查看本书详情~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 博文视点Broadview 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
项目管理
CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档