黑马程序员技术交流社区

标题: 程序员的选择,工作六年感悟 [打印本页]

作者: Quasimodo2    时间: 2016-10-8 12:46
标题: 程序员的选择,工作六年感悟
前言

很多年前,刚刚从大学毕业的时候,很多公司来校招。其中最烂俗的一个面试问题是:“你希望你之后三到五年的发展是什么?”。我当时的标准回答是(原话):“成为在某一方面能够独当一面的技术专家“。后来经历了几家不同的公司,换了不同的方向,才知道这个真是一个很难的问题。因为兵无常势,什么东西都是在不断的变化,一早的时候看好的东西可能会被淘汰。

(几乎)没有人能够看准技术的下一个方向,因为这个问题实在是太难了,能够做到这一点的你就成为了技术界的巴菲特了。比如说01年加入Google,07年加入Facebook,00年加入阿里巴巴。做到这一点的人肯定有资本也有眼光去做风险投资,就算不做风险投资那么财务自由也是妥妥的。

现在毕业六年,从北京到上海到硅谷,从国内互联网公司外企,看到了公司好的地方和坏的地方,这里只是根据自己的经历写一些大方向选择建议,仅供参考。

哪种编程语言?

语言是每个程序员做出的第一个选择,经常能够看到各种讨论说这个语言NB那个语言SB,其实每个流行语言本身都没有什么问题,因为它们都是来自一群超级大牛的努力。绝大部分的语言之争都是来自于懒惰不愿意去学习新的语言而已,不过那么作为学习的时候,什么语言最重要呢?

我的建议是:

对于你想做的方向,看看哪个语言有最多的成功的项目就是了。比如说你想做前端,就学JS,如果想做大数据,就学Java。对于一些语言如果只是看起来简单好用但是没有什么成功的项目的支撑,那么对不起了会这种语言的平均工资肯定上不去,因为能给出好价钱的公司不太会用这种语言。

另外建议至少会一种脚本语言,比如说 Python/Bash 之类的,能够让你在开发的时候事半功倍。

金钱还是兴趣?

是选择可能让你挣到更多钱的方向呢,还是选择一个自己更加喜欢的方向?

游戏一直是伴随着我学习的朋友,尤其是暴雪的游戏,玩了六年的星际/CS,玩了三年的魔兽,玩了八年的Dota(1/2)。 在大学的时候,做了一些3D游戏的项目,了解关于3D游戏引擎和游戏AI的知识,所以在大学毕业的时候,希望自己未来的事业是能够参与一些NB的游戏,比如说GTA、使命召唤之类的。

校招的时候投了好多公司的游戏岗位,比如说腾讯、网易、还有当时很火的Popcap。为了准备校招,我还装上了好几个网游体验了一下(我不玩网游)。这些游戏低龄化的设计和对人民币玩家的趋之如骛让我感觉自己未来要做的事情是精心设计一套系统然后吸引未成年人上钩,这种感受让我对国内这个行业产生了彻底的怀疑,除开一些独角兽级别的团队(比如说Minecraft、Supercell)能够在游戏性和赚钱中双丰收,其他大部分的网游,特别是手游,都是披着游戏外衣的吸血工具。

游戏行业最大的吸引是薪资,当时市场上最好的薪资待遇,基本上是游戏公司给出来的。当时内心里面很纠结,到底要不要为了五斗米折腰呢?后来看到了云计算、数据挖掘这个方向,对于里面的技术非常感兴趣,也觉得这个方向能够真真正正的改变我们的生活。所以在拿到了某云计算公司的Offer后(比游戏公司能给出的低不少),毫不犹豫的放弃了游戏这个方向。

回头看来,自己当时的选择真的很对,每天上班做着自己不喜欢的事情只是一种煎熬,不管是做什么,只有兴趣才能成为自己正常的动力。而且从长期来看,带着兴趣工作能够让你对这一块的技术迅速的了解,未来增加的收益可以弥补掉当前亏的那一部分,也不会觉得工作那么辛苦,毕竟工作时间占了你除掉睡觉时间的一半多。

开源还是闭源?

首先看看平台是开源还是闭源。比如说做数据库开发的是选择Oracle还是MySQL,做服务器开发的是选择Windows还是Linux。在现在这个时代稍有实力的企业都会选择成熟的开源产品而不会选择闭源软件,因为用了闭源软件等于把自己给锁在里面了。

