一个工程师的工程文化
软件作为一本新兴学科,只有短短几十年的历史,相比较于土木工程这样有悠久历史的工程学,说软件工程还处在嗷嗷待哺的婴儿期,或是幼儿期一点也不为过,要真正形成一套理论完善,又能在实践上运用成功的软件工程学,我相信还有很长的路要走。正因为如此,软件工程作为一本学科,其发展也是相当迅速的,从学校课本里的正统的符合CMMI流程的瀑布模型,到实际接受度更高的敏捷开发,各种工程学和方法论可以说是百家争鸣、各有千秋。
作为一个有理想的猿类,在接受这些理论碰撞的同时,内心深处,应该要慢慢滋生出自己的工程文化,自己的最佳实践。今天在一个内部讨论中,有幸接触到这样一套文化,个人觉得还是言之有物的,故记录于此。
Do the right thing
在错误的道路上,越努力只会越错。
- 要具备挑战领导的勇气 (把握度,过之会自负)
- 要相信合理的,在可掌控范围之内的冲突是有益的
Do the thing right
具体就是软件工程的方法学
- Design review
- Code review
- Unit Test (Functional Unit Test) http://stackoverflow.com/questions/153234/how-deep-are-your-unit-tests
- CI/CD (Continuous Integration, Continuous Deployment)
- Measurement & Monitoring ( 推荐阅读 《How to measure everything》) - 系统运维和系统提升的必备良药
- Visualize your result (dashboard) - show给老板看
Record it
好记性不如烂笔头,做记录,有时候也叫写文档(猿类对写文档这个词有抵触感),但以一个工程师的信誉担保,必要的设计文档和工程记录真的是非常重要,主要体现在
- Reference
- Communication
当然在CSDN写博文也是一种记录,如果说在公司写项目的记录,是为了公司和同事,那么这里的记录更多的是为了自己,如果有幸这些文字能够帮助到其他朋友,那更是开心了。 所以勤做记录,于己于人都是一件功德无量的事。
Continuous Improvement
我们对这个世界的认识,有两种方法论体系,即构建论和扩展论。
-构建论, 是相信个人英雄主义,相信一个很牛B的人,可以构建出人类的伊甸园,构建出一个和谐社会。
-扩展论,是相信个人的才能和所能领悟的知识是有限的,对世界的认知应该是站在巨人的肩膀上,一点一点向前推进。
法国人相信构建论,所以攻占了巴士底狱,革命了封建王朝。
英国人相信扩展论,对旧的制度进行持续改良,从而形成了现今的君主立宪制。
在软件工程里,面对不断腐朽的旧系统,同样纯在两种不同的选择,是全部推翻重新构建呢,还是循序渐进一点一点改良重构呢,我相信这要视具体情况而定了,要做权衡,如果推翻重来的代价比重构的代价还要小,也不是不可以考虑,但总体来说,我们还是倡导扩展方法论,通过代码重构,可持续集成,对系统进行一点一点循序渐进的改良。
所以Continuous Improvement是软件保持生命力的重要手段,如果你不希望自己的系统沦落到要被别人革命的下场,那就持续的对其进行改良吧
一个工程师的工程文化相关推荐
- Z世代工程文化:如何带好95后工程师组成的开发团队?
下一代工程师给招聘.组建团队和留住人才带来了一系列新的挑战和机遇.Hubspot工程总监Barbara McCarthy在Women in Tech Dublin 2018大会上分享了如何培养Z世代( ...
- 一个工程师对流程管理的思考
我平时很少写博客,我是个技术人员,一般来说技术人员的博客应该以技术为主,但同时我又是一个懒人,对于技术我喜欢"亲身体验"而不喜欢"写出来",因为我觉得把技术对别 ...
- 网络工程师计算机类吗,机房网络工程师 | 网络工程专业的你知道吗?
原标题:机房网络工程师 | 网络工程专业的你知道吗? 网络工程专业介绍 专业背景:网络工程专业的出现的另一背景是从上一世纪九十年代,计算机网络技术及其应用得到迅猛发展的背景下提出的,从专 业定名.培养 ...
- 3个CCIE对一个工程师的面试题(远去之路无比艰辛啊!)
3个CCIE对一个工程师的面试题这是某人10月初的一个面试题目,售后职位:高级网络工程师.面试官是三位CCIE,面试过程历时2个多小时,印象非常深刻.现在这个offer基本已经确定了,事主还在考虑诸如 ...
- 从工程文化和运维理念理解Netflix
http://www.infoq.com/cn/news/2018/01/netflix-engineering-culture 在技术圈儿,Netflix 是一家非常有特色的互联网公司.他们信奉&q ...
- 敏捷开发系列学习总结(15)——Spotify敏捷模式详解三部曲第三篇:工程文化
分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!点击浏览教程 摘要 在本系列文章的第一篇和第二篇,我们分别介绍了Spotify的敏捷研发团队和研发 ...
- Spotify敏捷模式详解三部曲第三篇:工程文化
本文转自:Scrum中文网 原文链接:http://www.scrumcn.com/agile/scrum/21759.html 引言 Spotify通过文化和价值观来进行管理,在本篇中,我们从如下八 ...
- 我想建立一个工程师创业部落
hi,大家好,建立一个工程师创业部落的想法由来已久. 之所以有这个想法首先是对于自己生活状态的不满,其次了解到科技变革的力量,最后看到了一些劳动者生存的艰辛. 于是想通过改变自己,将自己的经历和各位 ...
- 创建一个 dva 脚手架工程
2019独角兽企业重金招聘Python工程师标准>>> 1.2 dva 安装 使用 dva-cli 命令行工具安装 dva.(本文假设已掌握 npm 基础知识) 安装 dva-cli ...
最新文章
- win10 中redis client提示 ERR Client sent AUTH,but no password is set
- 在enable mmu之前可以使用mmu了
- 获得创建临时表的session id
- VC++中对话框数据交换【十全十美】
- 经典排序算法-MFC实现之3:冒泡排序
- python编程是干嘛的-python编程能做什么开发
- mysql 查询 一天的时间_MySQL怎么查询每天打卡的最早时间和最晚时间?
- 【清华大学陈渝】第一章 操作系统概述
- excel文件的工作表保护密码忘记了
- 怎么样培育孩子的智慧[图]
- java long类型溢出误区
- 使用kubeadm部署k8s(2、k8s集群部署)
- Javascript基础知识之四(常用数组方法)
- 攻防世界-MISC-互相伤害
- 【公告】博客新皮肤上线啦
- windows 10 arm架构ISO下载
- abp框架mysql连接配置_ABP框架使用Mysql数据库
- 解决Dmaven.multiModuleProjectDirectory system propery is not set. Check M2_HOME错误
- 机器人仿生控制方法研究
- 【机器学习】发展至今的机器学习到底对我们的就业和社会产生了哪些影响?