加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱故事小小网_铜陵站长网 (http://www.0562zz.com/)- 视频终端、云渲染、应用安全、数据安全、安全管理!
当前位置: 首页 > 站长资讯 > 评论 > 正文

程序员该如何过好他的整个职业生涯?

发布时间:2017-03-10 03:51:53 所属栏目:评论 来源:InfoQ
导读:副标题#e# 程序员是一个具备长久生命力的职业。 本文由微信公众号(lnfoQ)授权,作者|池建强 1 写在前面 加入极客邦的第一天就被拉到了「大咖说」的现场,这也是我始料未及的事情。从锤子科技正式离职之后,我享受了一个短暂的假期,随即投入了下一个战场,

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

需要五年这么久的时间吗?依我个人的经历,恐怕更长也说不定。无论程序员也好,软件工程师也罢,叫着简单,领域知识却是浩如烟海。进入现代互联网阶段,程序员的领域细分到了令人发指的程度,比如 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 树,散列表,排序算法,查找算法,最小路径,最小生成树等等……

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

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

5 程序员如何做出好产品?

在很多人眼中,产品经理做需求,程序员做实现,似乎是一对冤家对头,比如最新的段子是这样的:产品经理失踪了,程序员第一时间到警察局报警。警察对程序员说:你先冷静一下,你这样一直笑没办法做笔录。

其实根本不是这样,一个好的产品,一定是程序员和产品经理一起努力协作的结果,甚至,很多技术人员本身就是这个产品的产品经理,有的即负责技术又设计产品,有的干脆是从程序员转成了产品经理。

张小龙在刚并入腾讯的时候负责 QQ 邮箱,那时候他觉得自己应该做一个管理者,产品的事情让团队的人去做就行了。「说老实话,我个人没有太关注它的体验,几乎很少参与到产品的设计中,结果出了大问题」。之后张小龙彻底改变风格,重回一线。「从极简版开始,我真正投入去做一些我自己掌握的产品体验,我怎么说就怎么做,任何一个元素要改都必须得到我的同意才行,我会全程参与到这个产品的每一个功能体验中」。最后始有微信。

据说张小龙是那个时代南方最好的程序员。

马化腾对技术和产品的重视程度也由来已久,他在 2008 年的公开演讲中就说:产品和服务是需要大量技术背景支持的,我们希望的产品经理是非常资深的,最好是由做过前端、后端开发的技术研发人员晋升而来。好的产品应该交到一个有技术能力、有经验的人员手上,这样会让大家更加放心。如果产品经理不合格,让很多兄弟陪着干,结果发现方向错误,这是非常浪费和挫伤团队士气的。

如果你是个程序员,如果你热爱你的正在研发的产品,一定要参与到产品的方方面面中来,彻底了解产品的逻辑、体验、交互和用户心理,每一次版本发布后去观察用户的反馈,收集产品数据,与产品经理反复探讨和确认每一个细节。

事实上,无论产品经理和设计师做到何等的事无巨细,最终软件是由程序员写出来的,这个产品必定天然携带了这些程序员的特质和元素,如果程序员在每一行代码中倾注了自己的情感,这个产品就是个有情感会呼吸的产品。如果程序员只是实现产品的工具,那做出来的东西也是没有生气的,苍白的。

只有程序员和产品经理同时全情投入,才有可能做出最好的产品。

6 专业性很重要,但也别太「专」了

程序员一看就是个很专业的工种,但是正如前面所述,这个领域的技术用浩如烟海来形容豪不为过,我们穷尽一生也无法掌握其万分之一。人们常说先做专才,再做通才,也就是所谓的 T 字型人才,既有某个领域的专业知识,同时知识技能广泛,为人处世,大开大合。古代开国皇帝大抵都是这种,雄才大略又武艺高强,上马砍人,下马治国,一通百通。

所以程序员必须首先具备专业技能,才能在这个残酷的领域里存活下来,不要没干两年就想着去管理,抛弃专业知识。翻一翻互联网招聘职位列表就知道了,一百条里面 99 条是各种各样的工程师,好容易有一条是管理性质的,一看是总经理,您能胜任吗?

所以,专业技能是需要优先考虑的,等你真正成了技术大拿,自然知道怎么去扩展横向知识。

但是您也别太专了,以至于成了偏门技术。我有个朋友一直在国外生活,他的技术栈就是大型机 —— MainFrame,每天和 JCL(Job Control Language)、COBOL 等技术打交道,工作机会不多,但这个专业的人员更少。找工作倒是不难,但是看不到上升的空间,每次换工作都得换城市,为了一个更好的职位,甚至需要从美国辗转到日本,每次被折腾的死去活来,换方向代价有太大,薪水还会降很多,进退维谷。

选技术方向,不要让自己处于这种境地。

7 程序员的跳槽?

跳槽也是一种选择,关键是要找到自己的价值。谈到价值,大家就会想到财富,毕竟每次跳槽大家都希望能挣到更多的钱。凭借工资能够完成足够的财富积累吗?不一定。

财富积累应该是阶段性的,而不是线性的。比如你在很长的阶段里,薪水一直徘徊在两万左右,突然有一天,到了一个不可预知的拐点,月入十万了(注意不是月薪),又或者,股权兑现了,又或者,家里拆迁了,等等。总之,财富的积累不是一点点涨上去的,你可能在很短时间内积累的财富远远超过之前积累的总和,或者说,财富积累也符合二八原则。当然,你也可以等着薪水一点点的涨上去,那样的话,就是说,嗯,基本上最终你也不会有什么财富。

(编辑:我爱故事小小网_铜陵站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读