阿里技术专家告诉你:程序员这条路,到底能够走多远?
职场危机感似乎是每个人在职业生涯都会遇到的话题,我对这种危机处境和自己曾遇到的问题进行了一番思考, 参考了其他人的一些结论并结合自身的经历,设计了应对的初步方案。通过这篇文章,希望能给大家一些启发,也欢迎大家一起讨论、发表建议,化紧张为动力,让危机变机遇。
问题分析与定义
要解决这个问题,需要从问题本身出发,分析为何会有职场危机感,以及应该构建哪些能力来进行应对。是否会遭遇职场危机,与职业本身特性有很大关系。而大部分危机,来自于下面两点[2][3]:
能力习得速度快的行业,后辈更容易挑战前辈,形成危机感。
技能演进速度快的行业,手里的秘籍容易成为废纸,形成危机感,如下图所示:
图1 技能演进速度快的行业
因此,就这两个关键点,对一些行业进行定性分析,如下图所示:
图2 常见职业在能力习得和演变象限中的分布
从能力习得速度这方面看,码农虽然身处高科技行业,但得益于大量的开源技术和丰富的培训,比如"0基础上手机器学习"、"2周培训助你成为深度学习专家",使得编程变为容易上手的技能,从而导致行业的门槛变低,能力的习得速度也变得很快。另一个方面,从技术演进速度,确实没有哪个行业能与之匹敌。
解决问题的三条出路
解决问题要从问题根本入手,从上面的图中按图索骥,找到让两个演变速度慢下来的出路。无论怎么腾挪,都要从狭义的码农职业转换到宏观的码农职业,前人已经总结了给出三条可行路线,概括为3P,即Paper、Politics、PPT[2][3]。
图3 3P路线
Paper 路线:简单来说,能够跟学术界搭上点儿关系,在工业界的title就是技术专家。具体的形式包括栖身学术圈在顶级会议上发论文并与大佬们谈笑风生、或者在技术决策上具有团队影响力和话语权的架构师等。这条路线相对来说门槛高一些,需要的扎实的专业技能和灵活的业务建模能力,年龄和经验往往是优势。虽然学术新技术也层出不穷,但如果习得核心技能,职场瓶颈来得并不猛烈。
Politics 路线:这条路线,是从生产力岗位转入生产关系岗位,从面向系统到面向人,一般来说就是各种管理岗。这条路性价比高,竞争也激烈,要有意识地构建好自己的能力,才有机会进入。
PPT 路线:这条路线,是从写代码的岗位转入项目管理、运营增长的岗位,需要较强的策划和执行能力,比如产品、运营等。
适合于走哪个路线,需要结合自己的性格来定。工程师都有一个共同的性格特点,追求简单,追求完美,思维方式上比较理性和逻辑性,看问题比较趋向于非黑即白。对这类性格的人来说,走技术专家是一条捷径。其面对的是复杂的系统和业务问题,如果能静下心来仔细钻研技术,一定能在某个方面做得比别人好。这个路线对工程师性格的人来说,其实就是在解决简单的复杂问题。
怎么才能成为优秀的工程师呢?
为自己工作 首先,工作不是为老板工作,而是为自己工作。工作是属于公司的,而职业生涯却是属于你自己的。当把这件事情想明白的时候,你的职业发展将会焕发新的青春。在这个过程中,学习如何像企业一样思考,如何提升自己的技能,让公司持续地购买你的服务。
结果导向 公司付钱的目的是要带来价值,你提供的服务最终要能产出结果。公司里面功劳大于苦劳,结果大于过程。正所谓是为过程喝彩为结果付酬。
承担责任 责任与重要性呈正比。当你的责任越大,承担的事情越多,公司对你的依赖也就越重,也更能够让你脱颖而出,得到更好的资源和机会。所以,需要主动的承担更多的责任,不要退缩,敢于顶上去。而且勇于承担责任,做出引人注目的成绩,成为问题的解决者,并不断更新自己,也更容易获得晋升。
即专又精 要揽瓷器活,得有金刚钻。做事情做深入专一,这样提供的服务才能够足够的优秀,才值得别人pay for money。切忌什么都会,但什么又不懂。
团队协作 要相信团队的能量是无穷的,创建一个好的环境,合理的激励措施,好的成长路线。每个人都能激发并释放自己的能量,让优秀的人脱颖而出。
在习惯这方面,大概可以分为3部分:
(1)第一部分是工作习惯,包括提升执行、保持专注。目标就是提升生产力。在这块无论是方法论还是工具系统都有很多的资料,在这里不再累述。
(2)第二部分是学习习惯,包括不断学习、深入思考、持续输出、技术社交。开篇就提到了,码农的技术演变速度很快,所以在这个行业不断学习。学习的重要性大家都知道,而且对于学习的方法大家都各有一套,毕竟都是一路考过来的。但在繁忙的工作中以及飞速发展的技术中,应该学什么以及怎么学还是非常值得研究的。关于学习的这四个习惯是相辅相成的。首先得先有持续学习的主动性,并且不能浮于表面,需要深入本质,思考背后的模式和原理,并举一反三,融会贯通。持续输出是保证深入思考的重要措施,也能够积累自己的技术体系。最后,搞技术不能闭门造车,技术这玩意也需要社交,得接受吸收码神们的指导。关于学习有两个关键点:
第一点是学习方式,我们要谨记的是, 教会他人永远是最高效的学习方式!这个正是费曼学习法的精髓所在。
第二点是持续思考。现在层出不穷的技术,比如RNN、LSTM、attention、transformer再到bert,如果只学算法本身,是永远慢人一步的。而如果深入思考背后的原理,则很容易融会贯通。一旦了解得比别人深,就容易看到问题本质,产生信心,激发乐趣。这时候你的解决方案就比别人漂亮,逐渐建立起了影响力,成为了“专家”。因此公司里的疑难杂症会主动找上门来。你就比别人得到了更多的解决问题的机会,从而更快地提升能力。一旦进入良性循环,你的进步就比别人快,但付出的却不一定比别人多。这时候你已经走上了捷径。
(3)第三部分是生活习惯,包括经常健身等。
能力建设也是一个体系,共分为3个层面:
(1)个人能力:包括系统化思维全面分析问题,拆解问题,逐步分解和执行,并能够有效沟通协调上下游资源把事情做成,拿到结果。事情做完了,需要包装,进行自我营销。
(2)团队技能:当个人的贡献有了,负责的范围越来越多,承担的责任越来越大,这个时候得向上管理,和老板把事情讲清楚,获得老板在资源和人力的上的支持。当队伍壮大了,就需要做出应有的贡献,所以团队管理、提升组织效能就变得重要了。
(3)进阶技能:做完这些后,就会感觉小有成就,马上就踏入人生巅峰了。但这个时候需要停止当前成功的喜悦,延迟满足,对自己提出更高的要求,来获得更大的成功。提到延迟满足,大家首先想到的可能是著名的“棉花糖”实验。但是这里所说的延迟满足,指的是延迟个人在成功上的满足感,不要止步于当前的成功,多给自己加一些挑战。比如这个项目已经拿到了+5%,那还能不能再提升到+8%,或者解决方案能不能更优美一些,约束能不能少一些。这样不断给自己拔高目标,就能让自己获得更大的成功。
最后
那么学好java我们又需要掌握哪些技术呢,学习方向应该是怎样的呢。下面是我分享给大家的思维导图,建议大家收藏
1、高性能架构
2、开源框架解析
3、微服务架构
4、架构筑基
5、团队协作开发
6、B2C商城项目实战
7、设计模式
如果需要以上高清的技术图的话可以关注一下我,加入Java进阶之路:1017599436,以上知识点这边都有相应的视频讲解,同样可以免费获取。
需要获取Dubbo、Redis、设计模式、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术视频教程资料,架构思维导图,和BATJ面试题及答案的,都是免费分享的。
可以关注一下我,加入Java进阶之路:1017599436,即可获取以上相关资料。
不要随心所欲地生活,也不要随遇而安地行走在职业生涯的漫漫长路上。没有明确的方向,你走的每一步都是徒劳的。对工程师来说,没有以不变应万变的方法,唯一不变的就是改变,树立长远的目标,持之以恒,踏实前行,方能达到最终的目标。