软件工程|何为工程师思维?( 四 )


【软件工程|何为工程师思维?】1)预见未来的结构
它分为“结构力”和“预见”两个层面 , 也许你会把前者理解成各种思考模型 , 如5W2H原则、金字塔、黄金圈理论等 , 其实工程中的结构有部分“科学”元素 。 在这里有什么不同呢?
科学家“仰望天空”居多 , 很少屑于实际运用;主要阐述认识规律 , 发现规则;好比你经常看到科学发现新地球、海啸、巨大恒星等 。 而工程讲究“脚踏实地” , 将发现的原理转化并实际干出来 。
也就是 , 在过程中首先要尊重科学规律 , 考虑多因素实际所存在的结构 , 再精益求精的持续改进 。
对“预见” , 最接近的两个词汇是“使命”或“梦想” 。
埃隆·马斯克对火星的迷恋我相信绝对不会是因为科幻小说的影响 , 而是他认为自己聚合顶尖技术人才 , 然后又懂商业投资 , 加上使命的火花 , 才让他走上SpaceX的道路 。
据此 , 作为普通人对我们有什么帮助呢?你不妨思考下自己的使命 , 梦想是什么?
也许比较天马行空理想主义 , 尝试把它量化成目标 , 思考有没有可能变成实际动作;只要勤快 , 拆分下大概率可以实现 。
比如:工作很久的你想成为某个领域专家 , 也许只需花1-2年的时间深度学习理论知识 , 然后结合自我最新认知 , 通过不断分享就会被人发现 , 不一而论 。
2)约束内找到组块
尽可能在具体的时间 , 约束内交付出明确“规模”的结果 , 相比科学研究就没有这些限制 。 因为在开始 , 他们就不知道具体方向在哪里 。 例如:直到到今天 , 人类也无法统一相对论、量子力学 。
结合自身 , 我觉得拥有清晰的目标后 , 第一步的困难是“最后期限”原则 , 很多人的未完成均结束在时间、精力的管理层面 。
假设能克服这一步 , 接下来要考虑“组块”的环节;要尝试找到形成该结构的最小单元 , 部分人停滞不前是没有找到组块和串联 , 最后盲目的付出把精力耗尽 。
比如:谈钢琴有组块 , 写作、玩音乐更是相同 。
《故事工程》的作者拉里·布鲁克斯认为 , 写作这类看似有灵感的事情都可以采用工程思维设计 , 它用工程构建的方式将故事创作分为6大核心技能:1)立意 , 2)人物 , 3)主题 , 4)结构 , 5)场景 , 6)风格
对于普通人所有的一切均可以“公式化” , 为保证品质你可以多做几个备份来;查理·芒格在《穷查理宝典》中把它称为冗余模型(Backup Systems) 。
3)平衡当中做取舍
取舍的根本是什么呢?在工程思维中讲究“第一性原理” , 也就是你基于未来结构的顶层设计 。
若说组块是框架中的血液 , 那取舍关键就是你的“框架”如何设计;这个框架怎么来呢?我把它总结成“旧系统” 。 试想下 , 你想做的事情或达到的状态 , 以前有没有人完成?找到并把他设计成动态对标品;私下研究三个方面:1)学习路径 , 2)职业发展 , 3)成功阶段 。
美国神话作家“约瑟夫·坎贝尔”在20世纪50年代出版的《千面英雄》把人的经历分为三个阶段 , 分别是离群所居(separation)、经验考验(ordeal) 、复归本源(return)正是对应此模块 。
把发展路线提炼出来之后 , 要做是“优化旧系统” , 如:第二个阶段你看到对标的人用三年经历从经理做到总监 , 那在此方面自己有没有更快的办法呢?
所以不局限在表面的细枝末节 , 挖掘背后隐藏的路径和机制才是根本 , 真正的工程思维是要“解构旧系统” , 组合创新“新系统” 。
总结一下
使命的驱动、顶层的框架设计、组块化的SOP 。 这种全局观加上约束内的反馈机制 , 才是普通人值得学习的工程师思维 。
回到文章开始 , 为什么学过很多道理 , 依然过不好一生?因为“那个道理”背后的系统你没有躬身入局 , 所以听了也没用 , 想想看不是吗?
未经允许不得转载