程序员的黄金五年

Posted MacTalk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序员的黄金五年相关的知识,希望对你有一定的参考价值。

在这个信息像奔腾的大河一样流淌的时代,人们总是期待速成,当我告诉用户需要五年时间来寻找方向、夯实基础和打磨技能的时候,他们往往会露出夸张的表情: 不是只争朝夕么,五年太久了。
所以,我干脆把这五年叫做: 黄金五年。
以我不算精彩的程序员阅历来看,入行三到五年的经历对程序员以后的职业生涯有非常重要的作用,可以说是黄金五年。 互联网时代学习环境开放,资料浩如烟海,很多大学生在走出学校大门的时候,很可能在某项专业技能上已经达到了很高的水准,但是这三到五年的探索,依然是不可或缺的。
很多人喜欢制定学习计划,但这些计划大都无法执行下去。 不是计划出了问题,而是人学习和提升的方式很难按部就班,很多时候我们都是在摸索前行。 就像你今天按计划要耕完一亩田,作业进行到一半的时候,你发现一块土质的异常,于是深挖下去,用镰刀割去杂草,用铁锹铲除泥土,用钻头钻出深洞,最后发现了一口油井。 如果你按照计划耕完这一亩田,可能永远发现不了那口井。
就好像每个人都希望做好职业规划,赢在起点,然后按部就班的往前走,一步一步,迈向人生巅峰。 其实根本没这回事,世界上不存在完美的职业规划。 我自工作以来,经历过不少重大选择,大部分则是被时代的浪潮和机遇推着往前走。 从结果来看,很难说清楚好坏。 因为不够强大,更多时候,我都无法和命运抗衡,只是因为喜欢计算机和编程,就留在了互联网这个行业里默默努力。 当然现在看起来,也并没有比别人努力的更多。 然后遇到一些机会,就迎了上去,仅此而已。
我相信每个人身体里都有某种特质,这种特质让你在某个领域取得成就的可能性远远大于其他,这种特质也能让你异于他人。 但是,人们并不是生来就知道自己擅长干什么的,需要花时间去寻找,找到它,然后去做自己最擅长的事情,这对你漫长的职业生涯是一笔巨大的财富。
那需要五年这么久的时间吗? 依我个人的经历,恐怕更长也说不定。 无论程序员也好,软件工程师也罢,叫着简单,领域知识却是浩如烟海。
进入现代互联网阶段,程序员的领域细分到了令人发指的程度,比如 XX 语言工程师、前端工程师、后端工程师、架构师、大数据工程师、安全工程师、运维工程师、移动开发工程师、DBA 等等,叫法繁复,甚至职能重叠。 这些角色最初都叫做程序员,最终他们像一棵大树,枝条粗壮,蜿蜒生长,然后在树冠分开,并结出了各种各样的果实。 同时,每个细分的领域又会衍生出浩瀚的领域知识。
比如编程语言,常用的编程语言就有几十种,静态语言、动态语言、脚本语言、函数式编程、面向对象编程、过程式编程等等。 而从平台角度,Java VM 上有 Java、Scala、Groovy、Clojure、Jython 等; .Net 平台上有 C#、J#、F#、VB.Net、VC、ASP.Net……
即便我们把目光聚焦在一门语言或技术上,如 Java,你也不可能仅仅掌握它的语法特性和函数库,然后写写业务表单和增删改查就完了。 Java 的虚拟机、性能、并发编程、Jit 技术、垃圾收集、集群、分布式、异常、日志服务,还有大量的 Java 平台开源项目,都需要你深入了解。
除此之外,一些数据结构和算法也是程序员们应该掌握的内容,比如栈、队列、链表,二叉树、红黑树、B 树,散列表,排序算法,查找算法,最小路径,最小生成树等等……
可以说,各个领域的技术用浩如烟海来形容毫不为过,我们穷尽一生也无法掌握其中一小部分。 这么看来,五年的时间并不长是不是?
那我们该怎么做呢? 简单分享几个建议:
1、由点及面建立知识体系。 选一门编程语言、一个技术框架,买书也好,跟着极客时间学习也罢,先做到可以写线上生产程序的程度。 这说明你至少可以通过编程养活自己了。 然后再确定方向,寻找自己的学习和成长路径,补足基础知识,形成完整的生态体系,然后再去选择深入技术,或者是技术+产品的发展方向。 一旦形成加速度,飞轮就开始转动了。
2、优先打磨专业技能。 人们常说先做专才,再做通才,也就是所谓的 T 字型人才,既有某个领域的专业知识,同时知识技能广泛,为人处世,大开大合。 古代开国皇帝大抵都是这种,雄才大略又武艺高强,上马砍人,下马治国,一通百通。 所以程序员必须首先具备专业技能,才能在这个残酷的领域里存活下来,不要没干两年就想着去管理,抛弃专业知识。 翻一翻互联网招聘职位列表就知道了,一百条里面99条是各种各样的工程师,好不容易有一条是管理性质的,一看是总经理,您能胜任吗? 所以,专业技能是需要优先考虑的,等你真正成了技术大拿,自然知道怎么去扩展横向知识。
3、养成持续学习的习惯。 彼得·德鲁克曾说过,“我们必须时常改进、挑战,以及增加我们的知识,否则它将不复存在。 ”要知道知识是有半衰期的,我们拥有的知识每天都在变得过时。 数据、信息、技术每天不断产生,创造和分享自己想法的人也在不停增长。 而且,我们还在不断忘掉自己知道的东西。 事实上,“全世界的专业人士都在增加他们花在学习上的时间,我们需要和他们一样不断学习才能保持自己不退步”。
当然,说了这么多,其实还有一种可能,就是你花费了五年的时间,发现自己并不适合做程序员,比如二爷。 虽然这听起来有点悲哀,但也不失为一件好事,因为你还有时间转型成产品经理啊。 正如我在昨天文章中提到的,程序员几乎可以转型为其他任何角色,反过来却很难。 我们听说过很多优秀的产品经理、创业者、管理者最初都是程序员,却很少听说哪个顶尖的程序员是从产品经理转过来的,有吗? 反正我不知道。
日拱一卒,不期速成。

以上是关于程序员的黄金五年的主要内容,如果未能解决你的问题,请参考以下文章

22岁985/211高校毕业的你,请抓好Java程序员的黄金五年!

Java程序员注意了:奠定你发展的黄金五年,你准备如何把握好?

专科 二本程序员的“黄金五年”该如何规划,如何实现从月薪 一万 到年薪 50 万的转变?

年薪百万架构师首次分享 Java 程序员黄金 5 年进阶心得!

5年时间,Java程序员如何从小白晋升为大牛

JAVA 从菜鸟成长为大牛的必经之路