今天是 10.24,是程序员的节日。

前天我做了一个名为《做一名真正的软件工程师》的分享,表达了一些我的个人观点。

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

很多软件工程师缺乏对于软件工程方法论的学习,尤其是缺乏对于软件研发“原则”的了解。没有原则会导致在工作中随意妥协,进而导致低效和低质的工作。《软件开发的201个原则》对于软件开发中的重要原则做了很好的总结。我非常有幸在 2000 年就看到这本书,少走了很多弯路。

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

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

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

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

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

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

转载自公众号:章老师说

点击进入获得更多技术信息~~

做一名真正的软件工程师相关推荐

  1. 如何成为一名卓越的软件工程师

    很多研发人员,在一个公司做几年,从事几年的软件开发工作,能力依然没有提升,职位.工资依如从前.任何公司都存在这样的人,包括BAT.华为等大型公司的人在内,我面试过程中也遇到过各类公司跳槽出来的员工,本 ...

  2. 电子工程师自学成才pdf_作为一名自学成才的软件工程师,我在第一个月的工作中所学到的知识

    电子工程师自学成才pdf In this post, I will share my experiences and give advice now that I am six months into ...

  3. 我与我的职业梦想 – 成为一名优秀的软件工程师

    无知少年对于计算机的热爱,甚至可以追溯到初中时为了弄明白步步高 9188 英语词典学习机中的 RPG 游戏,懵懵懂懂地看着 VB 的语法书:高中时,在全部人都沉浸在游戏的网吧中,看着是似懂不懂的 C ...

  4. 如何成为一名有效的软件工程师

    by Luis Santiago 路易斯·圣地亚哥(Luis Santiago) 如何成为一名有效的软件工程师 (How to become an effective software enginee ...

  5. 如何做一名优秀的电子工程师[zz]

    如何做一名优秀的电子工程师 成为一个杰出工程师最重要的因素就是"热爱自己的职业".毕竟兴趣是最好的老师,许多优秀的电子工程师都是从小作为电子爱好者的.爱好不仅要体现在行动中 更要深 ...

  6. java工程师js_Ajax,  励志做一名Java全干工程师

    $(励志做一名Java全干工程师) 前言:JS,JSP,JQ区别? JSP:JavaServer pages,他是作用于后端的技术,基于java的语言,混合了html,动态的调用html语句,实现动态 ...

  7. 软件测试课程体系应该是什么样的,软件测试是什么?怎样做一名优秀的软件测试工程师?...

    原标题:软件测试是什么?怎样做一名优秀的软件测试工程师? 做软件测试的你,也许已经找到了满意的工作,也许才刚刚开始,还在摸索着前行的道路,也许一知半解,还在犹豫是否要入行.还有很多人不懂,软件测试到底 ...

  8. 做一名优秀的软件开发qa_如何成为一名优秀的开发人员

    做一名优秀的软件开发qa As a PHP developer, or any kind of developer as a matter of fact, you need to constantl ...

  9. 成为一名出色的软件工程师的一个秘诀:阅读代码

    通过养成阅读代码的例程和习惯来成为更好的程序员 这是我偶尔写的系列文章" 给年轻软件工程师的笔记"中 的帖子 . 在 这里 注册 . Redis的代码片段 如果您有一天决心成为一名 ...

最新文章

  1. AI一分钟|AI聊机器人“Shibuyu Mirai”获日本居住权,传今日头条3亿美元收购Faceu激萌
  2. 自然语言处理NLP之BERT、BERT是什么、智能问答、阅读理解、分词、词性标注、数据增强、文本分类、BERT的知识表示本质
  3. 独家 | 7招帮你打造完美数据科学GitHub作品集!
  4. 【iOS】Xcode 使用 CocoaPods 导入第三方库后没有提示
  5. 浅谈UML的概念和模型之UML视图
  6. 如何判断输入的是字符还是数字_[Leetgo]判断字符串是否为数字
  7. 华为暂没有推出鸿蒙手机计划;苹果否认 iPhone 辐射超标;Kotlin 1.3.50 发布 | 极客头条...
  8. 智能一代云平台(六):移动开发之Ionic研究
  9. 从随机数生成到随机采样的C++实现
  10. ORACLE 字符串操作
  11. GGally与pairs相关关系图_史上最全(二)
  12. heidisql 命令保存blob_git常用命令总结
  13. python命名元组namedtuple_Python命名元组--命名元组,Pythonnamedtuple,具名
  14. 高mysql千万级大数据SQL查询优化几条经验
  15. 聂微东:《暗时间》读书笔记与读后感 - 博客 - 伯乐在线
  16. Python 分析《三国演义》看司马懿三父子如何用计谋干掉了曹操后代
  17. latex中极限号下边怎么打_latex 极限下标
  18. 从零开始学习node.js
  19. 石溪分校 计算机研究生专业,纽约州立石溪分校 - 985本科申请纽约州立大学石溪分校计算机研究生容易吗?要准备什么?还有如果成功了好毕业吗??...
  20. win10用易语言需要C环境,win10系统易语言打开支持库配置就崩溃的具体教程

热门文章

  1. 十 Java集合框架(2):Set接口
  2. 不用计算实现 图片懒加载
  3. 完整版使用Shell脚本在多个服务器同时实现Mysql建表语句和删除表
  4. Golang中支持可变参数
  5. 开源的视频笔记合集: 陌溪 / LearningNotes
  6. Spark on k8s提交测试任务失败报错解决办法:User “system:serviceaccount:default:default“ cannot get resource “pods
  7. CentOS添加一个新的硬盘、添加分区到挂载的过程
  8. Linux报错:Syntax error: “(“ unexpected解决办法
  9. Scala函数简化写法
  10. nginx反向代理tomcat