阿里P8架构师讲述:3—5年程序员的发展和出路在哪里?
【大咖・来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》
工作3—5年后,程序员们的成长将迈入一个全新阶段。这既是程序员们的黄金时期同时又是最迷茫的时期,因为大家必须要要思考一下今后的职业方向。
3—5年程序员的发展和出路在哪里?
是继续做技术人,还是向管理者发力?是继续留在大公司,还是转投潜力小公司?如果没有核心竞争力,入行一两年的新程序员朋友是可以替代你大部分工作的,而且薪资还低,要怎么办,何去何从?
中坚力量的程序员们,是相对稳定的一群人,整体跳槽率低于三年以下经验的程序员,但是结合开头的迷茫,这个稳定其实也有点尴尬。
5年的程序员们正在面临的窘境是,必须快速成长,成为技术总监,否则很可能会被0—3年物美价廉的程序员替代。
那么程序员究竟要有怎样的核心竞争力,才能不迷茫,完成进阶呢?
1、从思维角度理解
正确认识自己
很多人会笑?最了解自己的人当然是自己。没错,但正视自己的优缺点,客观做出正确的选择却很难。
有了5年的工作经验之后,你应该非常清楚自己适不适合IT这个行业,并且对于自己将来走技术路线比如成为架构师;还是走管理路线比如成为CTO还是创业有一个大致的思考。
但是这些必须基于你对自己的了解,如果你性格非常内向,不喜欢和别人沟通,但做事有条理,无瑕疵主义,细心严谨,就算不为了工作自己也会写开源代码,并且乐在其中,说明你很适合做技术方向,想要做管理岗位还需要更多磨练。
回归编程的本质
让我们回归编程的本质,重新去理解程序员这个职业。
很多人认为程序员只要能按照需求写代码就可以了。虽然这也没什么错,但以上的工作,即使你完成了,依然很难拉开你与别人的差距,拔高自己。
有三点建议:
(1).用代码解决问题
写代码的最终目的什么?是为了产品的诞生。对产品功能进行分析、思考、代码落地的能力是重中之重。
写代码不是在完成一个任务,而是在解决一个问题,你需要了解清楚这个问题的前因后果,调查清楚同类问题的相同点、关联性、痛点,举一反三,真正去解决问题所以程序员不就能之纠结于代码是否写得漂亮,而应该落实到它是否能解决问题。
(2).理解产品和用户
记得知乎上有一个问题是,程序员应该给产品提建议么?当然应该,不是有句话说,人人都是产品经理吗?何况还是和产品经理并肩作战的程序员。
程序员不仅要提建议,还要给出自己对产品的思考、理解、规划。代码写出来的是是实实在在的产品,只有理解产品和用户才能真正生动起来。
(3).商业思维
我们要从更高层面去看待和理解编程的工作。
我国不像美国那样有那么深的技术积累,在技术创新方面的能力远远落后于它,所以我国的互联网产品更多是商业模式的创新,而非技术创新。
程序员所掌握的技术的淘汰速度可能还没有商业模式淘汰的速度快,商业模式的快速进步和更新必然要求技术能够快速更新以支持其发展。
2、从技术方面入手
在BAT这样的公司里,商业上的变化非常之快,要求技术体系能够适应这样的变化,直接导致了几乎所有的架构体系都不停地往通用性、扩展性方向发展,都以提供商业能力为自己的最终目标。如果没有商业思维,如何去理解和更新庞大的技术体系呢?
技术为商业服务、商业推动技术进步,这是互联网公司的基本法则。商业思维的一个体现,可能就是前瞻性了。能看到未来的技术需求和发展方向,你就是行业专家了。
现如今互联网最火十分新的技术知识有哪些呢?
根据阿里巴巴的面试入职标准定义
1.架构师筑基专题
(1)并发编程
并发编程几乎是所有互联网公司面试必问问题,并发编程是Java程序员最重要的技能之一,也是最难掌握的一种技能。它要求编程者对计算机较底层的运作原理有深刻的理解,同时要求编程者逻辑清晰、思维缜密,这样才能写出高效、安全、可靠的多线程并发程序。目前网上没有系统的全面的并发编程学习大纲,我搜集了很多资料总结出来一个最全面的学习大纲:
(2)JVM性能调优
性能一直是让程序员比较头疼的问题。当系统架构变得复杂而庞大之后,性能方面就会下降,特别是阿里巴巴这样的一线互联网公司最为注重,因此想进入阿里,性能优化一定是要去深入学习与理解的一环,本人在性能优化这一块虽然不能算专家,也可以自信的说是精通了(注意:自己的简历上一定不要写精通xxxx,要不然面试官会怼死你。好在本人这一块还算自信)
(3)网络编程和高效IO
(4)Tomcat进阶解析
(5)MySQL深度优化,Linux基础及进阶以及设计模式实战
2.开源框架解析专题
阅读、分析源码是程序员最基本的码代码能力也是码农的根本所在,学习经典源码中所用到的经典设计思想及常用设计模式,能够帮你了解大牛是如何写代码的,从而吸收大牛的代码功力。在阿里面试中,MyBatis,Spring等框架的底层原理是经常会被问到的
3.高性能架构专题
阿里巴巴有很多大团队,这种大团队里有很多小团队,到小团队之后,做的业务都不相同,如果想立足成为一线互联网公司中的全能选手,最主流的分布式架构中有很多知识都是必须要去了解与学习的。并且在阿里面试过程中,面试官会问到实际应用场景的问题:比如微服务化、用户量、并发量、业务复杂度以及可扩展程度等,这里不多赘述。本人提供一个分布式架构的学习思路也是自己目前还在学习中的体系:
(1)分布式架构思维以及分布式协调和分流
(2)异步与消息中间件
(3)缓存和Nosql
(4)高可靠数据存储以及分布式常见场景解决方案实战
4.微服务专题
微服务是现在互联网架构技术中最火热的话题之一,也是本人目前正在学习研究的方向。在阿里面试过程中,面试官很少会问到关于微服务相关的问题。但作为一名开发者,一名有技术梦想的程序员微服务架构是现在必须要去了解的主流技术
(1)springboot,springcould,Docker虚拟化技术
(2)dubbo应用及源码解读,RPC原理
5.DevOps(架构师工具箱)
6.B2C商城实战
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
程序员是吃青春饭的?一张图道尽程序员的发展方向
【大咖・来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 进入一个行业,开始一份工作,不论在最初的时候,你是因为喜欢还是被动接受,或多或少的都会成为你一段时间内为之奋斗的事业。 边工作边迷茫也许是大多数人的常态,觉得这份工作不适合自己,可又不知道应该去做什么;喜欢着自己的工作,却又不知道怎么进一步提升,内心难免焦躁。尤其是随着年龄的增长,更希望能够在事业上有所发展。 有人说,程序员真的只能吃青春饭,企业在招聘时会在意程序员的年龄,大龄程序员一旦离职找工作就会变得艰难。面对年龄很多程序员都表示束手无策。 其实,程序员其实也和其他职业一样,干的越久技术越熟练,经验自然更丰富。如果你的年龄和你的薪资不相符,你就应该考虑是不是年龄上去了能力却没上去,你所求的薪资和你要求的岗位,要让企业觉得你值这个价,自然不会被淘汰。 如今程序员越来越多,应该怎样规划自己的职业道路呢?程序员的出路在哪呢? 一张图道尽程序猿们的出路: 对于程序员的工作出路,有以下几点建议: 20-27岁:技术积累阶段 假设本科22岁毕业,那么工作的前5年对你来说是打基础的阶段。在这5年时间里面,你要积累足够的代码量...
- 下一篇
微软发布Visual Studio 2019首个候选发布版
【大咖・来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 微软正式公布了 Visual Studio 2019 ***候选发布版(Visual Studio 2019 RC 版),这一版本标志着 Visual Studio 2019 开发基本接近尾声,正式版本将在今年 4 月 2 日的微软 Visual Studio 线上发布活动上公布。 微软 Visual Studio 管理总监在博客上称,目前 Visual Studio 2019 RC 版一经可以在正式下载通道上下载,而目前预览通道上还是 Visual Studio 2019 Preview 4。这两个版本可以同时安装。 微软将在 4 月 2 日将正式推出 Visual Studio 2019 的通用版本(GA 版),而 RC 版基本接近完成,微软方面不会再增加新功能,主要着重于 Bug 扫除。RC 版与 GA 版一样,均能得到微软的后续支持。 微软称,目前 Visual Studio 2019 预览通道只保留了企业版本,如要继续使用 Visual Studio 2019 Preview 只需在 Visual Stu...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装Docker,最新的服务器搭配容器使用
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7安装Docker,走上虚拟化容器引擎之路