在这个信息像奔腾的大河一样流淌的时代,人们总是期待速成,当我告诉用户需要五年时间来寻找方向、夯实基础和打磨技能的时候,他们往往会露出夸张的表情:不是只争朝夕么,五年太久了。

所以,我干脆把这五年叫做:黄金五年。

以我不算精彩的程序员阅历来看,入行三到五年的经历对程序员以后的职业生涯有非常重要的作用,可以说是黄金五年。互联网时代学习环境开放,资料浩如烟海,很多大学生在走出学校大门的时候,很可能在某项专业技能上已经达到了很高的水准,但是这三到五年的探索,依然是不可或缺的。

很多人喜欢制定学习计划,但这些计划大都无法执行下去。不是计划出了问题,而是人学习和提升的方式很难按部就班,很多时候我们都是在摸索前行。就像你今天按计划要耕完一亩田,作业进行到一半的时候,你发现一块土质的异常,于是深挖下去,用镰刀割去杂草,用铁锹铲除泥土,用钻头钻出深洞,最后发现了一口油井。如果你按照计划耕完这一亩田,可能永远发现不了那口井。

就好像每个人都希望做好职业规划,赢在起点,然后按部就班的往前走,一步一步,迈向人生巅峰。其实根本没这回事,世界上不存在完美的职业规划。我自工作以来,经历过不少重大选择,大部分则是被时代的浪潮和机遇推着往前走。从结果来看,很难说清楚好坏。因为不够强大,更多时候,我都无法和命运抗衡,只是因为喜欢计算机和编程,就留在了互联网这个行业里默默努力。当然现在看起来,也并没有比别人努力的更多。然后遇到一些机会,就迎了上去,仅此而已。

我相信每个人身体里都有某种特质,这种特质让你在某个领域取得成就的可能性远远大于其他,这种特质也能让你异于他人。但是,人们并不是生来就知道自己擅长干什么的,需要花时间去寻找,找到它,然后去做自己最擅长的事情,这对你漫长的职业生涯是一笔巨大的财富。

那需要五年这么久的时间吗?依我个人的经历,恐怕更长也说不定。无论程序员也好,软件工程师也罢,叫着简单,领域知识却是浩如烟海。

进入现代互联网阶段,程序员的领域细分到了令人发指的程度,比如 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、养成持续学习的习惯。彼得·德鲁克曾说过,“我们必须时常改进、挑战,以及增加我们的知识,否则它将不复存在。”要知道知识是有半衰期的,我们拥有的知识每天都在变得过时。数据、信息、技术每天不断产生,创造和分享自己想法的人也在不停增长。而且,我们还在不断忘掉自己知道的东西。事实上,“全世界的专业人士都在增加他们花在学习上的时间,我们需要和他们一样不断学习才能保持自己不退步”。

当然,说了这么多,其实还有一种可能,就是你花费了五年的时间,发现自己并不适合做程序员,比如二爷。虽然这听起来有点悲哀,但也不失为一件好事,因为你还有时间转型成产品经理啊。正如我在昨天文章中提到的,程序员几乎可以转型为其他任何角色,反过来却很难。我们听说过很多优秀的产品经理、创业者、管理者最初都是程序员,却很少听说哪个顶尖的程序员是从产品经理转过来的,有吗?反正我不知道。

日拱一卒,不期速成。

想要在程序员生涯内有更高的成就的话,C/C++就是一个既可以强化思维能力,又可以打好编程基础的编程语言,你想要做软件开发,成为核心程序员的话,可以选择学好C/C++。如果感觉自学C/C++编程有困难的话可以湫湫扫下方二维码。这里是编程爱好者的聚集地,欢迎初学和进阶中的小伙伴。希望你也能凭自己的努力,成为下一个优秀的程序员。

