1 工程思维
Everything is a project。工程,比如建筑工程,医疗工程等,一个工程都是从分析,设计,实施,测试,完成的步骤,这样一步一步推进,让在完成这个工程的过程中更有效率,更全面的思考。
举个例子,从当时校招群面的时候,最后一面是无领导面试,面试流程是,一个小组八个人,每个人一份同样的题目,三分钟的思考时间,然后每人发言,最后小组讨论选出一位进行综述总结。
那么当时我是怎么操作的呢。
- 分析----->如何进行总结,记忆不好就写在白纸上。怎么把控时间,正好可以用手表。
- 设计---->在其他同学回答的时候,我会总结出他们答出的自认为不错的观点,并进行标注比如是几号回答的
- 实施----->这个时候我会根据前面同学的总结然后加上自己的观点
- 测试------>经过前面几步后需要选出最后的综述人员并进行模拟综述测试,
- 完成------->最后顺利完成综述并拿到了offer。当然运气成分肯定是有的。
2 什么是工程方法
对于我们学生,可能不挂科会是短期的目的,有了目的就需要有个计划,有了计划就需要有步骤的去实施,最终尽量的达成目的。所以工程的方法就是,有目的,有计划,有步骤的解决问题的方法。
从这里来看,不用这样工程方法做事情一样可以做成,这肯定的呀。但是有模块化的去一步步完成想必会提高工作的效率。另外一点,站在整体而不是局部的去思考问题,这样更有大局观。
3 熟悉的场景
- 开发工程师喜欢在代码中使用各种设计模式和最新的技术,导致项目进度的延迟难以维护------->为了提升开发效率,不影响项目开发进度,开发工程师尽可能采用成熟的技术,高效简洁地落实项目
- 测试工程师不愿意学习自动化测试技术,导致测试的周期变长------->学习自动化技术,提高测试效率和质量
- 除非产品经理特别的圣母,开发工程师和测试工程师不会注意用户体验------>项目组人员都应该体验用户界面并提出意见
总之,大家都是站在自己的三分田思考问题而没有站在项目的角度思考问题。如果站在项目的整体角度思考问题,就会去关注项目的质量,项目的进度和项目的用户体验等。但是即使各自负责自己的那一块领域都是996的
现状,还考虑这么多多么难得呀,所以需要合理规划时间,提升做事儿效率,站在整体的角度思考问题,并运用到生活中的琐事里。
4 总结
学习软件工程的开发过程,其实仔细想来可以运用到生活中的琐事中,将生活的大大小小的时候看作一个项目去制定计划,分析,实施,这样可以提高工作的成功率和效率。虽然不用这种工程化的思维去做事也可以成功,但是应该是偶然性的。所谓认知先行,拥有高级的认知和低认知的竞争,是一种降维的打击罢了。
Everything is a project