美文网首页软件研发思维
借房子装修来谈软件研发的系统性思维

借房子装修来谈软件研发的系统性思维

作者: 孙振强 | 来源:发表于2018-03-11 21:55 被阅读20次

2018年的春天来了,万物复苏、春暖花开,我的工作和生活再次开始忙碌起来,近期耗时较多的一类事情就是——房子装修

连续装修中的我

说来也巧,几个装修的事情赶在一起了:

  • A-家里的房子
  • B-研发部办公室
  • C-公司新办公室

装修是一个繁琐的、打持续战的系统工程,需要构想、测量、设计、施工、采购、验收等环节。
说实话我觉得这个事情很耗时间,所以A的装修我采用了全包的方式,连家居也一起包了。尽管是全包,也得跟进和把关,否则结果不会理想。

装修设计的格局

A、B、C三个装修基本前后脚,但在格局方面全然不同,下面我就简单说明一下。

A是我去年买的家用新房,面积只有100平。对于4口之家的我来说小了点,好在是三室的房子,也够住了,谁叫咱没钱呢。这个房子,买的时候就做了一些功课,现在要装修了,基本的装修方案早在脑中形成,而且是家用,基本的功能都差不多,所以装修设计主要是功能微调和布局的确定,比较容易搞定。

B是我们研发部门的办公室,面试不到300平。年前就开工了,年后主要是装修收尾和搬迁相关事宜。因为遇上过年,原本早该结束的工程,整体延期了1个月,即使在搬迁后,也进行了不少的细节处理。B的设计这块前期是其他同事主导了,我只是参与了一下。因为是部门使用,所以所需要的功能、使用的人员数量、会议室的多少等都非常了解,甚至是一些特殊的需求(如机房)也都考虑在内,整体办公室的设计心中还是有数的,所以在装修和搬迁过程中,只是琐事较多,难度并没有多少。

C是公司要新租的一个整层的办公室,面积将近1800平,先说一句:好大啊!如果C的装修设计让我来做,我就抓瞎了,比如要划分几个区域?再比如需要多少会议室?需要多少个工位?还比如有哪些特殊需求?这些问题对于我来说并不好回答出来,也不太好去设想,尽管我清楚现在公司的组织架构,也知道公司各部门的员工人数等信息。
好在我只是假设,但是在这个事情上,我的老总就很有思路,相比而言我就弱爆了。

这里面牵涉到几个问题:
1、现在的装修是要满足未来几年的需要,绝不仅是现状,所以我需要知道未来的公司规划是什么?
2、因为面积较大,又不像家装那样房间已经分割好了,所以办公室分割的可能性很多,到底该如何划分?
3、对其他部门的业务和人员不熟悉,更别提他们的未来几年规划,所以如何满足不同部门的需求也是一个难题?

好在C的装修我只会偶尔参与一点,并不是要负责设计,否则我真拿不下来。但我也明确意识到自己的认知不足,所以随着房子面积增大和功能复杂,我不行了。

由此我进行了些反思,其结论是我的格局不够,具体表现在:
1、没有跳出家庭装修、部门办公室装修的思维,缺少站在更高角度考虑问题的大格局思维。
2、平时对其他部门了解的不足,以至于关键时刻没有足够的信息来做分析、决策。
3、对未来3年、5年的规划较少,难以用未来的视角做当下的事情。

房子装修与软件研发的关系

类比到我的主业软件研发来说,其实有很多相似的地方在里面:
1、软件研发也是一项系统工程,也有着规范的流程,但因为它不像房子装修那样直观,所以很多人对软件研发的流程不够重视,甚至是忽视,比如性能测试。但这些环节通常是很重要的,很多后期的问题往往是因为忽略了这些环节。

2、软件研发工程的规模也是有等级的,随着软件的体量、用户、功能的增大,用小体量软件的思维来做大软件势必会有很多路是走不通的,所以做不同规模的软件研发,需要使用与之相对应的方案。这点也很容易被程序员们忽略,而且是很自信的忽略,因为已经有了同类的小规模问题处理方案,所以认为在大规模系统上也肯定没问题,实际上并不然,这也是前面提到的格局问题。

3、……

如何成为更好的工程师

我是一名软件工程师,也叫程序员,还叫码农,不管叫什么?我如何能成为更优秀的我呢?

物理学家朗道提出了一种按照水平和贡献划分物理学家的方法,被称为物理学家的等级。IT大咖吴军采用类似的方式将工程师划分为五级。

image.jpeg

第一级:开创一个产业。
第二级:能设计和实现别人不能做出的产品,也就是说他的作用很难取代;
第三级:能独立设计和实现产品,并且在市场上获得成功;
第四级:能指导和带领其他人一同完成更有影响力的工作;
第五级:能独立解决问题,完成工程工作;

