程序员是要专精,还是要广度?
于一名优秀的技术人员来说,究竟是专精一块技术方向,做到深耕其中所向披靡;还是谋求“什么都能略懂一点”的广度,成为一个全方位的人才?
这其实是一个职业发展和学习规划路线的问题,许多同学都有这个困扰。
01
“更早地认识自己和自己的方向,能更快地帮助我做出成绩。”
02
“大部分的精力还是要用于巩固自己的长处上,你一定要有竞争力的依凭。”
03
“我个人经历觉得,精进一门技术,不管是对于开发还是其他工作,都是重中之重!”
当我刚毕业的时候,在一家小厂做Flash游戏开发,由于当时开发人员配比严重不足(qiong),所以不但要用AS3去写前端游戏UI功能,还需要用NodeJS写服务端游戏逻辑、SQL处理数据读写操作、HTML/CSS/JS写后台配置管理页面,且一度在公司没有招到测试的情况下,所有的功能测试只能通过自测来完成。
时间一长就有些膨胀了,自我感觉非常好,觉得自己就是全栈,觉得只有更大的舞台才能配得上自己,进入大厂应该是轻而易举的事情,于是开始往网易、阿里、华为一些大厂投简历,Flash游戏开发、H5游戏开发、Web前端开发、NodeJS开发、服务端开发、测试开发各种岗位都投了遍。结果就是被现实狠狠地打了脸,投的简历石沉大海,少有的几个面试也都是一轮游。
后来总结反思了一下,在所有面试中,面试官经常会问这么几个问题:XX原理是什么?XX如何实现?对XX你是如何理解的?对于XX功能是否有更好的解决方案?面对这些问题,发现了自己其实对底层原理一窍不通,所有都还是停留在使用层面。
看清楚了这个问题之后,我暂时放下了其他域的学习,专注在前端领域的学习,从基础的HTML/CSS/JS入手,到lodash/JQuery等常用工具库的使用,再到Vue/React等主流框架的使用以及原理的学习,以及ES6、TS等学习掌握。等熟练掌握了这些技能之后,再深入到浏览器工作原理、网络通信机制、前端性能优化、稳定性安全保障等知识点的学习。一步一步从搬砖菜鸟变成了熟练搬砖工,然后继续朝着搬砖砖家努力。
总的来说,在小厂,老板当然希望能更省钱,巴不得一个人就能干完所有的活。而对于个人而言,精进一门技术,不管是对于开发还是其他工作,都是重中之重!
04
“不要把自己当做业务研发的工具人。”
结语
如题,你们的观点是什么呢?留言区欢迎一起讨论。