摘要:
什么样的水平称得上高级工程师,什么样的水平只能称得上普通工程师?
为什么大部分人停留在普通工程师的级别?
“我会做十道凉菜、三十道热菜。”这是哪种级别工程师的自我介绍?
平常我们最喜欢做的事情,哪些价值更高?哪些毫无价值?
-引言-
如题,初级程序员和架构师的差别在哪里?
工作年限?经验?老板重视程度?是否做出重大业绩?
首先,工作年限长的技术就一定更加高深么?
不见得!
这个世界上不知道有多少人,每天只是做着重复性的工作,毫无长进。虽说吃过的盐比其他人吃过的饭都多,但就是没记性,不断的重复着过去的错误。甚至伴随着年龄的增长、激情的磨损,反倒一年不如一年。
其次,工作经验,盖过100个房子的一定就比只盖过10个房子的更有经验么?
不见得!
有些人只需要盖过一个房子,就会对房子的地基、门窗、水暖管道、强弱电走线、等等了如指掌。而有些人,盖了一辈子的房子,连插头左右哪个是火线哪个是零线都分不清楚。
至于老板重视程度,这是结果,而非原因。技术高深,自然就受到重视;而不是相反的:受到了重视,所以技术才变得高深。
是否做出重大业绩,这确实是一个足够客观的衡量指标,但依然只是结果。更何况,如果是一群人共同做出的业绩,如何区分大家彼此之间的技术高低呢?
那么,普通工程师和高级工程师,差别到底在哪里呢?什么样的水平称得上高级工程师,什么样的水平只能称得上普通工程师?什么样的人一看就知道是高级工程师,什么样的人一看就知道最多是普通工程师?
-初级Java程序员与门外汉的区别-
初级Java程序员面对技术任务,至少是知道从何处入手的。
比如说修汽车,门外汉连空气滤清器在哪里都不知道,更不要说如何拆卸,如何安装了。
计算机软件专业的毕业生,至少明白做一个手机上的软件是需要安装编译环境的,一个门外汉对于几行代码变出来的游戏界面感到颇为神奇。
但是作为一个软件工程师,我真的很好奇一大堆黄豆是如何变成液体豆汁而后突然变成固体豆腐的。
所以,初级程序员对自己所从事的行业,至少是有大概的了解的,甚至具有一定的工作经验,可以在高级别同伴的带领下完成最为基本的操作。
-初级程序员与普通程序员的区别-
初级程序员刚刚入门,能够在师傅的指导下完成最最基本的流程化操作。但是由于熟练程度不足,完成任务的速度和质量无法保证;稍有遇到自己没做过,或者不熟悉的技术问题,都需要花费更多的时间学习。
在一个行业内做过许多事情之后(也可以是一个大事情内部的许多细分小事情),对各种技术问题都有接触,并都有成功解决的经历。于是,大部分的技术问题不再陌生,甚至非常熟练。自然而然,成长为普通程序员。
两者最典型的区别有:
1、行业相关的众多技术点,是否都有了解;
2、行业相关的众多细分工作,是否都有“熟练”操作过,完成的质量是否有足够保证;
3、行业相关的不同任务,能否给出明确的工期预测;
-普通程序员与高级程序员的区别-
大部分人会停留在普通程序员的状态,因为伴随着大家对自身工作内容的逐步熟悉,伴随着大家日复一日重复同样操作的逐渐熟练,这些知识和技能足以满足通常的工作需要。
很少有人会考虑:
1、更快(效率):目前的操作流程是否是最快的?如何改进?
2、更好(效果或性能):目前的解决方案是否是最佳的?能否进一步提升性能?
3、更省(成本):什么样的方式能够降低人力成本、财物成本?
会做炸鸡的厨师很多——初级;
努努力做出口感好的炸鸡,也不是太难,只要肯卖力练习就行——普通级;
尽心专研,做出超级口感的炸鸡,真的需要好好专研、总结的——更好;
像肯德基那样,让入门级的厨师甚至门外汉都能够做出口感好的炸鸡,则需要对炸鸡的油温、时间等等做出仔细的研究,然后制作出对应的设备、操作流程。这是对一个行业的彻底颠覆。这样的级别,就不仅仅是高级了,而是专家级别。
-如何最快速的成长-
如何最快速的从初级到高级?区别明确了,问题就好办了!
1、争取做自己不熟悉、不会做的;——不熟悉的熟悉了,不会做的会做了,自然就成长了;
2、多做自己不熟练的、有难度的;——不熟练的熟练了,有难度的变得轻松了,自然就进步了;
3、习以为常的操作,多考虑一下是否能够换个方式做得更快、更好、更省;(自己琢磨也好,参考业内高手也行)
4、可以的话,思考一下如何让门外汉或初级员工更方便的做这个事情;
5、尝试解决那些大家都解决不了的甚至被认为根本不可能解决的问题。
从初级到普通级别,勤学苦练足矣;
从普通级别到高级,则需要多动动脑子,多思考,多对比,多总结,多摸索。
越是有难度的问题,越是没人能够解决的问题,越是从来没有人考虑过的问题,价值越高!
网友评论