分类
技术

我厂技术沙龙

其实是我厂老板的个唱……但仍然非常值得看。

近期我厂老板春哥回国,在北京和深圳分别开了一场技术沙龙,介绍他的职业生涯、开发实践、最新成果等等。作为程序员的终极形态,我觉得这两场演讲非常值得有志于把程序员当成终身职业的同学学习。也可以回答很多类似“35岁的程序员应该怎么走”的问题。

先来是北京场:

然后是深圳场:

两场的内容并不一样,可以理解成上下半场。建议顺序观看。

最后说说最近半年来的工作感受。

首先远程工作还是挺好的。虽然光环褪去,负面感受更多更具体,不过对比普通上下班,感觉还是蛮好的。

其次,春哥是很牛的程序员,但作为老板有不少缺陷;公司也同样不完美。不过世上本就没有完美的老板和公司,在 OpenResty,春哥证明了他的想法的确有前瞻性,我们有机会改变未来,所以在这里工作还是很兴奋的。

希望接下来会更好。

分类
互联网

也谈阿里月饼事件

终于,阿里开除了月饼事件中的第五人,而且几乎是由最高层在充分复盘下做出的决定。可以认为这件事尘埃落定。本来这是个热闹,是个谈资,于我没啥切身关系。不过我在很多人的表述中,看到了我不希望看到的东西,所以我决定表达下自己的看法。

后文可能很长,所以先把我的观点列出来:

  1. 阿里开除这五人没有问题。
  2. 不是定量而是定性问题,这五人的行为不涉及到人品和道德问题。
  3. 整件事情是因不了解而产生恐惧,因不了解而产生攻击的结果。施害方是阿里管理层,或者按网络传闻“阿里HR”;受害方是习惯用代码解决问题的程序员。

下面逐条表述。

阿里开除这五人没有任何问题

不仅阿里,任何公司开除任何员工其实都没有任何问题,只要公司愿意承担相应的责任。我不是具体当事人,就不展开了。

作为打工者,无论身处何位,无论跟公司、跟老板、跟直接领导是什么样的关系,都要时刻做好离开这个公司的准备,也必须随时修正自己的职业规划。不要依附任何人,更不要依附某个公司。个人与公司之间,就是简单的雇佣与被雇佣关系,也应该是简单的雇佣与被雇佣关系。不要掺杂个人情感之类乱七八糟的东西。

个人觉得公司不合适,可以跳槽;公司判断个人不适合,将其开掉对公司和对个人也都是最好的方式。此次事件中阿里就是这么做的。

这五人的行为不涉及到人品和道德问题

首先,我要强调,当时执行的是“秒杀抢月饼”,“秒杀”!不是温情脉脉你谦我让,就是谁先抢到谁就赢!那么每个人动用自己的能力增加自己的秒杀机率就理所应当。

我们平时抢东西怎么抢?找个网速更快的地方;多准备几台设备;多找几个同事朋友帮忙一起抢。这和写一个脚本自动去点击有什么区别呢?有人会有人不会?我没有朋友怎么办?我没有多台设备怎么办?我只蹭得到时断时续的网怎么办?“抢”这个事儿本身就是不公平的。

“秒杀”对于当时没时间的人,就是最大的不公平。

再回到“脚本”这个东西上。阿里官方定性是“有牟利目的”,“利用系统漏洞”,“侵害了其它参与秒杀小二的利益”。这点我完全不同意。就那几盒破月饼,还是自己掏钱买,也没人蹲外面等着高价收,怎么就“有牟利目的”呢?至于“系统漏洞”,一个点击脚本叫个屁的系统漏洞啊!黑到数据库里改数据才叫系统漏洞,点击脚本只是作者为了避免自己正常工作被打扰临时开发出来的“效率工具”而已。只是在不懂技术的人眼里,这东西自己不理解,给它按一个自己理解的名称理所当然,最近炒得火热的“系统漏洞”看起来蛮合适,就它吧。于是一大堆不懂技术或者半桶水的人就给它定了性。

然而,一线开发人员脑子里,是怎么想的:

