1.5 破解各种误解

古时候有一个佛学造诣很深的人,听说某个寺庙里有位德高望重的老禅师,便前去拜访。老禅师的徒弟接待时,他很傲慢,心想我是学佛造诣很深的人,你算老几?后来老禅师十分恭敬的接待了他,并为他沏茶。倒水时,明明杯子已经满了,老禅师还是不停地往里面倒。他不解的问:“大师,杯子都已经满了,你为何还要倒呢?”大师说:“是啊,既然杯子已经满了,干嘛还要倒呢?”

上面这个故事大家可能都听过,老禅师那句话的意思是,既然你已经这么有学问了,干嘛还要到我这里来请教呢?这就是“空杯心态”的起源。

我在做咨询服务时,发现最难的反而是起步阶段。我同大家交流平台化研发模式时,很多人受常年工作习惯的影响,总是会想当然,导致了或多或少的各种误解。这一小节想和大家分享一些常见的误解,或许破除这些误解,方可轻车上路。

  1. 功能简单,代码少的产品不适合
    工控领域大量的产品是初级的产品,这些产品功能简单,代码量也比较少。此时,一些研发人员想当然的认为用不着本文提及的“高大上”的可复用研发模式。这种观点是错误的,实际上平台化可复用思维主要是解决产品系列化问题的,与产品复杂度关系不大。在实践中,我发现复杂的产品经常需要采取一些更为复杂的技术手段,有一定的实施难度,反而是简单的产品更加容易上手。因此,只要你的团队不是仅做一款产品且后续没有迭代的需求,本书中提及的很多策略就有参考价值。

  2. 硬件资源紧张的产品不适合
    大多数工控嵌入式产品基于单片机编程,硬件资源紧张几乎是必然的。此时,一些研发人员会想当然的认为平台化策略需要增加很多的ram和flash资源,因此自己的产品不合适。这种观点也是错误的,实际上平台化仅仅是一种IT技术手段,其中很多策略反而会大幅度减少flash和ram空间,如脚本的使用可以节省大量固定格式参数文件空间,如利用配置软件能生成各种直接索引表,也可以节省大量flash资源,并省略珍贵的ram资源。

  3. 小型团队不适合
    工控领域很多研发团队都比较小,经常就是三五杆枪,甚至只有一个人。此时,一些研发人员会认为平台化模式仅适大规模研发团队,不适合小团队,这也是一种想当然的错误观点。在我的咨询实践中发现,小团队更容易受到人员变动的影响,而仅仅是代码审核这类入门策略就能给团队带来很大的帮助。额外,我想和大家分享一个重要的认知:推动可复用平台化,有助于帮助你从一个普通的入职者成长成为一个架构师,因此,哪怕你的团队仅有你一个人,这件事也是有必要做的,非常助于你个人知识积累。

  4. 需要很强的毅力,普通人不适合
    可能是各种励志类文章误解吧,一种最常见的误解是对自己没信心。人家跨国公司这个做法看起来好复杂,执行下去需要坚强的意志,我们可做不来的。这种观点也是错误的,大家试想,如果这是一件苦兮兮的事情,我能够坚持这么多年吗?真实的情况是,每走一步我都会收获实实在在的好处,而正是这些好处诱惑着我持续走下去的。如代码审核机制,一旦成功,我就可以将团队的几个成员作为我的左膀右臂,那种偷懒的感觉真的很爽。

  5. 需要很强的技术储备,普通企业不适合
    和没信心相似,另一种典型的错觉,是想当然的认为要做到平台化模式需要很多技术储备,普通人很难做到。如一朋友和我交流,他们公司小,好学校的学生根本招不来,仅能招到一些普通二本院校的自动化专业学生,压根没有几个科班出身的,根本没能力实施复杂软件模块。实际上,平台化思维更多的是观念上的改变,绝大部分情况下并不需要太过高升的程序技巧,而且拜网络所赐,很多复杂模块都有现成的可复用。

  6. 产品已经成型,不适合
    最后,还有一种典型的担忧,我们目前的产品已经都成形了,不可能轻易改动的,因此你这种策略很难实施。这也是一种很典型的错觉,如果细细去观察那些所谓不能动的产品,发现一年代码修改次数一点都不少,而这些无数次的修改过程恰恰是导入平台化思维的最佳时机。一次次的代码优化,一次次的接口提炼,时间的力量是无穷的,不经意间就会给你巨大的惊喜。我个人特别欣赏这种春雨润物式的模式,借着优化机会一点点的改进。我自己负责的产品线就是以这样的方式持续改善的,而那种期望短期有巨大变化的休克疗法一般会死翘翘的。
    ……

