程序员混日子不完全手册
昨天收到同事转发的 dtrace 作者解释关于『为何 dtrace 在 x86 上能支持 function boundary trace,而 mips 不行』的一封邮件点燃了我的战斗激情,写了段程序分别在 mips,arm 和 x86 上编了下求证。本想就此写篇微信文章,但琢磨一下还是算了,一来昨天已有承诺,二来这东西放在微信上估计打开率为0。
前天有读者希望我多写点职场的建议,我深感惶恐。思来想去,怎么写都像在熬鸡汤,干脆换个思路,教教大家如何混日子吧。
除了程序员的老板们和公务员(这年头公务员也不好混啊),世界上估计没有一种职业比程序员更好混日子了。
程序员常见的场景一,软件崩溃:
『Tyr,你做的 feature 流量上到 1G 就 crash 了!』
『哦,我看看。尼玛,内存不够了,等着,我马上修好』
如果我是个建筑师:
『Tyr,昨晚设计的楼盘有家人办 party,来了很多人,于是那幢楼坍塌了』
『哦,我看看。尼玛,钢筋放少了。等着,我~』
『等个屁,死伤几十人,你自裁吧』
程序员常见场景二,解 bug:
『Tyr,这有个 customer issue。在 xxx 场景下,网络不通。』
『能复现么?』
『能,blablabla』
『我给你编个版本哈』
『好』
『能工作了么?』
『不能』
『可能是另一个问题导致,我再给你一个版本吧』
『好』
『能工作了么?』
『不能』
......
(第 5 次后)
『Tyr,customer 火很大了』
『我终于知道问题所在了。这个版本再不过,你杀了我吧』
『OK 了』
(之后一封热情洋溢的邮件表扬了 Tyr 的出色表现)
如果我是个医生:
『大夫,我不舒服』
『能复现么?啊不对,你都什么症状啊』
『blablabla』
『你做这些检查,然后我给你开药哈』
『好』
(一周后)
『大夫,我病情加重了』
『啊,哎呀,你这可能不是肠炎,有可能是肺炎』
『啊?得,开药吧』
(两周后)
『大夫,我这病更重了』
『我再看看,从最新的检查看,你这可能是脑膜炎』
『......你把我当小白鼠了?我要告你!』
(之后 Tyr 失去了行医执照)
莫笑,这世界上可能没有比软件工程更不靠谱的工程了。虽有质量保证部门,但出点问题简直是家常便饭,不出问题反而让人惊讶;虽有项目管理甚至监理,可还经常延期。就这工程质量,客户还总能忍,你说怪不怪?
由于软件行业有这么些子特点,所以混日子也比别的行业容易。下面的不完全手册乃我十多年辛辛苦苦累积,您请搬好小板凳,静待我一一到来。
混日子守则第一条:瞒天过海。
这行业不靠谱,所以招人『难』,怎么办,一来给高薪,二来实行弹性工作制,不用打卡。这弹性工作制真是个好东西啊,非常方便咱刷存在感。早上十 点一刻到,晚上七点一刻走。为啥这个时间?来得不算晚,走得足够晚。周六或者周日来公司上上网,来加班的同事一看,哟,Tyr 怎么周末又来加班了?另外,算好老板限行的日子,然后赶在那天正巧七点过一点点到公司,途经老板的办公室不忘赞一句:这么早~
混日子守则第二条:无中生有。
随时保持自己忙碌,各种项目都凑上去充个数,但实际上都在邮件里扯淡,活没干多少。没关系,大家都注意到了你说的话,却往往忽略你干的事。
混日子守则第三条:混水摸鱼,偷梁换柱。
既然混日子,那么绩效必然不好,这时候必须想办法把水搅浑,让自己显得不那么『鹤立鸡群』。具体做法:你跟我讨论 architecture,我跟你扯 performance issue;你跟我谈 performance optimization,我跟你扯 not modulized;你跟我解决 modularity,我跟你说我们要 customer centric,其它的都是浮云。总之牵着你的鼻子走。
混日子守则第四条:隔岸观火。
没完没了地开会是混日子的最佳选择,尤其是各种没有 schedule,没有 action plan 的讨论会。上来就把讨论的方向引到有争议的细枝末节,甚至和议题无关的地方,只要有争议就可。然后就可以坐等会议膨胀,通过一个会议引发更多的会议。让大 家永远都在讨论,但总讨论不到点子上。
混日子守则第五条:树上开花。
要学会营造大场面,大阵势。估计项目时间的时候将一切风险,一切问题都尽可能放大。一个月就能看到成果的项目不好,想办法让其膨胀到半年,一 年。想想看,一个月的项目你延期半个月,那是延期 50%,多不好看;一年的项目延期三个月,才仅仅是 25%,正常。而且项目时间越短,就越好追踪,反之,越难追踪。你要的不是产品的 v1,而是打着 v1 旗号的 v10。
混日子守则第六条:走为上。
一般这么混日子法,换个 detail oriented 的老板就得赶紧跑路。没关系,找家钱多人傻的公司继续混,将日子混到底。
hmm...
说了这么多~
Have you figured out the head fake?
我没在讲行为准则。我在谈文化。不贯彻以结果和产出为准的文化,神马的都是浮云。
Have you figured out the second head fake?
这篇文章文章不是写给程序员的,而是写给老板和即将当老板的人的。
程序员应该戳下面的链接看7 Ways to be a Better Programmer in 2014这篇文章(还是英文)。
本文纯属扯淡,顺带小小地向 Randy Pausch 教授致敬。如果你没听过他的最后一课,在优酷上搜搜,趁着星星还是月亮的那个剧结局了的空档期,看看,就当学习英文了。
最后恳求大家一件事,方便的话上一下腾讯微博,收听『Tyr 在路上』。程序君需要足够的粉来申请微博认证,进而申请微信认证,这样『程序人生』公众号就可以有自定义菜单,能更好地为您服务了。程序君先在这里跪谢啦。