即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

IT程序员职业生涯巡礼

微信 MacTalk 18℃ 0评论
本文目录
[隐藏]

题图摄影:by David Marcu on unsplash

春节前「攻城狮群」里的一位朋友问我:

明年群里能否分享一下程序员职业生涯规划的内容?从新人入行开始,全方位有重点的提升自己各方面的技能。这样普通人也可以在工作十几年之后成为技术专家或转其他方向等等。

关于这个主题,我觉得可以写一本书。我没有写这本书的打算,毕竟我的职业生涯还长。勉强梳理一下,倒是可行。文章起名为「巡礼」,多少有点回顾的意思。当然,你说我受了村上《没有色彩的多崎作和他的巡礼之年》的影响,我觉得也行。

巡礼之年是由三组钢琴独奏组曲组成的一套专辑,由法兰兹·李斯特(Franz Liszt)作曲。一般被认为是李斯特最杰出的作品,为李斯特音乐风格的集大成之作。第三组曲特别被认为代表了李斯特的晚期风格。

1.一、程序员是个好职业

工作了十几年,到今天为止,我依然认为程序员是这个时代很好的职业。是不是最好,不敢确认,毕竟没离开过互联网行业,就像你只懂中文就很难说中文是世界上最好的语言一样。不过最好的之一,总归是有的。无论程序员自嘲也好,被误解也罢,甚至被其他领域的人黑到了喜马拉雅山的高度,但不可否认的是,大部分程序员都是在空调房里敲敲键盘就有可能冷不丁改变了世界,并且,大部分时候,我们都让这个世界变得好了一点点。与很多职业相比,程序员的投入产出比都算高的,稍有智力门槛,也没比其他行业高多少。而这个时代,给了程序员们大展宏图的机会,给我们足够的自由度去创造我们想要的东西。

至于传说中的「程序员职业病」,其实和程序员这个职业并没有多大关系。越来越多的互联网公司为员工提供了各种福利,免费的健身房,舒适的桌椅,香浓的咖啡,甚至一些娱乐设施。自己不运动,其实很难怪到这个职业头上。另外,程序员的工作也「并没有想象的那么辛苦」,所以,遇到头脑清楚逻辑清晰又喜爱计算机并且没有远大的志向进入其他领域的年轻人,我总是对他们说,来做个程序员吧,这是个能让你的生活变得精彩的职业。

2.二、程序员是一个具备长久生命力的职业

我大学刚毕业的时候,程序员还是一个稚嫩的职业,那个年代,身边的人们没见过35岁以上的程序员。于是很多人告诉我,程序员是吃青春饭的,你在国内见过35岁的程序员吗?我说,没有。

就是嘛,所以要尽早转行呀……

这种话听得着实不少,事实上也真的有很多程序员早早转行了,我没转不是因为内心强大,而是比较单纯。35岁,听起来像光年一样的距离,谁会考虑那么遥远的事情。所以我什么都没想就继续编程了。

35岁转瞬即至,除了过了个普通的生日之外,什么都没有发生。我依然在活蹦乱跳的编写程序,偶尔向周围稍稍四顾,身边的朋友要么在某个技术领域成为行家里手,要么在做产品的同时写书分享,有的设计出了千万人使用的软件,有的则成为了一个纯粹的管理者,经营着上千人的机构。这些人从前是程序员,现在也是。

随着互联网行业的成熟,程序员在成为风口浪尖人物的同时,也逐渐规范和传统化,与其他行业的工程师一样,程序员们在自己的领域有深耕,有转化,有思考,有沉淀,稳步前行。

毫无疑问,程序员是一个具备长久生命力的职业。

3.三、程序员不一定要写一辈子程序

以前人们总是说年龄大了就不要写代码了,或者说写不动代码了。现在多少有点矫枉过正,比如 CTO 怎么能不写代码呢,写代码可是一辈子的事呀。在我看来,这个问题根本没什么可以争论的,一个阶段一种做法。如果你写代码是最有价值的,就去写代码。如果你做产品是最有价值的,就去做产品。如果你去管理公司是最有价值的,就去管理公司。去年参加极客邦硅谷行的时候和七牛云的创始人许式伟聊天,我说老许你还在写线上代码么?老许说,不碰代码半年多了,我需要从更高的层面上去把握七牛的方向、人和事。

老许比我牛得多,是一位非常资深的程序员,热爱编程,可以说写了半辈子代码,即便如此,在这个阶段,显然有比写代码更重要的事情等着他。前一阵子看过一篇文章「扎克伯格开发笔记:打造 Jarvis 的日子」,扎克伯格在文章里写到:

2016年我给自己制定了一个挑战:打造一个像钢铁侠里 Jarvis 那样的家庭 AI 助手。

在这一年里,我打造了一个可以通过手机和电脑进行对话的 AI 系统。它能够控制我家里的灯光、温度、电器、音乐和安防系统,而且这个 AI 还能了解我的品味和习惯,可以学习新的词汇和概念,甚至可以逗我的女儿 Max 开心。Jarvis 是由 Python、PHP 和 Objective-C 编写的,运用了包括自然语言处理、语音识别、面部识别以及强化学习在内的人工智能技术。

