有关于技术人的成长我想说一下
一、技术人面临的什么
# 大环境越来越差
从软件行业的供不应求到断崖下跌,再到后来的供过于求。有很多人唱衰IT行业已经是垃圾行业,现在入IT行业就是49年入国民党。
本人从16年毕业到现在,还是认为自己有资格说一下,因为上述的经历自己切身的体验,确实现在企业的招聘要求越来越高,在我那个时候刚毕业,只要会用点前后端框架(JSP + SSH)就可以找到一份月入过W的工作,而且市场上抢着要,而现在只是单纯的会用框架,在挑选简历的时候就会被pass掉,甚至要求你十八般武艺样样精通,巴不得你前后端运维测试都一起干了。
为什么会导致现在越来越卷呢?我想说可能有下面几个原因:
- 技术本身是生命周期,很多技术在未来的几年将会被淘汰
- 技术的获取渠道更加的廉价
- 当下的经济日渐低落的体现,企业招聘的HC越来越少
- AI的双利剑,让优秀的人更优秀,极化的人才导致同级别的竞争激烈
# 方向迷失
一种迷失方向,是知而不能行。我相信很多干了多年的程序员,越发的决定自己的路是不是走错了。我和很多人聊过,我问他们你还想干当下的事么?得到反馈基本都是,我觉得我应该干XXX(比如干前端的想做后端,做后端的想做前端)、我可能要去做XXX(我不应该打工,我要求创业)。但是很可惜的是,99%的人都不会真正的改变,只是在原有的路上(那条他认为是错误的路)上一直走下去。被迫让他们继续走下去的,一定是一些客观的、无法改变的事情,比如房贷、车贷等等。
第二种迷失方向,是不知者。这些人对自己没有清晰的认知,对未来缺少明确的规划,属于走到哪算哪。一天到晚就是浑浑噩噩,为的就是公司给的卑微工资。这样的人一般都是傻乐型或者麻木型。但也许没有方向才是他们自己的方向。
知行合一是很难的事情,而成功的人总是不断地学习并且付出实践,通过不断地试错最终达到正确的方向。
# 无法成长
重复性的工作会导致个人会在一个圈,固定的思维方式同时也会导致无法成长。重复的CRUD、无效的沟通和扯皮等等。我一直觉得,如果你不认为3个月之前的自己像个傻n,那就是自己还是没有成长。
上述说的三点,其中大环境我们无法改变,方向的问题因人而异,但是如何成长却可以是教科书,是有章法可循,同时也是技术人最容易做到的,因此我此文将技术成长的三个阶段、五个维度、犯错、技术之外,一一陈述。
二、技术成长的三个阶段
1. 初级阶段:生存及掌握
- 目标:能写代码、解决问题
- 行为特征:堆技能点、学习框架、刷题、写需求
- 易犯错误:只顾眼前
2. 中级阶段:体系和抽象
- 目标:设计能力、架构能力、对业务的建模能力
- 关键性的成长:重构、封装、性能优化、主导项目
- 思维转变:由能写代码到->写的优雅且可维护
3. 高级阶段:认知和选择
- 目标:判断力、技术方向感、推动力
- 学会做减法:不是什么都会,而是知道什么是重要
- 理解转化:技术不是目的,而是实现目标的手段
三、技术成长的五个维度
1. 宽度:业务视野要广
- 不只是Java,也得理解前端、DevOps、数据库、AI等等
- 系统视角 > 局部细节
2. 深度:技术能力要扎实
- 了解原理:TCP底层原理、JVM底层原理、操作系统、分布式系统等
- 定期选择一个深入理解任务:比如固定周期,制定一个”深挖点”(如7天吃透RocketMQ底层源码)
3. 实战:项目沉淀和总结
- 主导核心项目,多动手而不是说说,踩坑、抗故障等都是具体实施
- 遵循:编程=沟通+建模+迭代+总结
4. 表达:输出是技术的延伸
- 写技术文档、博客、内部分享、带新人
- 分享是学习的放大器
5. 判断:对技术趋势的感知力
- 拒绝技术盲点,只是片面的理解,多看多对比
- 看清楚趋势而不是跟风(最简单的方式就是看大厂的是否有标杆的落地的应用)
四、那些年犯过的错
- 学习浮躁,啥都是学习皮毛
- 迷信“大厂技术”,脱离业务场景、现实资源
- 代码洁癖重构原有稳定的功能
- 过度设计最终导致到处是废物代码
- 技术与业务割裂,做的东西没有人用
- 一味地追求技术复杂度,忽略了团队协助
五、技术之外:不可忽视的软技能
沟通协作能力
时间管理与持续学习能力
如何影响他人、带团队
对职业发展的规划(技术专家 vs 技术管理)
本人是一个普普通通的程序员,只是希望看到我博客的同学,可以少走一些弯路,同时相信自己的初心和努力,你是最棒的,与你共勉。🍷