如何判断一个开发的水平??
合格
基础的知识都会用,能完成分配的工作,但是光这些还远远不够。
代码不是越简单越好(考虑扩展性和维护性)
最典型的例子就是配置文件:
如果是java代码,直接在类里面定义个静态变量,代码量最少。
用配置文件的话,代码需要引用,配置文件需要加配置,代码量多一点,但是维护方便。
还有很多种情况,一个if else就可以解决。 但是为了扩展性,甚至要修改表,增加类等。工作量可能大了10倍不止,但是以后维护起来方便。
这是用现在的时间节省以后的时间,是很划算的。
因为所有挖的坑,都是要填的。
解决问题的能力
无论水平有多么强,最终反映到解决问题的能力上。
如果一个人无论什么问题都能较快较好的解决,那么不用问,肯定是个高手。
我们试着复现一下过程:
根据现象,先大致判断是个什么问题。 较宽的知识面和丰富的阅历。
准确定位问题点。 需要知道技术的精要。
选定方案。 在很短的时间内,想象几种方案,选定最可行的方案。
与时俱进,不断学习新知识
立足当下,着眼未来。
例如:
当初接触springboot的时候,就觉得这个很不错。虽然不熟悉,也还是继续学习。 后来boot大行其道,因为接触的早,省了很多力气。
后来springcloud火起来了,光会boot明显不够看,所以必须学习cloud。
沉浸在自己熟悉的范围内当然轻松,但那是不行的,必须多尝试,多接触新知识。
开发是条不归路,想要安逸,没有的。想要轻松,没有的。 有的只是一路暴霜露,斩荆棘,载苦载歌。
管理者和一线coding的区别
很多管理者都是一线coding上来的,原来可能就是技术高手。所以对技术很懂,但是后来管理的事情太多了,关注点不再是代码维度,而是更宏观了些。
例如一个管理者手下十几个项目,什么事情都要找你,哪里有时间看某行代码?
管理者考虑的事情更深,例如安全问题,要有更深的预见性,防患于未然。
一点点小强势: 想象一下一个人管理几十个项目,那么多事情要做,要和那么多人打交道,没有点强硬手段可说寸步难行。
强有力的记事工具
必须要有强力的记事工具,例如onenote,sublime,atom,甚至excel都可以。
几个月内的重要事情都要能查到,那么多的帐号密码都要记清楚,所有项目的服务器列表都要有台账,否则到时真的抓瞎。
带领团队的能力
说这个难,那个难,什么最难呢,管人最难。
管理能力是非常强的一项能力。
大致有几点吧:
1、对事不对人(基本原则)
2、有手腕,又拉又打(恩威并用嘛)
3、自己也需要有点本事(一肚子糠怎么带领团队)
4、对领导负责,又维护自己下属(不把领导交办的事弄好怎么交差,不维护下属谁跟你)
会议的能力
当负责的项目较多时,会发现沟通会占很大的比重。
肯定要熟练使用各种会议工具:
微信语音群,钉钉语音群,umeet会议,投屏会议等。
会议中沟通甚至辩论的能力:
沟通不说了,一般都很流畅。
辩论能力必不可少,因为涉及到利益和责任归属,如果辩论不强,很可能会莫名其妙背很多锅。这里至少要保证己方有理,一定要据理力争。
其他软知识
管理多个项目的时候,还设计到签合同。 要对人员的价格(是不是感觉像卖货)比较了解,本来一个人2万,供方要4万你也接,不就被剥肥羊了。
另外合同中的很多隐晦条款,要擦亮眼睛哦。
其他
常见问题
用的什么技术栈?
。。。,什么是技术栈。说白了,就是用的什么技术。 例如项目是java写的,还是c++写的。
用的什么版本?
要知道大概。
开发用了多少天?
是产品自带的,还是定制开发的,如果是定制开发的,好评估人天。
一点点小脏话
有的同事,开发的时候总是有口头禅,例如:我艹。
有点小不理解,我就不说脏话,哈哈哈。
后来接触项目稍多,才深有体会:
当一个2月的任务,业务要求2星期完成时,我艹。
当接手老项目,没有接口文档时,我艹。
不但没有接口文档,代码中还没日志,我艹。
加班赶进度时,突然又插队进来一个新任务,我艹。
当......
(此处省略一万种让程序员目瞪口呆的场景),我*。
所以理解万岁。