MDZZ,谁都跟你们似的那么闲,上班时间搞秒杀?老子活儿还干不干了。尼玛公司福利还搞花活,随便抽签或者申请下不就完了。哎,没办法,惹不起帮孙子,好吧,写个脚本,随便抢一盒吧。

就是这样。不需要因为抢的是月饼,就从轻处罚。参与者本身不希望攻击什么,只是利用自身能力帮自己争取一些优势,和找人帮自己抢是一样的。写个脚本只是提高自己本职工作的效率,这只是个效率工具,而已。

因不了解而产生恐惧,因不了解而产生攻击

继而,我就得出上面这个结论。

在很多不懂技术的人看来,程序员就像中世纪的巫师一样,你不知道他在干什么,只知道他鼓捣鼓捣鼓捣,就鼓捣出来一个东西,能干很多事情,很神奇。其实大多数行业,专业和非专业之间都有很高的壁垒,只不过其他行业要么成型已久,比如厨师;要么跟现实比较紧密,比起设计师;要么我们其实不关心,比如科学家。程序员这个行业又新,干的事情又抽象,产出的结果又跟其他人紧密相关,于是大家对我们的误解也就越深。

比如,我司的后台由我开发。然则我的同事会通过观测得到一些的“客观规律”,然后拿来跟我争辩,坚信他们才是对的……

所以大家可以容忍代秒,可以容忍多设备秒,可以容忍4G秒,但是不能容忍程序员写个三两行的脚本,走正规途径,秒。因为,“我不会,我不懂”。如果他这样干了,就是“作弊”,就是“利用系统漏洞”。我不管是不是,反正他会我不会,我没法确认他不是,那我姑且用最大的恶意去猜测,那就是“是”!

因不了解而产生恐惧,因不了解而产生攻击。

让我拿祖师爷举个例子。图灵(拜三拜),人类历史上最伟大的头脑之一,将二战缩短了两年的男人,因为同性恋,被强制精神治疗,甚至直接导致他的死亡。

因不了解而产生恐惧,因不了解而产生攻击。

我在担心什么

有本科幻小说,讲未来的,说未来不同行业之间术语的差别就跟现在不同语种之间的差别一样巨大。现实正在向这个方向发展。如何去界定不同行业的人的行为?按照自己的经验去推测?用最大恶意去揣摩?按照传统道德来批判?还是,听听专家的意见,做同行评定?

按照阿里这个做法,甚至还有很多支持的人,“同行评定”可能只是程序员脑中的乌托邦。

科技越来越发展,开源的工具越来越多,程序员可能涉足的领域、操纵的东西越来越多。有些有明显边界,无须多辩;有些则边缘模糊。比如在饮水机上加监控,水开自动提示,我可以比其他同事享用更多的热水,这是问题么?比如我用摄像头监控领导的办公桌,他一回来我立刻跑过去让他先签我的请假条,这是问题么?有个妹子,领导安排她做报表,我帮她用脚本生成了,于是她成功挤掉了另一个妹子,这是问题么?客户有100个表单,销售报价100人・天,我做了个工具,30天搞完了,净赚70天,这是问题么?

所有这些,都是在程序员眼里看来理所应当,甚至很酷的事情。但是到大众眼里,可能就不那么好接受。如果放任对程序员的不信任和攻击性增加,那么将来很可能有一天,我也会因为某个我认为理所应当的事情,被公司开掉。


总结

阿里开人没问题,但理由实在让同为程序员的我难以接受。从不懂技术的角度出发,他们想当然的认为,今天会写几行点击脚本,明天说不定就把公司数据库拷出去卖了!然而在身为程序员的我看来,这两者有天壤之别,完全不可相提并论。

希望非程序员能多听听程序员的呼声。程序员们也不要羞涩,该表达就表达。希望以后程序员的环境更加宽容,不要让我们步步惊心。

祝这五位今后一路走好,该写什么脚本,就写什么脚本。我支持你们。

我单方面宣布鄙视阿里,不会谋求去阿里工作。


