30岁之后,程序员该向什么方向发展?
QA&1. 初创公司在产品方向的确定上需要考量哪些核心因素?
严清:
我个人认为,个人原因是主因。程序员有这种焦虑是对自己的技术水平不自信,觉得自己的工作很平庸,怕离职后找不到好工作,看不到未来,才有这种焦虑。
如果说到外部环境的话,没有找对公司,没有跟对老板,造成职业发展比较缓慢,这是次要的,主要还是没有主动去寻找技术进步和发展机会。
晁振:
我以前也听说过类似的言论,我觉得环境可能占了一部分原因。但我觉得要坚持去做你所热爱的事情,避免来自外界的影响。
中国IT行业起步较晚,所以可能有程序员吃的是青春饭的偏见,我想说,模特吃的才是青春饭呢。还有人觉得30岁之后能力会下降,脑袋没有那么灵光,没有那么有冲劲了,这也是个人的问题。如果你自己不努力,到多少岁都一样。
以前也有人问我二十几岁再开始编程晚不晚,我的回答是,不晚,什么时候都不晚。
QA&2. 您个人或身边有这样的实例吗?和国外程序员的职场生存状态相比,是否有异同?
严清:
公司里大多数是90年前后的小鲜肉,就我一个大龄程序员,一个大腊肉。不过我是一个特例,因为我是30岁才开始学编程的,首先写了个社区网络系统。大概就这样在家里折腾了一年,然后加入了Teambition,在Teambition写前端,到人多了,前端团队成熟之后又开始写后端,带领后端团队搭建后端系统。
我为什么要做后端呢?因为我之前是做建筑的。薪资高不是最重要的,最主要的是因为我兴趣爱好的驱动,我一直对IT很感兴趣,但是工作入错了行。但总而言之,程序员真的是很吃香的,在地铁上我遇到过两次妹子聊天,第一个说是码农,第二个就很羡慕地说『工资很高』。所以以前调侃码农找不到老婆都是假的。
其实,在Teambition我也面试过几个大龄程序员,感觉他们对新技术了解不多,对原来的技术也不是很擅长,所以没有聘任他们。我想这也是很多程序员焦虑的缘由吧,怕失业后找不到工作。
说到国外的程序员,有很多优势。英语是母语,性格比较外向,社会福利较好,所以没有这种焦虑。(但我并没有与国外程序员直接打过交道)
晁振:
如果放眼国外,50、60岁的程序员大有人在,甚至还有30岁40岁才开始做技术的,其中不乏一些大牛级人物。当然一方面也许和国外的语言环境和福利有关。
但既便你认为自己“上了年纪”跟不上时代的发展,也是因为自己停止学习,而变得与这个行业不相关。所以不要以年龄做为借口。
我是81年的,但是我没有停止过学习,因为我知道还有那么多年轻人比你优秀,你有什么资格不再学习?而且我是做前端的,很多人知道,前端越来越难,新技术新工具新框架层出不穷。今天AngularJS还很热门,明天就出来个React。所谓再不学习就老了,活到老学到老,只要保持足够的热情,足够的兴趣,学习学习再学习,你就永远不会落伍,而且你还有这么多经验在手里,怕什么?
QA&3. 专注coding还是走向管理,程序员职场规划如何抉择?
严清:
我是选择了偏向 coding,但还是要做一定管理,我要带领小伙伴们提升技术,要推进公司的技术水平,这些还是需要管理的。可以说是管理技术不管产品。
对于各位而言,未来怎么走,还得看个人兴趣,跟着兴趣走不会后悔。如果喜欢做coding,就一直写;如果觉得coding没意思,走向产品销售都挺好的。
对于像我一样的普通大众来说,职场规划没必要做太远,因为 IT 变化太快,10年就大变一次。对个人来说,要不断学习,拥抱变化。
当然如果意志坚定、执行力强的牛人,如孙正义那样能做出人生 50 年规划并且实现的,另当别论。
总而言之,跟着自己兴趣走。
晁振:
以个人经验来说,都可以,主要还是看个人。我虽然已经是商派UED的leader,但其实这是被迫的。主要原因是因为一年前团队其他人都一个一个离职了,leader也走了,新人又接不上,所以不得已交到我手上。其实一开始我是拒绝的,因为你不能让我做我就去做,我是做前端的,对管理一窍不通,也没有想过要去做管理。15年4月的时候,我的上司老X说:你只顾技术钻研,管理跟不上,所以决定把你升为UED总监,屁股决定脑袋,希望升职后能有更多的发展。
不得已在此之后,我真的努力往管理这方面在走,现在已经不搞具体项目,只做框架,以及规范和标准的建立。但是,项目中有些搞不定的事情还是来找我,所以往往我成了最后一根救命稻草。当然并不是我技术有多牛,而是我呆得最久,大家都熟悉我。如果你现在再让我选一次,我肯定还是会去选技术。
所以,如何选真的要看个人。如果对管理上有兴趣,又有这样的机会,就放心大胆去做,大不了失败了回头再做coding;如果你想做技术大牛,没问题,相信自己一定能做得到。最怕自己不知道自己要做什么,没有职业规则,对自己的前途一片迷茫。
QA&4. 开源是否可以提升程序员技术含金量,对职业发展有什么帮助?
严清:
开源应当是程序员技术生涯的精神家园,开源提升技术含金量肯定是必然的,对职业发展也绝对是正能量。
特别是到今年,国外的大公司都是在用开源的方式做技术,尤其是基于Java和Go语言的牛逼项目。
我们小公司创业公司,或者大公司都可以直接拿来使用。
我觉得做开源有2个好处:集思广益和精雕细琢。让大家来贡献并且促使对自己的代码精雕细琢,使之变得更完美。
晁振:
开源可以改变世界,Linux就是一个例子。假如你能有一个被人喜爱和传播广的开源项目,那你一定会被别人刮目相看。退一步讲,即使你自己没有这样的开源项目,但是如果能参与到开源项目中为其贡献代码,也是值得一说的事情。
提到开源,Github大家都知道。商派有些产品的前端框架用的是mootools,用得人比较少。有一次我在Github上找到一个mootools的插件,很久没维护了。但是使用过程中发现一些问题,反复测试确认后,怀着忐忑的心情,我向原地址提交了commit,没想到他很快就合并了,并且向我表示感谢。当时的心情无以言表。当然我本身也有几个开源项目。最近刚开源了一个移动端前端框架,还在测试,目前已经用于实际项目中。
还有,技术博客也是一种开源,从某种角度也体现了程序员的技术能力和分享精神。
我的UED团队每周都有技术分享,目的是让他们在分享的同时,学会知识,加深印象,也让其他人受益。
QA&5. 在选择团队时,更应该看重哪些因素,才可以给自己的vc和“钱途”加值?
严清:
这里就有两个方向,一个是被选择,一个是选择。
如果是“被”选择,如果是为了学习,当然是要进入有牛人带的团队;如果是为了工作,就是自己技术能力相当不错了,要选择自己能施展才能、做出贡献的团队。
如果是团队选择人的话,我通常是选择学习能力强、有技术热情的年轻人,因为这种人都有希望成为大牛,或者只有有一技特长,能填充团队技能树空白的人,比如写Java、C的。
晁振:
选择对个人发展提升大的团队。
因为我们一直在招前端和视觉设计师,所以我最近面试过很多人,当我问到,你们对团队有什么样的期待,或想要团队给你提供什么样的支持时,很多人对我说:我想要有大牛的团队,希望有大牛来带我,以前就是因为没有大牛,无法提高,遇到了瓶颈。
当然,大牛固然重要,自己的学习能力和能动性更重要。不要老想着抱别人大腿,这样你永远会落在别人后面。
还有些人选择团队只是为了福利待遇,但是如果不先提升自己的价值,如何要求升职加薪呢?
其实这个问题我也在团队里说过:我是追求完美的人,平时对你们要求也会高一些,哪怕你以后要跳槽,出去找别的工作,我也不希望你在这里把工作荒废掉。大家出来工作,每个人都有不同的理由,养家糊口、吃喝玩乐或者追求人生理想。
我觉得不管为了什么,一定要有工作的动力,保持一颗永远向上的心,这样,年龄对你来说算得了什么呢?
Q & A1、针对个人coding,深度发展好还是广度发现好?
严清:
我个人觉得还是深度发展好。你可能要了解一些东西,但是只要了解就好。然后你会发现有些你喜欢的事,可以深入进去。通常你喜欢的就是对你有帮助的东西,然后深入了解后就能真正把这个东西变成使用了一个东西。
Q & A2、大牛们怎么看待加班?
严清:
我们公司是弹性工作制。我经常是去的最早的,通常也是八点左右到公司,反正你下班也没个固定的时间点。对我来说我不觉得是在加班,只是在做自己喜欢做的事情。
关于怎么看待加班呢,我也有一点想法。我之前确实是加班比较多的,那个时候自己非常有干劲,一直想要往前冲,什么东西我都想涉足一点,所以就加班比较多。
另外,程序员晚上工作比较有干劲。因为白天可能受打扰的事情比较多,干扰之后思路又需要花费很长时间才能接回来,所以一般晚上工作比较有效率。
Q & A3、请问teambition招研发最看重的是哪点?
严清:
最看重学习能力和技术热情度,说白了就是看你能不能成为一个技术牛人。通过你的作品和日常生活来看。
Q & A4、作为年轻的前端我一直吧最近的目标放在BAT,这样做是否有必要?
晁振:
其实这是一个职业规划的问题。你有了一个大的职业目标,比如说你想进BAT,那么你就把自己的这个大目标划分为几个月或一个月能实现的小目标,然后把这些小目标一个一个去突破,当你回过头来再看之前的自己,会发现我一下长了这么多,然后感觉自己又离目标近了一步。
Q & A5、现在前端在公司里面地位怎样?
晁振:
我可以很负责任地告诉大家前景非常广阔。
Q & A6、针对个人有什么方式方法提高自己学习能力呢?多看书、读书和交流么?
严清:
关于提高自己的学习能力,我觉得要么就是自己自制力很强,要么就是兴趣驱动。像我来说可能就是兴趣驱动,你兴趣在这里,那么你所有的精力都会投入进去,学起来也很快,都花在学习上面。
Q & A7、如何把控新技术在生产环境使用的一些风险,包括开发成本,维护成本等?
严清:
首先你得明白自己肯定要完全把握这种新技术,完全能够hold住,才能用在生产环境,否则就是要花时间去摸索,把它做好。
Q & A8、计算机硕士毕业选择做前后端开发工程师,还是做机器学习等算法工程师?
晁振:
回答一下前端需要掌握什么技术。我的观点是一定要掌握最基础的,比如说html CSS,特别是html和CSS结构层和表现层的东西。如果你了解得比较深入,你做别的也会得心应手的。
不知道计算机硕士怎么选择呢?因为我也没有学过算法。
还有,前端对数学能力的要求越来越高了,如果有必要的话,我可能还是会去学一下离散数学。
Q & A9、现在是公司前端的小leader,但我发现现在部门管理事务太多,需求沟通频繁,占用了大部分时间,都没时间去学技术了怎么办?
严清:
关于管理没有时间学习这个问题,我觉得就是要使得沟通变得高效,要懂得如何放权,该谁做的是让谁去负责,然后就手把主要精力放在带领大家共同进步这个方面上,不要自己去包揽所有东西。等这个状态变好之后,自己肯定有时间学习更多东西。
Q & A10、上海的互联网氛围和北京比怎么样?
严清:
互联网北京肯定是老大,然后上海最近几年也变得越来越好了。就我个人而言我认为北京是比较虚的,然后上海是很务实。
上一篇:为什么你有10年经验,但成不了专家?
下一篇:程序员要保护好自己的胃