首先说开发,我个人在做开发的时候,蛋疼点主要有以下几个。
1. 7 24 on call
只要线上有问题,一定会有电话打进来。凌晨两三点也不是没有可能,而且很多时候,这些问题未必是你的锅,很有可能只是因为某某项目的负责人上有你的名字。

这点我想应该大小公司都有,之前和蚂蚁的同事聊天,他给我吐槽说他凌晨起夜已经成了习惯。因为好像蚂蚁到了晚上还有很大的流量,经常hbase抖动,每次抖动都会有电话打过来。
不仅工作日如此,周末、假期都必须响应。所以基本上电脑随身携带是肯定的,哪怕是过年回家、出国旅游基本上也都要带着电脑。而且根据墨菲定律,千万不要有侥幸,我侥幸过两次,都中招了。最夸张的一次,在香港太平山上拿着手机看代码。
什么?线上故障的时候,你睡得太死了没听到电话?
Emmmm,轻则被leader说上几句,重则,可能你需要准备下一个offer了。
2. 大促、熬夜
只要是电商公司,没有不大促的,只要大促,没有不要熬夜的。
大促意味着巨大的流量,自然对系统的稳定性是一个顶级的考验。就拿双十一举例,你以为只要在双十一当天多准备几台机器就好了?too young,双十一之前压测的次数不会少于两次,由于害怕系统故障影响不好,每次压测一定是凌晨。
就算两次压测好了,两次压测加上大促当天的值班,至少每次大促都需要熬三天夜。每次熬夜,至少要两三点才能睡觉。
来来来,你告诉我,这样的大促一年有几次?
光数的出来的大促就有四次,321, 618, 11.11, 12.12……
3. 肝deadline一时爽,一直肝deadline……
我自诩是一个工作效率很高的人,但是做开发的时候,肝deadline也一样是家常便饭。
肝deadline的原因很多,很多时候并不取决于自己。比如刚接手项目不熟悉,有些陈年旧坑需要填,以及产品安排需求不合理,或者是老板不正常期望等等。
尤其是当多个需求一起deadline,并且被测试和老板疯狂cue,以及还要肩负回答运营问题的时候,我相信,光凭想象就可以理解其中的酸爽。
4. 其他问题
除了上面三点之外,其他蛋疼的点也很多。不过相比之下没有那么严重,所以我就放在一起说了。
比如大多数公司文档都不健全,接受陈年项目一定会采坑,往往还不小。
比如经常重复性工作,今天增删改查,明天改查增删。面试的时候高并发、分布式,进去工作之后curd。经年累月没有成长,如果是大公司的话,很多人干几年也没有过从0开始真正搭建项目的经验。
比如产品或者运营或者是老板不好沟通。要么是不懂技术沟通成本很高,要么就是无脑强势,不懂装懂,我不管你觉得,我要我觉得。
吐槽完开发,再来说说算法。
说起来算法高大上,其实很多开发存在的问题,算法同样存在。我也来列举一下算法岗一些蛋疼的点。
1. 理想林志玲,现实罗玉凤
很多人被算法岗吸引,就是觉得算法岗高大上,机器学习,人工智能。但其实真正从事之后,会发现根本不是那么回事。
如果在小公司,整天为数据发愁,不是这个数据没有,就是平台或者工具稀烂。如果在大公司,数据、平台、工具都有了,但是每天当SQL boy。你和业务谈算法,业务说明天上线,先统计上一版。老板整天告诉你,我想看这个、这个和那个,你去帮我跑一下。
你想说抽空能把某个模型优化一下,结果发现手上排的SQL根本写不完。
2. 我知道这样不行,可是为什么呢?
做算法的过程,很多时候是一个和自己较劲的过程。
因为模型和开发的代码不同,开发用代码实现的功能结果是明确的,原因是可追溯的。但是模型不是,经常在别人场景下效果好的方法到你这里一团稀烂。特别是你老板报以期望的方法,你很难解释。。
有些老板和产品会觉得用某某方法,能不能找到问题的原因呢?甚至还经常会有人让你拉几笔数据出来看一下。
大数据时代,只有相关性,没有因果性,但这个道理,很多人就是不懂。嗯, 有时候你老板也不懂。
3. 外界过度的期望,让你迷茫,一些人的牛逼,让你不知所措
也是因为现在算法太火了,很多不明就里的人会用仰望的目光来审视。某些时候这个是好事,比如当和投资人聊钱的时候。但大部分情况下,则未必。
比如某些决策者会有错觉,会有幻想,比如会提出一些“我们是数据驱动的公司”口号。口号不是问题,问题是当指标落到你头上。
以前遇到过这么一档子事,公司要给一群不活跃的人发红包,希望算法能识别出发了可能就会活跃的人,给他们多发几块钱,以此来带动dau的提升。
嗯,我们dau小三百万,红包最多发5块,只有几万个,请问用什么算法可以提升dau,在线等……
同样,这行吹逼的情况非常严重,简直章口就来。反正别人不知道你到底怎么做的……当很多人都这么做获得好处,而你坚持底线,一直默默无闻的时候。不说痛苦,至少受点委屈是少不了的。
以上,只是我一家之言,如果言中,请勿对号入座。
最后,世上没有完美的职业,总要有所得有所失。如果你能明白可以忍受什么,不能接受什么, 我想,你一定可以做出不后悔的选择。