阿里技术专家告诉你:程序员这条路,到底可以走多远?

职场危机感彷佛是每一个人在职业生涯都会遇到的话题,我对这种危机处境和本身曾遇到的问题进行了一番思考, 参考了其余人的一些结论并结合自身的经历,设计了应对的初步方案。经过这篇文章,但愿能给你们一些启发,也欢迎你们一块儿讨论、发表建议,化紧张为动力,让危机变机遇。java

问题分析与定义面试

要解决这个问题,须要从问题自己出发,分析为什么会有职场危机感,以及应该构建哪些能力来进行应对。是否会遭遇职场危机,与职业自己特性有很大关系。而大部分危机,来自于下面两点[2][3]:算法

能力习得速度快的行业,后辈更容易挑战前辈,造成危机感。编程

技能演进速度快的行业,手里的秘籍容易成为废纸,造成危机感,以下图所示:设计模式


图1 技能演进速度快的行业架构

所以,就这两个关键点,对一些行业进行定性分析,以下图所示:并发


图2 常见职业在能力习得和演变象限中的分布框架

从能力习得速度这方面看,码农虽然身处高科技行业,但得益于大量的开源技术和丰富的培训,好比"0基础上手机器学习"、"2周培训助你成为深度学习专家",使得编程变为容易上手的技能,从而致使行业的门槛变低,能力的习得速度也变得很快。另外一个方面,从技术演进速度,确实没有哪一个行业能与之匹敌。机器学习

解决问题的三条出路分布式

解决问题要从问题根本入手,从上面的图中按图索骥,找到让两个演变速度慢下来的出路。不管怎么腾挪,都要从狭义的码农职业转换到宏观的码农职业,前人已经总结了给出三条可行路线,归纳为3P,即Paper、Politics、PPT[2][3]。

图3 3P路线


Paper 路线:简单来讲,可以跟学术界搭上点儿关系,在工业界的title就是技术专家。具体的形式包括栖身学术圈在顶级会议上发论文并与大佬们谈笑风生、或者在技术决策上具备团队影响力和话语权的架构师等。这条路线相对来讲门槛高一些,须要的扎实的专业技能和灵活的业务建模能力,年龄和经验每每是优点。虽然学术新技术也层出不穷,但若是习得核心技能,职场瓶颈来得并不猛烈。

Politics 路线:这条路线,是从生产力岗位转入生产关系岗位,从面向系统到面向人,通常来讲就是各类管理岗。这条路性价比高,竞争也激烈,要有意识地构建好本身的能力,才有机会进入。

PPT 路线:这条路线,是从写代码的岗位转入项目管理、运营增加的岗位,须要较强的策划和执行能力,好比产品、运营等。

适合于走哪一个路线,须要结合本身的性格来定。工程师都有一个共同的性格特色,追求简单,追求完美,思惟方式上比较理性和逻辑性,看问题比较趋向于非黑即白。对这类性格的人来讲,走技术专家是一条捷径。其面对的是复杂的系统和业务问题,若是能静下心来仔细钻研技术,必定能在某个方面作得比别人好。这个路线对工程师性格的人来讲,其实就是在解决简单的复杂问题。

怎么才能成为优秀的工程师呢?

1. 树立正确的观念并转化成本能

为本身工做 首先,工做不是为老板工做,而是为本身工做。工做是属于公司的,而职业生涯倒是属于你本身的。当把这件事情想明白的时候,你的职业发展将会焕发新的青春。在这个过程当中,学习如何像企业同样思考,如何提高本身的技能,让公司持续地购买你的服务。

结果导向 公司付钱的目的是要带来价值,你提供的服务最终要能产出结果。公司里面功劳大于苦劳,结果大于过程。正所谓是为过程喝彩为结果付酬。

承担责任 责任与重要性呈正比。当你的责任越大,承担的事情越多,公司对你的依赖也就越重,也更可以让你脱颖而出,获得更好的资源和机会。因此,须要主动的承担更多的责任,不要退缩,勇于顶上去。并且敢于承担责任,作出引人注目的成绩,成为问题的解决者,并不断更新本身,也更容易得到晋升。

即专又精 要揽瓷器活,得有金刚钻。作事情作深刻专注,这样提供的服务才可以足够的优秀,才值得别人pay for money。切忌什么都会,但什么又不懂。