属于程序员的黄金五年,把握这 5 年,或将迎来美好的职场生活!相关推荐

  1. 程序员不要以为技术牛逼就行了,这些你得知道的职场潜规则,助你一路高升

    文章目录 一.开门见山 二.初出茅庐 1. 融入新环境 2. 坏印象与好印象 3. 责任与习惯 4. 不懂装懂 三.职场老鸟 3. 多尝试,全面开花 四.30岁程序员的焦虑 一.开门见山 有一天吃午饭 ...

  2. 腾讯程序员失业3个月,送外卖谋生:人到中年,活成职场“狗不理”

    昨天,我在看到一个,哦不,一批蛮让人惊讶的故事. 有一个腾讯的程序员,因为在工作中不争不抢不站队,也没处理好跟领导的关系,常被领导说是假清高,处处针对他,大坑小坑都是他的坑,大奖小奖都是别人的奖,于是 ...

  3. 程序员被PUA的一天有多可怕......35 岁,真的是职场荣枯线吗?

    作为一名刚刚毕业的大学生,走出校园.踏上社会时,我进入了一家令人羡慕的大厂,心中的兴奋和期待可想而知. 然而没过多久,我却发现,当初的豪言壮志已被一点点消耗散尽. 早上 每天到公司后的第一件事是从站会 ...

  4. 程序员进阶的五个瞬间,开头就笑了!

    之前有个讨论:实现同样功能,简洁代码一定比复杂代码效率高吗?有的说,还得看算法,如果算法相同,简洁代码效率应该会高一些.有的说,即使算法相同,简洁代码也不见得比复杂代码效率高,而应尽可能减少循环的使用 ...

  5. 程序员的黄金奋斗时期是前5年 | 专访CSDN博主丁威

    采访嘉宾 | 丁威 编辑 | 张红月 出品 | CSDN(ID:CSDNnews) 或是冥冥之中自有安排,亦或是坚持不懈努力得来,你是因何踏入程序员这个行业的呢?写代码,改Bug,一千个程序员,可能就 ...

  6. 就这样,我走完了程序员的前五年。一路风雨泥泞,前方阳光正好。

    你好呀,我是why. 前几天看到大学母校的一篇公众号文章推送,文章摘要写的是"仅以此片献给2021届毕业学子". 那一刻我才恍惚到:哦,距离我离开校门,喊出那句"混不好我 ...

  7. 就这样,我走完了程序员的前五年...

    大家好,我是乔戈里,今天看到了why哥这篇文章深有感触,分享给大家. 你好呀,我是why. 前几天看到大学母校的一篇公众号文章推送,文章摘要写的是"仅以此片献给2021届毕业学子" ...

  8. 就这样,我走完了程序员的前五年,共勉!

    大家好,我是坤哥,看到江湖人称 why 神的五年技术之路,颇多感慨,分享给大家 前几天看到大学母校的一篇公众号文章推送,文章摘要写的是"仅以此片献给2021届毕业学子". 那一刻我 ...

  9. 程序人生 - 程序员三十五岁瓶颈你怎么看?

    35 岁,职业发展开始遇到瓶颈,有的人已经快写不动代码,也还没有晋升到管理层,个人职业如何发展必是反复拷问过自己的.即使不是自己主动考虑,在目前互联网行业裁员大潮下,中年程序员也有可能被动地被优化掉. ...

最新文章

  1. Struts2+Hibernate+Spring 整合示例
  2. 细说 iOS 消息推送
  3. Django中载入js和css文件
  4. 括号匹配(栈和队列)
  5. PHP获取优酷视频FLV地址
  6. 极客技术专题【009期】:web技术开发小技巧
  7. cap理论具体含义_分布式系统:CAP 理论的前世今生
  8. C#将unix时间戳转换成.net的DateTime类型的代码
  9. 前端学习(1996)vue之电商管理系统电商系统之美化步骤条
  10. Navicat怎么看oracle作业,[数据库] Navicat for Oracle基本用法图文介绍
  11. 3w最简单led灯电路图_Mixly 第19课 光感应灯——光敏电阻使用
  12. 信息学奥赛一本通C++语言——1077:统计满足条件的4位数
  13. deno mysql_从 Node 到 Deno
  14. 七阶拉丁方阵_C语言实例 拉丁方阵
  15. spark机器学习 源码解析及原理分析
  16. STN(Spatial Transformer Networks)
  17. 浏览器主页被篡改解决小妙招
  18. 《遭遇外星人》读书笔记
  19. Firefox,火狐about:config设置详解
  20. 天猫,淘宝,京东收货信息中,自动识别手机号、姓名、省市区

热门文章

  1. centos8.2安装mysql_centos8安装mysql
  2. c语言可以编制出功能复杂的程序,2018级《C语言程序设计》复习题及答案(5页)-原创力文档...
  3. radio 取值赋值 亲测有用实效
  4. android edittext 手机号码,Android中EditText中的电话号码格式
  5. 涡轮增压扫地机器人_帮着做家务,好坏在哪里,科沃斯T5扫地机器人
  6. 互联网日报 | 5月10日 星期一 | 小米成立私募股权基金管理公司;58金融升级为58数科;京东健康推出“家医保”健康险服务...
  7. linux系统it固定资产管理系统包_固定资产管理系统单机版有哪些特点?
  8. 作者:张澄(1979-),男,中国联合网络通信有限公司江苏省分公司互联网部大数据中心总监...
  9. 【JVM】通过javap命令分析Java汇编指令
  10. 【数据结构与算法】顺序表V3.0的Java实现