程序员职业生涯的关键点是哪些?

不少亲们是一直被公司和技术牵着走,并不是自己在选择技术,而是不自觉的被推到了这个位置上。

殊不知其实入行三到五年的经历对程序员以后的职业生涯有非常重要的作用。

请输入图片描述

蓦然回首自己做软件开发这个行业已经十年了,这十年中我获得了很多:技术能力、培训、出国、大公司的经历,还有很多很好的朋友。但再仔细一想,这十年中我至少浪费了五年时间,这五年可以足够让自己成长为一个优秀的程序员,可惜我错过了,我用这五年时间和很多程序员一样在困惑和迷茫中找不到出路!

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

请输入图片描述

无论程序员也好,软件工程师也罢,叫着简单,领域知识却是浩如烟海。

进入现代互联网阶段,程序员的领域细分到了令人发指的程度,比如 XX 语言工程师,前端工程师,后端工程师,架构师,大数据工程师,安全工程师,运维工程师,移动开发工程师,DBA 等等,这些角色最初都叫做程序员,最终他们像一棵大树,枝条粗壮,蜿蜒生长,然后在树冠分开,并结出了各种各样的果实。同时,每个细分的领域又会衍生出浩瀚的领域知识。

比如编程语言,常用的编程语言就有几十种,静态语言,动态语言,脚本语言,函数式编程,面向对象编程,过程式编程等等,从平台角度,Java VM 上有 Java,Scala,Groovy,Clojure,Jython,Ceylon 等,.Net 平台上有 C#,J#,F#,VB.Net,VC#,ASP.Net,移动平台有 iOS,Android,Windows Phone……

请输入图片描述

即便我们把目光聚焦在一门语言或技术上,Java,你也不可能仅仅掌握它的语法特性和函数库,然后写写业务表单和增删改查就完了。Java 的虚拟机、性能、并发编程、Jit 技术、垃圾收集、集群、分布式、异常、日志服务,还有大量的 Java 平台开源项目,都需要深入了解。

除此之外,一些数据结构和算法也是程序员们应该掌握的内容,比如栈、队列、链表,二叉树、红黑树、B 树,散列表,排序算法,查找算法,最小路径,最小生成树等等……

这么看来,五年的时间其实并不长的呢!

还有一种糟糕的情况,那就是你花费了五年的时间,发现自己并不适合做程序员,虽然这听起来有点悲哀,但也不失为一件好事,因为你还有时间转型啊。

请输入图片描述

程序员几乎可以转型为其他任何角色,反过来却很难。我们听说过很多优秀的产品经理,创业者,管理者最初都是程序员,却很少听说哪个顶尖的程序员是从产品经理转过来的,有吗?反正我不知道。

最后,如果你跟我一样都喜欢java,想成为一名优秀的程序员,也在学习java的道路上奔跑,欢迎你加入java学习群:72030155 群内每天都会分享java最新业内资料,分享java免费课程,共同交流学习,让学习变(编)成(程)一种习惯!

猜你喜欢

转载自blog.csdn.net/qq_28263265/article/details/85061707