上面提及的这些还都是技术层面的误解,除此之外,还有一种更可怕的误解,是对整个行业的误解。我工作的一项重要任务是招聘优秀的毕业生,我喜欢那种有扎实的计算机素养,在大学实验室玩过单片机,专业成绩达标且具备一定的交流和协作能力的学生。为了企业的下一步发展,每到一个招聘季,我就被迫游走于各高校的招聘场所,奔波忙碌,口干舌燥,然而经常收获寥寥。

是什么原因呢?我和很多学生交流,感觉大家经常会有一种错觉,感觉工控行业已经日落西山了,互联网行业才是未来,因此大家都一窝蜂的扎入了互联网行业中。

这些年数字经济发展迅猛,而且互联网行业起始收入比较高,我不否定互联网行业未来的发展前景,但我想告诉大家的是,工控行业也孕育着巨大的机会。

谈起工控行业,可能很多人会比较陌生,我们不去纠结其表面概念,仅关注其一些主要特征:

  1. 客户主要面向企业,比起消费品来说,客户数量少很多,因此其销售行为基本上是直销模式,常以项目的方式进行运作。
  2. 工业产品一般都是大宗消费,采购周期长,行为理性而专业。
  3. 很多产品都需要定制化研发,而且随着产品的复杂度越来越高,用户会越来越看中后期的服务和升级。
  4. 验证和实验周期都比较长,产品更新换代速度明显小于消费品。
  5. 目前的工控产品复杂度在持续增加,因此软件的复杂度也在与日俱增。
  6. 互联网行业呈指数分布,而工控领域大多是呈正态分布,因此你只要不是做的太差,应该不用担心吃饭问题。
  7. 占据着国计民生命运攸关的行业,你有机会成为领域专家。
    一言以概之,工业品销售用户非常看中品牌,而品牌背后的支撑是品质和服务。为了让大家更深刻的理解工业产品,我举个例子(真实故事)。某企业,给卫星配套太阳能电池板,但因为一丝疏忽,用机器人代替人工时未进行充分验证,卫星升空展开后某些区域脱落,最终导致卫星达不到预定使用寿命。为了进行故障分析,前后花进去了很多钱,差点被取消供应商资格。

同理,电力、化工、铁路、能源,那个行业不是命运攸关的行业,大家试着想一想一个500kV变电站的无故跳闸而导致半个城市陷入黑暗的情况,或者某DCS控制异常而导致剧毒压力罐爆炸的场景。你就会理解这些行业的前景。

大多工业产品都是多专业结合的产物,随着电子信息行业的发展,程序在其中所占得分量越来越大,复杂度也在持续增加,需要以较高的计算机知识应对,而现实情况是大量的人员都是去搞移动互联网了,仅留着非专业人员在苦苦挣扎。

以非专业人眼光,计算机知识就是堆砌C语言代码,残酷的现实让大家难以发现其背后的精彩,计算机世界的精彩同他们基本上是平行线,这种情况下如何做出好的产品。

需求和现实的脱节,带来了困惑,也带来了机会。

我本人是计算机专业,当初进入这个领域一半是机缘,一半被强迫,但在摸爬滚打近二十年后,我慢慢的喜欢上了这个方向。我们不需要担心刚学会的java没几天就被python代替了,20年前学的C语言依然在继续使用,而且好似真的可以写一辈子程序。

◇◇◇

各种各样的误解,经常让我们还没起步就放弃了。想想老禅师的溢水杯子,他告诉我们一个道理,做事的前提,首先是一个好的心态。想学习更多的知识,需要先把自己想象成一个空的杯子,只有清空心里所有的自满,才能学到更多。拥有空杯心态的人才是有大智慧的人,才是有望成功的人。

从下一章开始,我们将正式踏上这条从入职到架构师的嵌入式软件成长之路,下一章的内容会帮助新人快速入职,帮助老人构建培训体系。

现在,你准备好了吗,让我们一起轻车出发吧。

——————————————

我是小马儿,一个渴望良知与灵魂的嵌入式软件工程师,欢迎您的陪伴与同行,如感兴趣可加个人微信号nzn_xiaomaer交流,需标注“异维”二字。

发布了12 篇原创文章 · 获赞 16 · 访问量 1477

猜你喜欢

转载自blog.csdn.net/zhangmalong/article/details/103626982
1.5