工作五年的经验分享--谈程序员35岁

//2015年3月25日

    当然不是我的经验,今天跟我哥聚了一下,我哥在阿里工作五年的时间,算是个标标准准的程序员,码农。之前有很多关于这个职业的疑问,今天一股脑全部问了一下。下面把这些问题整理一下,可能会有断章取义之处,权当参考,当然,我哥说的也不一定对,不喜勿喷。只希望大家能够正确看待程序员这个职业,不要道听途说,盲目听信。

    大致有如下几个问题和解答

1、程序员35岁的问题
2、程序员每天的生活常态,工作加班问题
3、程序员的压力来自于哪里?
4、程序员的晋升和福利问题
5、程序员的面试

1、程序员35岁的问题

    我几乎是一见面就问了他这个问题,35岁以后程序员是真的没发展么?

    “说35岁以后程序员就被淘汰了,找不到工作的,首先,这个前提就是个伪命题,中国互联网发展才多少年?现在35岁的你可以算算他是哪年入得行?十几年前中国互联网才刚刚发展起来,那时候有多少程序员,现在又有多少?现在国内互联网员工的平均年龄本来都没多大。”

        说到这,他讲了一个事,说是有一次跟一个国外的程序员视频商量一个方案,结果刚打开视频,那边老外就很惊讶,大致的意思是“哇,怎么这么年轻”,意思就是说国外的程序员其实平均年龄都不小,30-40岁的程序员多得很,国内这种大学毕业应届生做程序员的其实年龄都还没到35甚至40岁,所以以“某公司员工平均年龄才28”这种来作为程序员35岁以后没发展的论据,显然是不妥的。

    我:“年轻人学习能力强,体力好,肯加班,35+程序员年龄增长,工资还给那么高,公司会不会偏爱年轻的程序员?”

    “这要看你怎么定义学习能力,我看未必年轻人学习能力强,同样一门新的技术,2、3个年轻人可能半个月也没弄明白,老程序员因为有经验可能几天就搞明白了。谁说的老程序员学习能力差?另外,同样一份代码,无论从规范程度,可维护性,架构,层次上来说,老程序员的功力都是年轻人不能比的,显然老员工的开发效率要大很多,谁说的程序员完全拼体力?我们部门很多重要的代码都不给年轻人写的。至少我们这边没有说歧视的这么明显,如果说你都35岁了还在当码农,技术上还是没有点干货的话,或许你真的不适合程序员这个职业。”

    我:“以前当程序员的人少,或许升职还快,现在程序员这么多,是不是升职很难,如果升不上去那怎么办呢?”

    “确实有这个问题,升职难,我们部门是属于那种出一个bug几百万就没了的那种,代码很关键,我们部门竞争也很激烈,主要是其他人太厉害了,有工大的,还有复旦的,还有一个是法国回来的,他们年纪也不小了啊,都比我大,也都33、34的样子,我都32了。如果你要单说升职的话,确实是有难度,但是公司绝对没有歧视老程序员,也没有说定期开除老程序员。”

    我:“那一般离职的原因是什么呢?”

    “比如说如果你干得不好,一般到年底了会根据绩效评选百分比,如果你落在了部门的后百分之十,那么你的年终奖跟前百分之十的可能都不在一个数量级,干一样的活,你拿的钱那么少,郁郁不得志,自己就走了。公司很少出现那种说你能力不行给你开除了那种,老员工不如年轻人就清理掉更是没听说过,不过倒是有这种情况,有的人可能进来5、6年也没升职,但是有的人进来一两年就升职了,这个有,但是不会因为这个把你开除。”


2、程序员每天的生活常态,工作加班问题

    这个也是我比较关心的问题,为什么程序员的加班这么多,如果以后年纪大了还这么多加班怎么办?

    “这个啊,我每天差不多9、10点到班上,然后就各种开会,要跟XXX协商项目方案,有时候差不多到下午3、4点了才开完会,结果发现自己工作还没做,代码还没写,那怎么办?晚上加班吧,这是原因之一。另外,在公司做项目,并不是写作业,给你个任务,自己做完了就OK了,很多时候你要讲究协作,你这部分做完了,但是你要等其他人啊,人家没走完你也不能走啊。”

    那加班是公司强制的么?怎么看待加班呢?

    “公司从来没有强制过加班,除非是特殊情况,一般情况下,只要你工作完成了,加班都是自愿的,反正我工作这么多年几乎没有领导说过什么晚上9点之前不能走啊之类的。”

3、程序员的压力来源于哪里?

    “压力确实有,比如说你的项目做完了,对结果的验收是比较严格的,毕竟你做的是产品,可能因为你的一个代码的失误,公司可能就亏了几百万,这个结果是直接反映在使用你产品的用户上的,这种压力能没有么?相比在学校做科研,对结果的验收就轻松多了,所以其实在学校读研还是有点混日子的感觉。”

    这点我深有体会,在学校做的项目,感觉真是挺水的,有时候测试完全不考虑可拓展性,一个测试场景测完了就OK了,反正功能是能实现。所以现在的研究生有个缺点,就是考虑问题不够全面,以为实现了基本功能就完了,其实要做的还有很多。

4、程序员的福利和晋升问题

    其实我一直想问,程序员晋升靠什么?技术?or something else?

    “技术强肯定晋升的快,但是有时候也不完全是技术,更重要的是态度,你不能总是任务推动型,别人给你布置任务你能完成,除此之外一点想法都没有那肯定是不行的。有时候要多跟领导沟通。其实还有一点,就是大家技术都差不多,几乎找不出来一个东西是只能你做,我做不了的,换句话说,其实学学都能做,及时刚进公司能力差很多,其实过个一两年就差不多了。比如阿里之前有阿里星人才库计划,入职工资可能要比正常应届高很多,但是后来发现效果并不是很好,主要是没发挥出来,用不上。进来都要现学。”

    说到这,其实想想不无道理,经常在河畔上看到说程序员升职难,其实确实有难度,但是更多的靠的是态度。想起来以前跟一个华为的35岁员工交流过,他就跟我说了一句话:“程序员能晋升的确实不多,但是别忘了,实验室打扫卫生的时候,能帮你一起扫地的,也是少数人。”

    “关于福利啊,我刚入职的时候是P5,现在是P6,现在阿里内部员工工资倒挂的很严重,现在新来的工资都比我高,总共一年加起来有20多万不到30万吧,股票倒是有,算算能有50多万吧。说到这,哎,要是我不读研究生能进阿里的话现在估计就是千万富翁了。以前晋升的时候给发几万股票,现在发的少多了,也就几千股吧。”

    “我:那以后支付宝上市你们是不是又能赚一笔了?”

    “不太可能,现在支付宝员工已经有1万多了,这么多人,就算上市,每个人又能分多少呢?”

    “我:那程序员的职业发展道路是怎么样的呢?你以后在晋升会是什么职位?现在还天天写代码么?”

    “我现在是高级工程师,在往上就是架构师,在往上就是高级架构师啊之类的。现在不怎么写代码了,写代码大概

占到工作的20%左右吧”


5、程序员的面试

    我跟我哥抱怨了一下面试的问题,我说现在面试算法问题好多啊,你们工作会用到那么多算法么?

    “用不到那么多,可能跟我的部门有关系,我主要做业务逻辑,我也当过HR,面试的时候我是没问过啥算法,主要确实也用不到那么多,说实话,刚工作的时候,能给你发挥的部分其实是很少的,大部分都是用现成的,比如说淘宝不是钱用的比较多嘛,有一个money类,这个类全公司都是一样的,没必要每次都重复造车轮子。”

你可能感兴趣的:(在大学-找工作)