特别放送 | 从软件工程的角度解读任正非的新年公开信
该思维导图由 AI 生成,仅供参考
- 深入了解
- 翻译
- 解释
- 总结
华为任正非的新年公开信从软件工程的角度深刻解读了华为20年来的软件研发变革和发展。信中强调了IPD对软件研发能力提升的重要作用,以及在中美贸易战背景下,华为如何通过追求可信的高质量产品来走出危机。同时,信中还涉及了软件项目管理金三角的重要性,强调不以进度、功能、特性等为理由降低可信要求,以及对程序员的自我精进要求。此外,信中还提到了架构设计时需要考虑的方面,如性能、功能、扩展性、安全性等,以及架构设计时需要遵循的原则和技术要点。另外,信中也提到了重构腐化的架构及不符合软件工程规范和质量要求的历史代码的重要性,以及对安全性和技术选择的重视。最后,信中强调了技术只是工具,并呼吁团队成员深入学习各方面的技术,同时强调了一致性在软件开发中的重要性。整体而言,这封公开信为读者提供了宝贵的技术参考和思路,展现了华为软件研发的发展历程和未来发展方向。
《软件工程之美》,新⼈⾸单¥59
全部留言(38)
- 最新
- 精选
- 还有我视高质量代码为尊严和个人声誉。这句话说的好,工作中遇到过很多项目开发人员不喜欢写注释的情况。要想写高质量的的代码,需要有扎实的基本功,要对数据结构、算法、设计模式及业务理解能力有一定的要求,另外还需要有一个良好的的编码习惯,至少可以避免出现go to fail 这种问题。华为这种大厂都如此要求,我司肯定会跟风…
作者回复: 是呀,代码就像一个人的名片,写得不好真不好意思跟人打招呼。 这其实也是为什么很多大厂要把自己的项目开源出去的一个原因,倒逼着开发人员重视自己代码质量,重视荣誉。
2019-02-1829 - Dr.Murphy视高质量代码为尊严和个人声誉。 作为一个工作了两年的刚入门的程序猿来说,这番话仿佛震耳欲聋。几乎泪流满面。
作者回复: 希望你能一直记得这句话 :)
2019-02-1920 - tt716其实我现在最大的问题是如何让不懂软件工程的老板去了解软件工程,去尊重软件工程的客观规律
作者回复: 你可以先学习,然后在和老板沟通的时候,利用你学到的软件工程知识去有理有据的说服,这样成功概率会高一些,也会潜移默化影响到你的老板。 比如我以前老板也喜欢改需求,我就需要跟他讲需求变更,讲版本规划(下个版本再改),他慢慢就也接受了一些。
2019-02-2610 - 点号我也是自学编程的“野路子”程序员,业余写的代码现在维护明显觉得很困难,希望通过学习这门课程,提升自己!
作者回复: 希望这门课程能真正帮到你,如果有什么具体问题和困难,也欢迎留言提问
2019-02-198 - 舒偌一理解软件工程是把人治变成法治
作者回复: 软件工程还是离不开人的,“人治变成法治”我觉得可以指项目流程、规范这些
2019-02-186 - 常平华为那篇八股文其实漏了一个非常重要的前置条件:capacity,capacity是企业文化是企业精神 企业基因,要在盐碱地里种出菊花茶是为“不易”。
作者回复: 至少对软件工程的论述还是挺到位的呢,毕竟不管企业什么基因,只要是做软件开发的,都离不开软件工程的应用。
2019-02-1826 - 韩宜衡老师设计课程之初应该想不到会有销售来买这个课吧😂 但是看了介绍这门课真的非常适合我 毫不犹豫就下单了 我们是做软件研发领域的项目管理工具的 刚开始觉得很心虚 因为觉得卖的对象是比你更懂的专业人士,他们知道自己要什么,我作为销售并不能说服他们。后来发现其实敏捷 DevOps这一方面 虽然有些公司也用,但是真正懂的人并不多,销售还是回到了【提供解决方案】上,真正有需求的公司比销售还急,他们更着急找到一个能够帮他们规范流程,提高效率的解决方案,那我的问题就来了,我要想提供解决方案,就必须了解研发场景的痛点,我要想了解痛点,难道还得开始从头学写代码,然后还得必须找个大厂待几年,然后再回到现在的公司继续做销售?这个方法似乎不太可行,倒不是觉得编程难,偷懒不想学,重点是即使学写了代码,似乎还是不能解决我当前的困惑,我隐约觉得我需要一个大的框架来帮助我了解整个研发过程,我得知道原理而不是操作方面的知识,但是我无法表达我的诉求,我不知道自己要学的这个知识属于什么范畴,直到看到这门课,我才知道我要了解的是软件工程!太感谢老师了! 不知道老师有没有完整的了解过项目管理,我昨天刚考了PMP,觉得软件工程算是整个项目管理体系下的一个分支,华为这篇文章解读的非常好,关注代码质量,不能只依靠测试,这其实逃不开项目管理中质量管理知识领域,测试只是【控制质量】的过程,只对单一测试结果负责,输出测试结果其实是为了方便我们【管理质量】,回溯我们组织的质量文化,以及整个流程有没有优化改进的地方,只有这样,才能从根本上提高质量,所以这也是出了质量问题,管理者为什么要负高达85%的责任而直接导致事故发生的操作人员只需要负15%的责任的原因,学习一门学科要学习他的底层逻辑,软件工程就是撸代码的底层逻辑,【你所谓的顿悟不过是别人的基本功】,不要再自己造轮子,前人早已给你总结好了方法论。
作者回复: 哈哈,谢谢支持! 我们有一篇就是专门介绍项目管理工具的呢。
2019-03-314 - gfkdcadet碎片化的学习编程和开发可能是我们开发软件的大敌。长久以来,我们被各种绚烂的技术吸引眼球,却没有一棵知识大树去承载这些不断更迭的技术。这也许是现在急功近利的环境所致吧。 希望宝玉老师讲授的知识树,纵向脉络突出,横向动态清晰,既能讲出从来没有变的过程,方法,又能捋一捋不断变化的工具。借宝玉老师慧眼,洞察一下现在五光十色的软件开发。辛苦老师了!
作者回复: 谢谢。 专栏的知识点已经都整理在目录了,你可以先大致看看,如果有什么没有讲到而你觉得和软件工程相关的内容也可以通过留言反馈。
2019-03-024 - beiler老师,您让我问我可就问了,我很好奇老外在写代码之前模块是如何划分的,包是如何划分的?层与层是如何划分的,我看了很多,但是找不到我想要的银弹,写着写着我就不知道这个模块该划分到哪了,我用的是python,这块有什么好的参考吗?还有几层架构,几层架构的模块该如何划分,包如何分,代码该如何思考?大学学的都还老师了……让我写我都能写,但是让我按规矩写就很难了…我经常分着分着就乱了…求讲一讲这块!
作者回复: 架构设计也没有银弹的! 不需要太过于纠结模块怎么分,一开始不要分太多模块,简单满足需求就好,与其追求复杂的架构,不如先让代码简洁高效。 推荐看看这篇文章《架构设计三原则》https://time.geekbang.org/column/article/7071 另外可以多到github看看一些优秀的开源项目,看看高手们怎么设计架构的,可以多模仿。
2019-02-214 - hua168忘记问一个很重要的问题,学这个专栏需要哪些基础为前提的~~ 顺序问一下开发都要学哪些基础东西: 1. 学一门编程语言及框架 2.数据库的CURD 3.软件工程? 其它还要吗?
作者回复: 学习这个专栏,不需要你有特别的基础,当然有一些项目经验可以帮助你更好的理解。 至于要学什么基础的东西,其实你可以从另一个角度思考一下:开发的价值是体现在哪的? 开发的价值是通过在项目中创造价值体现的,所以你要考虑学什么能帮助到你更好的在项目中创造价值。 比如说除了具体的编程技能外,还可以从这些方面思考: 1. 提升对需求分析和理解的能力,这样你知道要做的是什么,减少返工 2. 提升架构和抽象的能力,能把需求抽象成架构设计,能把复杂的问题通过架构分解成简单的问题 3. 高效率的编码,完成需求 等等其他
2019-02-203