扎克伯格是为了编程而编程么,显然不是。除了保持技术的敏感度,他主要是为了了解人工智能发展的现状。通过挑战熟悉 Facebook 的工程师们使用的内部技术,同时了解智能家居。而且,这些工作仅仅占用了他很少一部分时间。

实际情况也是这样,与我一起成长起来的七零后程序员,差不多有超过一半,他们的工作重心已经不再是编码,而是其他工作事务,另外一半则依然以编程为主要任务。这两种状态,都是很好的存在。

4.四、入行三五年

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

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

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

需要五年这么久的时间吗?依我个人的经历,恐怕更长也说不定。无论程序员也好,软件工程师也罢,叫着简单,领域知识却是浩如烟海。进入现代互联网阶段,程序员的领域细分到了令人发指的程度,比如 XX 语言工程师,前端工程师,后端工程师,架构师,大数据工程师,安全工程师,运维工程师,移动开发工程师,DBA 等等,叫法繁复,甚至职能重叠,这些角色最初都叫做程序员,最终他们像一棵大树,枝条粗壮,蜿蜒生长,然后在树冠分开,并结出了各种各样的果实。同时,每个细分的领域又会衍生出浩瀚的领域知识。

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

即便我们把目光聚焦在一门语言或技术上,Java,你也不可能仅仅掌握它的语法特性和函数库,然后写写业务表单和增删改查就完了。Java 的虚拟机、性能、并发编程、Jit 技术、垃圾收集、集群、分布式、异常、日志服务,还有大量的 Java 平台开源项目,都需要深入了解。除此之外,一些数据结构和算法也是程序员们应该掌握的内容,比如栈、队列、链表,二叉树、红黑树、B 树,散列表,排序算法,查找算法,最小路径,最小生成树等等……

这么看来,五年的时间并不长是不是?

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

写到这我必须给你举一个例子,他就是杭州滨江区吴彦祖、MacTalk 出境小王子、二爷鉴书的作者邱岳。这位邱二爷当年也是少年英侠,编程领域的快刀浪子,上学时屡获计算机竞赛奖,毕业后一头扎进了嵌入式编程领域潜心耕耘,最后惊喜的发现,「原来自己真的不是编程这块料啊」,二爷仰天长叹,擦掉鼻涕和泪水,毅然沦为一个产品经理,不也挺成功的吗?

当然,最近他失业了,不过,你能想象他会一辈子找不到工作吗?如果是那样,回来做编程,倒也未尝不可。

关于程序员技能树,推荐一个 GitHub 项目,极客邦组织发起的 StuQ 程序员技能图谱:

https://github.com/TeamStuQ/skill-map

内容之全宛若九阴真经,勤加练习,必有大成。

写累了,今天就此搁笔,关于这个话题,下一篇再说。