团队协做 要相信团队的能量是无穷的,建立一个好的环境,合理的激励措施,好的成长路线。每一个人都能激发并释放本身的能量,让优秀的人脱颖而出。

2. 养成良好习惯,提高执行效率

在习惯这方面,大概能够分为3部分:

(1)第一部分是工做习惯,包括提高执行、保持专一。目标就是提高生产力。在这块不管是方法论仍是工具系统都有不少的资料,在这里再也不累述。

(2)第二部分是学习习惯,包括不断学习、深刻思考、持续输出、技术社交。开篇就提到了,码农的技术演变速度很快,因此在这个行业不断学习。学习的重要性你们都知道,并且对于学习的方法你们都各有一套,毕竟都是一路考过来的。但在繁忙的工做中以及飞速发展的技术中,应该学什么以及怎么学仍是很是值得研究的。关于学习的这四个习惯是相辅相成的。首先得先有持续学习的主动性,而且不能浮于表面,须要深刻本质,思考背后的模式和原理,并触类旁通,融会贯通。持续输出是保证深刻思考的重要措施,也可以积累本身的技术体系。最后,搞技术不能闭门造车,技术这玩意也须要社交,得接受吸取码神们的指导。关于学习有两个关键点:

第一点是学习方式,咱们要谨记的是, 教会他人永远是最高效的学习方式!这个正是费曼学习法的精髓所在。

第二点是持续思考。如今层出不穷的技术,好比RNN、LSTM、attention、transformer再到bert,若是只学算法自己,是永远慢人一步的。而若是深刻思考背后的原理,则很容易融会贯通。一旦了解得比别人深,就容易看到问题本质,产生信心,激发乐趣。这时候你的解决方案就比别人漂亮,逐渐创建起了影响力,成为了“专家”。所以公司里的疑难杂症会主动找上门来。你就比别人获得了更多的解决问题的机会,从而更快地提高能力。一旦进入良性循环,你的进步就比别人快,但付出的却不必定比别人多。这时候你已经走上了捷径。

(3)第三部分是生活习惯,包括常常健身等。

3. 强化技能,提高生产效率

能力建设也是一个体系,共分为3个层面:

(1)我的能力:包括系统化思惟全面分析问题,拆解问题,逐步分解和执行,并可以有效沟通协调上下游资源把事情作成,拿到结果。事情作完了,须要包装,进行自我营销。

(2)团队技能:当我的的贡献有了,负责的范围愈来愈多,承担的责任愈来愈大,这个时候得向上管理,和老板把事情讲清楚,得到老板在资源和人力的上的支持。当队伍壮大了,就须要作出应有的贡献,因此团队管理、提高组织效能就变得重要了。

(3)进阶技能:作完这些后,就会感受小有成就,立刻就踏入人生巅峰了。但这个时候须要中止当前成功的喜悦,延迟知足,对本身提出更高的要求,来得到更大的成功。提到延迟知足,你们首先想到的多是著名的“棉花糖”实验。可是这里所说的延迟知足,指的是延迟我的在成功上的知足感,不要止步于当前的成功,多给本身加一些挑战。好比这个项目已经拿到了+5%,那还能不能再提高到+8%,或者解决方案能不能更优美一些,约束能不能少一些。这样不断给本身拔高目标,就能让本身得到更大的成功。

最后

那么学好java咱们又须要掌握哪些技术呢,学习方向应该是怎样的呢。下面是我分享给你们的思惟导图,建议你们收藏

一、高性能架构


二、开源框架解析


三、微服务架构


四、架构筑基


五、团队协做开发


六、B2C商城项目实战


七、设计模式


若是须要以上高清的技术图的话能够关注一下我,加入Java进阶之路:1017599436,以上知识点这边都有相应的视频讲解,一样能够免费获取。

须要获取Dubbo、Redis、设计模式、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术视频教程资料,架构思惟导图,和BATJ面试题及答案的,都是免费分享的。

能够关注一下我,加入Java进阶之路:1017599436,便可获取以上相关资料





总结

不要为所欲为地生活,也不要随遇而安地行走在职业生涯的漫漫长路上。没有明确的方向,你走的每一步都是徒劳的。对工程师来讲,没有以不变应万变的方法,惟一不变的就是改变,树立长远的目标,锲而不舍,踏实前行,方能达到最终的目标。

相关文章
相关标签/搜索