吐槽

  1. 阿里这种货色,好意思说别人价值观有问题?
  2. 谁tm上班时候有时间去搞秒杀啊,HR 你们自己工作不上心别牵累别人好么?
  3. HR 你们外包给谁做的破程序啊,吃回扣了吧?
  4. 阿里那个伪造离职谈话记录的 HR 怎么样了?
  5. 我司老板竟然支持阿里,你可是技术出身啊!
分类
互联网

也说两句对“个人与公司”的看法

知乎上这个帖子在程序员届引发了大量讨论,有人挺有人砸。有人说不该加班,有人说不加班能行么?有人说不该攻击公司,有人说不攻击公司将来会有别的小朋友跳坑的!有人说耗子你拿了大把票子说走走了,兄弟们怎么办?我也在自己的地盘上吐两句槽。

(本文仅代表个人观点,与就职公司无关。)

首先表态:

只有弱逼才不敢骂公司,我之所以抨击前东家还一直说现在的公司(点乐)好是因为真的是这样。如果将来有一天这家公司做出让我看不过去的事儿我一定会该骂就骂,该走就走。

喜欢加班文化的领导都是傻逼,认为加班的团队才是好团队的领导是傻逼中的傻逼,认为“阿里(这里只是代称)这么些年做到这么大所以它的管理方式是相当科学的所以加班也是科学的”,那就是傻逼中的战斗逼了。

部门领导的第一要务是帮助公司实现业绩;第二要务是提供稳定的团队。团队成员怎么样和领导其实没什么关系,实际上,领导早点滚把地方腾出来几乎是所有下属的心头想。


做一个真正的理想主义者必须有两个要素:一,保留理想,追求理想,不轻易放弃;二,认清事实,避免为现实所伤。

在这件事情上,理想是什么?作为一个把程序员当成终身职业的人,我认为,是:出卖自己的劳动力,换来合理的收入。就这么简单。但是现实世界很复杂,使得这么简单的想法都不易实现。比如,会有一些人,因为时机因缘或者彼得原理,成了领导。指望这些领导能够见贤思齐与时俱进几乎是不可能的,他们为了刷存在感就会想出各种点子增加工作难度,比如,把“工作态度”作为考核标准——所有这种主观因素强烈的东西一旦进了KPI,好好写代码的日子就没有了。

更有甚者,奉行加班文化。加班这种操作,对于劳动密集型的工厂来说,是有价值的,因为在那儿劳动力就真的是“力”,物理上的“力”,自然人的“力”。里面创造性的东西很少,生产线一铺,只要上足人手保证24小时开工,东西就能源源不断的做出来,投入市场。对于老板来说,就是1+1=2,前面的1是正常工时,后面的1是加班。程序开发则完全是另一回事儿。其中需要大量的思考,大量的脑力劳动,最终落实到磁盘上的,反而是很少的一部分。所以加班在这里毫无意义。你知道我这会儿脑子在想什么么?父母老婆孩子还是狗还是大秘的丝袜高跟?魔兽炉石暗黑三还是LOL还是再也回不去的MC?加班除了空耗大家的时间,没有任何意义。

还有些早早放弃在技术领域深造的领导,对新技术完全不了解,你给他推荐git的时候,他会说,哦,不就跟cvs差不多嘛。这样的领导,很难对知识储备、代码质量、程序架构、开发效率等产生兴趣,在他眼里,三星工程师和五星工程师的区别无非是3+3+3+3和5+5+5+5的区别,再加上前者多半因为人微言轻,看起来更无害更好管理,后者自命清高不好接触,然后一平衡来个15对18,差不多。实际上呢?在开发领域这些点是乘积的关系,简单评估这几点三星工程师只有81,五星工程师能达到625,随随便便将近10倍的差距。

所以现实就成了,如何应对因为种种原因成为领导的傻逼(为了照顾很多人的语文水平我不得不强调一下,我绝不是说所有领导都是傻逼,而是说确实有些傻逼混成了领导)?答案无非就是,提升自己,超越傻逼;珍爱生命,远离傻逼。还有就是,如果碰到题中那些舍得花时间去关注效率,鼓励大家做分享的领导,好好珍惜吧。


这可能是我“傻逼”一词用的最多的一篇文章……