作为一个CTO必须要制订好团队中技术水平标准,也就是我们常说的技能熟练度。
如何打造技能表
相信大家写过简历,也看过别人写的简历。想一想这些简历上技能熟练度那一栏是如何描述的,是不是充斥着大量的熟练与精通?网上有个招聘的段子,说的是如果一个企业招聘技术人员的要求上写着既要精通这个又要精通那个,且薪水又不高,那么其实人家只是要一个会写代码的。
所以今天要带大家重新认识一下熟练度,本人在做团队内部技能思维导图时也是受到了《知道创宇技能表》的影响。如果你还没看过的话,强烈建议你去网上搜索看下。
重新认识技能熟练度
先来一个知道创宇中的关于SQL注入熟练度达到熟练级别的描述,大家体会下:
- 写SQL语句能脱离文档顺手写出(很多人这一点就被PASS了吧)
- 主流数据库的SQL特有函数、存储过程机制都了如指掌(能掌握1-2种的已经很不错了)
比如mysql,mssql,oracle,access,sqlite等
- 牛逼的工具不仅用的顺其自然,源码还读过几遍,修改无压力(比如常用的sqlmap,大多数人源码什么的可能根本就不会去看,更不要说几遍了)
- 还具备一定的创造性,而不仅仅是跟在大牛后面(很多人可能还跟不上大牛)
要有自创技巧,发过几篇不错的文章,做过分享,有自己写的工具
- 实战N回,遇到过各种奇葩环境,有绝对的信心绕过
看完之后大家有何感想,以后还会不会随便给自己的某个技能打上熟练的标签了?(希望看到这篇文章的同学,赶紧翻开自己的简历,重新梳理一遍自己技能熟练度的描述)
再举个前端开发经常要使用NPM,怎么样才算是达到了解呢?至少要弄清楚下面这些问题,你才好意思跟人家说你了解NPM了。
什么是NPM?什么是NODEJS?为什么使用NPM就要安装NODEJS。和NPM有关系的NVM和NRM又是什么?
同样之前微信小程序风靡一时,有些人看了几篇文章就说自己了解了,要达到真正的了解,你必须看过一遍微信小程序官方的开发文档,自己搭建过环境,并写过相关的例子。是的,做到这样你才有资格说了解。之前的了解,称之为听说更合适。
所以大家回头看看下面这些技能工具,你想想自己真正的熟练度到底是哪个层次。javascript,java,springMVC,多线程,HTML...... 如果你的熟练度层次很低,没有关系,说明你有很大的成长空间。层次低其实不可怕,可怕的不能正确的认识到自己的层次低,自欺欺人是得不到进步的。
正确打开的重要性
说完怎么重新认识技能熟练度以后,再讲讲为什么要以正确的方式打开熟练度。
- 打破坐井观天,为持续性学习打好基础
- 打破学习舒适区,做到真正的有效学习
- 避免Y型不稳定,导致T型容易崩塌
- 培养谦逊的品格,获得更多的资源
如何正确的打开
了解完正确打开的重要性,那我们如何正确的打开呢?或者说我们应该怎么去做,才能正确高效培养自己技能熟练度,不至于停滞不前?
主要通过四点去做:
- 复盘
定期对自己的存量知识做复盘,提取总结精华部分,去除掉已经过时的知识,优化需要更新的知识。
复盘的方法可已通过:对知识点进行思维导图化,对单个知识点进行图表化 - 复利
做一件事情或者学习一个知识技能之前,思考一下哪些是不应该做的,哪些是要做的,怎么做才能形成知识技能的复利积累
比如你现在要开发一个新项目,那么新项目的技术栈你应该用全部是自己最熟悉的,还是引入1-2个新技术点?是用想到哪就写到哪的编程习惯,还是先思考好业务领域模型,进行可扩展性设计,再开始编程?你是想通过一个项目达到开发了三个项目的效果,还是想通过三个项目开发达到重复开发一个项目的效果?
- 打造TY型知识结构
打破学科之间藩篱,学会跨界思考与学习,打造出自己的TY型知识结构
- 联接
学会积极主动的分享,协作,实践,不仅仅在专业圈的范围内,更要和其他圈子的人协作。想要用技术来改变世界,并不是件很容易的事情。除非是一项非常实用的黑科技,否则怎么能很好的改变世界?就靠我们埋头敲代码就能改变世界吗?显然不是,真正改变世界的不是技术,而是使用技术的人。我们要先改变人,让人接收和使用技术,才能通过他人来改变世界。美国队长在复联里能力不是最强的,为什么他却是队长?大家可以想一想。
这一节就讲到这,本节的主要任务是各位花时间去重新梳理下自己的技能熟练度,然后持续的去更新它。能够做到这一点,相信你已经超过过了80%的程序猿。