转载请注明:CodingBlog » IT程序员职业生涯巡礼

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情
(36)个小伙伴在吐槽
  1. 没有广告,有点不适应。
    2017-02-05 13:57 回复
  2. 二爷老被你@失业
    加勒比海带2017-02-05 14:01 回复
  3. 看到邱二爷那里笑死我了😂
    张旺2017-02-05 14:06 回复
  4. 转眼间,池老师35岁了
    尹锋2017-02-05 14:06 回复
  5. 今天旁边的产品经理过30岁生日.他说伤感比开心多, 没有想到自己已经到了30而立的年龄
    海绵小宝2017-02-05 14:16 回复
  6. 作为工作快三年的人,在最近几个月开始迷茫自己想成为什么样子的人;之前leader一直问我想成为什么样的人,但是每一次都很迷茫很无助,因为连我自己都不知道要成为什么样子的人;越是思考越是迷茫无助
    Rong2017-02-05 14:18 回复
  7. 谢谢 MacTalk 池老师颁这个职业转型奖给我,承蒙池导的提携,获得了许多出镜机会,虽然一直是反面角色,但我还是把每次被黑作为成长的机会。 我想说这个行业还很年轻,第一代程序员才刚刚变成院长或总裁,35 岁以后程序员的模样还有无数等待下一个时代和下一代人去描绘的可能性。而对于探索和构架未知,恰好是程序员最引以为豪的能力。 Dijsktra 在 1972 年领取图灵奖时以谦卑的程序员为题告诉我们,那些伟大的程序员了解自己和机器局限性,从而永远怀着一颗谦卑的心,这应该是种在每一个程序员骨子里的谦卑。 我把这个奖献给我的家人,也献给组委会,谢谢你们,祝大家开工大吉,微笑,右手轻抚摸粉红色的领带。
    邱岳2017-02-05 14:21 回复
  8. 时不时的就有职业危机感,作为初级程序员总感觉自己深入不进去。
    潘 广宗2017-02-05 14:21 回复
  9. 存,发给班上学生看。
    刘焱飞2017-02-05 14:26 回复
  10. 即将4张,还在写代码怎么破?/糗大了
    古虫2017-02-05 14:29 回复
  11. 老师,我眼看就三十出头了,而我还没有成家立业,年后刚从软件开发转到银行业不知道是不是正确,反正现在心里十分没底,因为面试我的大领导回香港去了,新的领导接触起来不太舒服,所以像您这样资深的前辈能有什么给我的建议或者好的调整办法?
    💕2017-02-05 14:30 回复
  12. 眼疾可以击败程序员吗?来自一个眼疾程序员。
    随风铭记2017-02-05 14:36 回复
  13. 还有两年也要奔四了,感觉怕怕的怎么办/折磨
    Zhuang Sirui2017-02-05 14:38 回复
  14. 还未走出校园,赞赏2块表表心意,文科生,想做运营,池老师怎么看
    戴颖异2017-02-05 14:38 回复
  15. 我36,仍然喜欢编程,尤其是看到又开源了啥好项目,跟得到宝贝似的赶紧去琢磨,可能兴趣真的是最好的老师!
    段段2017-02-05 14:49 回复
  16. 我25,产品一年半,想学开发/闭嘴当爱好,比如开发个自己的小程序/可怜
    SiaUun2017-02-05 15:13 回复
  17. 不得不说,二爷的书评很精彩,原来他也是从程序员转型过去的,让我们看到了更多的可能性
    Bulger2017-02-05 15:28 回复
  18. 今年公众号的OKR有吗?/得意
    谢工@GitChat&图灵2017-02-05 16:00 回复
  19. 静静半夜,听着朋友推荐的赵雷,看池老师娓娓道来,满足感满格
    李鹏2017-02-05 16:06 回复
  20. 少年英侠,职场浪子。 算法正如张无忌之九阳神功,可谓资深程序员的内功。 时怀敬畏之心。
    独步清风2017-02-05 16:15 回复
  21. 您的文章适合在地铁看,但是地铁我这5时常信号不好,多次看完打赏失败啊。所以池哥别写太好读,容易成为地铁解闷读物。
    胡江华-hoohoo😄2017-02-05 16:36 回复
  22. 查良铮临终前在《冥想》的诗中写出了自己的内心独白:而如今突然面对坟墓,我冷眼向过去稍稍四顾,只见它曲折灌溉的悲喜,都消失在一片亘古的荒漠。这才知道我全部的努力不过完成了普通生活。
    唐伯虎点蚊香2017-02-05 20:08 回复
  23. 要啥来啥,谢谢池老师。
    李创2017-02-06 00:08 回复
  24. 学习不能按部就班执行,一个设想是:定大方向,不设步骤,每日尽全力涉猎,记录,记忆,温故,检查方向,自然中调整能量分配。
    石月2017-02-06 05:15 回复
  25. 右边宽了,padding相同,应该是webkit-margin-after: 22px造成的/发呆
    开悟的蜗牛2017-02-06 05:26 回复
  26. 老师您好,我是一名大二学计算机的学生,还是一个女生,有时候我觉得我真的在计算机这块儿找不到成就感,有些很简单的程序,一些聪明的同学没一会儿就能轻松解决,可是我就是打不出来。我总是用我不喜欢计算机和不擅长计算机来逃避每学期的课程设计。可是没办法,出身寒门,大学四年经不起我真的任性。老师,希望您能点醒我。
    Lucky 🌸2017-02-06 05:31 回复
  27. 把程序员说的这么好,不赞赏不行/呲牙
    Jarhf2017-02-06 09:58 回复
  28. 庆幸我才25,希望能够stay hungry,直到老去的那天。😘
    吴俊超2017-02-06 11:01 回复
  29. 池老师能给推荐一本操作系统相关的书籍不,虽然编程几年了,对操作系统都不是特别了解,不要特别枯燥的那种,尽量简单易懂的!
    唐伯虎点蚊香2017-02-07 10:22 回复
  30. 没有提到Erlang⋯⋯ Erlang陪伴偶度过了好几个春夏秋冬
    郎哲🏂🏂ah2017-02-08 02:21 回复
  31. 刚毕业时老师叮嘱我们一定要沉下来,前面一两年怎么都沉不下来,非常浮躁。三五年后,终于顺利沉下来,因为大部分人都长胖了。
    Pardo2017-02-08 03:13 回复
  32. 池大居然马上35了,55年的我不禁陷入了沉思
    Mr_KID10182017-02-09 13:29 回复
  33. 我改行去做工头了/流泪/流泪/流泪
    HANKDD2017-02-09 17:42 回复
  34. 应该是我提的那个问题吧?打赏打赏,感谢老池!
    张仁阳2017-02-09 17:51 回复
  35. 看完之后,心情舒缓了好多/呲牙
    王鲁庆2017-02-10 00:30 回复
  36. 本人44岁,写代码、技术规格书和技术文章。
    吴咏炜2017-02-12 00:32 回复