一语道破国内程序员与国外的差距(思维认知)
首先,我想说明的是国外的程序员也加班,他们也要赶项目,所以加班不算什么原因。真正的原因是我们国内的大部分程序员只是工具的使用者,不会思考工具的产生和原理,用惯了一个高效的工具就被这个工具套牢成为奴隶;而国外的程序员更多地去思考和专研这个工具的产生和原理,然后可能会自己优化出2.0之类的;然后到了中年往工具开发这一块走,我们更多地是往管理、服务业以及转行等方面发展,只能说我们的创新氛围还不够。
掌声属于别人
为了提高效率,有些同事真是拼了,使出浑身解数,调取一切能使用的资源,通过编程做了一个小工具。先不看这个工具是否可以提高效率,就这种做法就很让人倾佩。
仔细端详这个小工具,确实很不错,原来至少要半个小时的活,经过提升几分钟就搞定,虽然也存在一些bug和适用条件。其他的同事拍手叫好,领导也是大为赞赏,领导想让他给其他同事培训一下如何使用这个工具,提高大家的工作效率。这个工具是他智慧的结晶、汗水的付出和能力的体现,他应该饱受嘉奖,升职加薪。是的,故事确实按照这个方向发展。
STOP!请记住这是别人的成功,和你没有半毛钱关系!
无论是作为吃瓜群众,还是工具使用者的你,难道就不能做点除了为别人喝彩以外的事情吗?你甘愿仅仅做帮助他人实现人生巅峰的助推器?你甘愿一辈子当绿叶去衬托这朵大红花?你甘愿就这么活在别人的阴影中自怨自艾?
不要等到人家都赢娶白富美了,你还在默默流泪。
现实与虚幻,你分清了吗?
在企业注重的是效率,高效率是行动力的重要体现。因此,各种模块化的东西应运而生,将每一个模块拼在一起,构成了一个强大的体系,数以万计的螺丝钉,保证机器的高效运转。
其实,模块化本身是一个黑天鹅,不断地吸引你去感受它的魅力。它确实很美,但是在欣赏美的同时,别忘了区分虚幻和现实。
所谓虚幻,指的是别人通过自身经验创造出的模块化工具,使用者的你乐此不疲;所谓现实,指的是你无法使用自身经验同样创造出相同的东西。
这些工具确实是能倍速改善工作效率,但是,这是一种假象。因为,你被巨大的高效所蒙蔽双眼,当你离开这个工具时,你发现你什么都不会,什么都不是。换句话说,你随时可能会被别人替代,你只是模块化下游的一颗微不足道螺丝钉,对上游的的开发者一无所知。
你不知道这个模块的底层逻辑是什么,是如何迭代升级的,从无到有经历了什么毫不知情。这就是为什么高度模块化公司出来的人,能力上似乎并不高的原因。
可是要了解模块化上层开发者的逻辑真的太难了,就一般人而言,压根行不通的,所以只能应用别无他法。这个想法也对,也不对。
受自身能力和资源的限制,我们很难去摸清这个黑匣子的运作模式。但是,我们就无所作为吗?
其实,我们还能做些事情
首先,我们可以去和开发者去沟通了解,给他提供你的反馈意见,邀请他改进,他会很乐意听取你的意见。于此同时,也能获取开发者做出这个模块的初衷以及一些潜在的底层逻辑。
就比如开篇说的那个很牛的同事。通过与他沟通,我们可以了解工具出现的逻辑是什么。编程不懂没关系,可以去学,可以交给外包,这都不是重点,关键是要把握他的思想,如何将重复事情模块化的具象思维,这才是我们需要深度去了解和思考的东西。
为什么我们想不到,而他想到并付出行动?我想这个问题,我们应该好好去思考一番。
其次,通过深度思考,将这套流程化思维内化,嫁接到自己的工作中去。换句话说,通过别人的模块化工具建立自己的模块化工具。因为,这才是你自己的模块化工具,它带来效率的提升,才是真的,无法被复制。
在此,我们又用到了《创新简史》书中的核心创新思维:根创新、域创新和维创新。用创新的思维去拆解问题,这种自上而下的思考方法,正是我们需要培养的。
通过书中的理论,我们可以知道:高度复杂的创新可以视为一个维创新,它是由N个相同维度的域创新构成。就那个同事的小工具而言,我们可以将其拆解为:JAVA语言和3D建模软件作为两个域创新;然后将其各自拆解为根创新:循环判断语句和草绘,逻辑框架为通过循环判断语句控制草绘的生成和复制粘贴,最终实现自动化功能。
所以说,搞清楚底层逻辑很重要,它不但会帮助我们深度思考创造出自己的模块化平台,还会避免跟着别人屁股后面跑不知道所以然的尴尬局面。
下次遇到别人开发的小工具的时候,请慎重使用,请仔细思考,请拆解分析。
在享受它带来的高效时,也请时刻思考,如果没有它,我还能怎么办?是否还有其他途径?是否自己可以尝试去做一个不同的工具?
搭建自己的模块化平台,让别人去喝彩吧!这才是我们真正需要做的事情。
最后
欢迎大家关注我新开通的公众号【风平浪静如码】,最新最全多家公司java面试题整理了1000多道400多页pdf文档,文章都会在里面更新,整理的资料也会放在里面。
喜欢文章记得关注我点个赞哟,感谢支持!