然后对于你正在做的这个项目,如果它是一个开源项目的话,争取能够为它做出一些贡献,如果能够为成熟的开源项目作出贡献可以让你的简历加分不少。另外一个明显的好处是,如果项目开源的协议是Apache或者MIT之类的话,你跳槽之后也可以没有任何顾虑的用之前的代码了。所以有机会的话,说服老板把你正在做的项目开源吧!



值得说一下,只是把项目源代码放到Github,没有用户的反馈,没有其他开发者的参与,没有版本发布的项目不是一个合格的开源项目。

工作还是生活?

这个是很难平衡的一个地方,整日加班会让你过度疲劳,很难有时间去思考。要知道好的方向的好的代码都需要在大脑比较轻松的状态下得到。过于关心生活容易让人死于安乐,过了几年市场变化之后一裁员就发现自己已经很难找工作了。

个人觉得一个重要的标准是来自于,加班的动机是什么?是老板画了大饼后打的鸡血,是老板不喜欢员工早点回家,还是因为自己真正喜欢做这个事情。如果只是因为老板画的大饼(比如说期权),如果一旦没有实现很容易会心理失衡。如果是老板不喜欢员工早点回家,你最好还是换一家公司吧。

如果加班不是出自于自己内心对技术的热爱,还是最好少加班,因为你在牺牲自己的家庭的生活、精力来做自己不喜欢的事情,完全是得不偿失的行为。

总结

个人最重要的是,在碰到任何选择的时候都要自己独立的思考,随大流的意见往往是最差的意见。多给自己时间去思考,用开放的态度去看待自己碰到的事情。那么这样的选择往往是不错的。

作者: 15738863158    时间: 2016-10-8 14:34
难不难呀

作者: Bast1an    时间: 2016-10-9 13:33
看了文章收获了很多,赞一下

作者: 哦啊啊    时间: 2016-10-9 14:33
先赞一下楼主再慢慢看

作者: 此间的少年    时间: 2016-10-9 16:34
为楼主赞一个
作者: 李鑫246    时间: 2016-10-9 22:14
受益匪浅,感谢楼主分享。真的要认真考虑一下选择。
作者: 三人壹大    时间: 2016-10-9 23:15
开放的态度是什么?目前还体会不到啊
作者: 毛线123    时间: 2016-10-9 23:31
膜拜大神{:2_30:}
作者: 琼华掌教    时间: 2016-10-10 00:02
66666赞赞赞
作者: star皆空    时间: 2016-10-12 00:18
kllftikbuio666666

作者: Kevin_Ye    时间: 2016-10-12 00:58
静静的看完了。

作者: 韩可可    时间: 2016-10-12 03:36
技多不压身,多学习才是王道
作者: LARK    时间: 2016-10-12 08:51
大神啊支持一下

作者: 杨杰锋    时间: 2016-10-12 13:27
先赞一下楼主再慢慢看
作者: Threethree    时间: 2016-10-12 17:32
很好,看完了,有许多感悟,老司机开道

作者: 读书可以当饭吃    时间: 2016-10-12 19:10
写得很好,为你点赞
作者: Young66329    时间: 2016-10-12 19:17
看完收获了很多!
作者: zhangpeng1991    时间: 2016-10-12 19:20
静静地看完
作者: chensc    时间: 2016-10-12 22:09
学习学习!
作者: 一半的留言    时间: 2016-10-12 22:18
66666666666666
作者: 小东先森    时间: 2016-10-13 10:38
分享了经验与心得,六年对于我们这些新人,有点遥远,但又很近,谢谢楼主的分享吧
作者: NOTHIING    时间: 2016-10-13 11:03
说的好深入。。。归结底是你想怎样度过这一生
作者: vhhf1994    时间: 2016-10-13 22:19
受教了  我会努力加油的, 向你看齐,加油了 大家一起进步哈
作者: Dreamkele    时间: 2016-10-14 00:12
知乎上load的吧,貌似看过
作者: LShu    时间: 2016-10-14 00:47
为楼主赞一个
作者: star皆空    时间: 2016-10-14 12:37
好厉害,好榜样

作者: System.style    时间: 2016-10-14 13:12
存着,有空再看

作者: LXD2016    时间: 2016-10-15 23:59
不觉名厉

作者: 海苔    时间: 2016-10-16 23:41
学习了……

作者: wgc    时间: 2016-10-16 23:52
66666666666楼主好赞

作者: liudihua    时间: 2016-10-16 23:56
写的很好,其实作为一个三十而立的人,工作8年了,又重新选择程序员,确实做出了很大的决心,送给自己一句话,既然下定决心了,就不要后悔,加油,努力,奋斗吧!
作者: 菜鸟V    时间: 2016-10-16 23:58
看样子已经是一名老司机了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2