以计算机行业为例,一个人毕业后,经过一段时间的锻炼,能够熟练应用工程的知识和技能解决问题,独立完成所分配的工作,而不需要他人指导,就算是一个合格的五级工程师了。再具体一点,比如这个人在京东公司任职,老板让他做一个工具,找出那些不断帮助女(男)朋友买书的读者。他自己知道在公司内找谁去要数据,如何确认两个人可能是男女朋友,而且经常买书。也知道自己在京东公司的环境里,应该使用什么样的开发工具。以及为了方便客户使用,这个工具应该有什么样的基本功能。
如果还做不到这件事情,就算不上是一个合格的工程师。在过去,工程师和科学家是可以并列的头衔,今天在法国和德国依然如此——那里的工程师会有一个特殊的资格证书,就如同医生和律师有特殊的资格证书一样。但是在中国,很多人从工科大学一毕业,公司就在他的名片上印上工程师,然后就似乎已经成为工程师了,很多人有这个头衔,但并不具有工程师所应该有的基本的技能。
在IT行业很多人被称为码农,虽然名字不太好听,但是仔细想想,似乎也是对天天简单重复低层次IT工作的人的一个形象的写照。我想,上述对一个五级工程师的要求,任何一个从工科大学毕业的学生,只要自己有心,往这个方向努力,不难达到。如果达不到这个层次,不能算合格的工程师。
对于第四级的工程师,就需要有领导能力和在工程上把大问题化解为小问题的能力了。用我之前写的“愿景-目标-道路”的逻辑(第3封信《再谈10000小时,三板斧破四困境》),他们能够寻找出实现比较大的目标的道路。工程师和科学家不同,后者考虑的是对和错,前者只是在现有条件下考虑好和坏的解决方案。
比如在建造一座海湾大桥时,工程师会在现有资金的条件下,根据交通的需求设计一个200年使用寿命的大桥,但是为了让军队迅速通过一条河,他们追求的目标就变成了在最短时间内建造足够让军队安全渡河的浮桥。目标不同,工程师的解决方案就不同,这件事对于土木工程师和桥梁工程师来讲,常常不是问题。但是很多搞IT的人,常常会把海湾大桥修成浮桥,也会把浮桥按照海湾大桥来慢慢修。
因此,能否成为四级的工程师,要看能否最好地解决一个这样有规模的实际问题。这个能力远不是熟练写程序就够了的。很多人抱怨自己的机会不够,其实从管理者的角度看,中国IT公司里非常缺乏这样有头脑的工程师。至于为什么有的人能够得到机会,他们和上下级之间较强的沟通能力帮助了他们。
对于第三级的工程师,就应该能够独立带领人做出一个为公司挣得利润的产品了。这里面除了上述能力外,还涉及到对市场的判断和营销能力了。很多人讲,我就是做工程的,这个东西是否有用,我不清楚,有什么事情你叫我做就好了。这样显然达不到第三级的要求。
第三级的工程师,本身必须是非常好的产品经理。一个有良好工程素养的人,如果心胸开阔,愿意接受各种意见和建议,经过努力,可以做到这一步。你可能奇怪,我为什么专门强调心胸开阔,因为人有多大的心,就能做多大的事情。有人抱怨自己作为工程师,收入和社会地位太低,我想如果你做到第三级,就不低了。当然再往上,就不是很多人能够做到的了。
第二级是能够做出先前没有的东西的人,世界因为他们多少有点不同。举几个例子,比如北极光风投的创始人邓锋,在他(和谢青、柯岩)之前,世界上没有真正意义上的网络防火墙设备,他们做出了这个设备,并且成功创立了当时世界上最大的防火墙公司(Netscreen),这个公司在被收购前市值大约为20亿美元。他可以算得上是二级工程师,另外,Google云计算的发明人迪恩(Jeff Dean)也可以算。你如果能成为二级工程师非常好,但是如果不能也没有关系,不必对自己太苛刻。
第一级是开创一个产业的人,包括爱迪生、福特、贝尔等人。这可能离我们远一点。

看了上面的分级是不是觉得自己很菜?其实第一级和第二级的工程师是很难达到了,就吴军自评也才2.5,很多人能达到3级就不错了,我的目标就是先达到3级再说,是不是格局又小了,呜呜……

结束语

不管是装房子,还是写软件,都需要系统思维,都需要增大格局,还需要脚踏实地的做好计划、实施、跟进和验收。希望我们都能够成为优秀的工程师。

祝明天我们更优秀!

6

相关文章

网友评论

本文标题:借房子装修来谈软件研发的系统性思维

本文链接:https://www.haomeiwen.com/subject/jygmfftx.html