题图:unsplash.com/@aleskrivec
最近阿里的『月饼事件』炒的很火爆,大意是阿里内部搞了个月饼秒杀活动,算是给员工的内部福利,有5个程序员在抢购页面上写了段js,来点击抢购按钮,发现抢了很多,主动上报hr,当天就有4个被离职了。
关于这件事,在我厂内也有广泛的讨论,很多人为被开除的人叫屈,也有很多人拍手叫好,说这叫做no zuo no die。也有一些程序员(或者叫射鸡师)认为这就是价值观问题,应该开除。
至少在我所关注的微信公众号中,对这件事情的观点基本一样,这个事更像一个技术爱好者的本能与天性,认为这个事件并没有恶劣到要开除,认为他们所受到的责罚过于严重。而在今日头条或者微博的评论中却有很多很多是认为他们理应被开除,什么今天可以利用漏洞抢月饼,明天可以利用漏洞把几亿余额宝里面的零头转走……类似这样的言论,让人大跌眼镜。
一般来说观点的不同,和人所在的立场不同有很大关系,比如我,作为一个程序员,我自认为我没法公正的评价这个事情,因为被开除的人也是程序员,天下程序员是一家,我自然会将自己带入其中,如果我遇到同样的事情,我是否会去写个脚本?作为活动的规则制定者,没明确规则,是否真的就是毫无责任?
而作为吃瓜群众,抱着看热闹不嫌事儿大的心情,成群结队为马云粑粑拍手叫好,认为程序员用脚本不公平……而在春节的时候使用各种抢票软件的时候却心安理得。
这件事很火,似乎又把程序员这个低调的群体推到了风口浪尖。
写到这儿,想起在公司访问外网是要申请的,每次申请可以访问外网2个小时,而申请就是去一个网页上点下按钮,作为一天工作十几个小时的程序员,要做多少次这样的重复劳动,而且当要查找东西却被打断思路的时候何其痛苦?这种重复性的工作是不是可以通过自动化完成,不就是网页上点下按钮吗?写个脚本,做个 cron job 很容易就搞定了。但是,说明上明确写了不允许使用自动化脚本,工具等,于是乎直到今天我依然每天要点好几次那个按钮。
也许这就是程序员的从心所欲而不逾矩,在一个既定的范围内,可以随心所欲。
Google 前 CEO 埃里克.施密特写过一本书《重新定义公司:谷歌是如何运营的》,他是Unix系统专家,还是Java语言的创造者之一。阿里巴巴执行副总裁兼参谋长曾鸣还为这本书的中文版写过推荐序 《赋能:创意时代的组织原则》。而赋能,就是赋予员工更多额外的权力,提供一个可以更高效创造的环境,而不是通过打鸡血,来让员工 run run run.
像 Google 这种提倡工程师文化,通过赋能,最大化调动工程师积极性,看重工程师的公司实属难得。越大的公司,越大的团队就越难做到赋能,同时分工的细化,让工程师变成一颗颗钉子,在流水线上失去了创造力,甚至只关注KPI,慢慢缺少了匠心,难以从工作上获得愉悦感。
有幸同时待过小公司和大公司,在毕业之初加入小公司,并待了一段不短的时间,如今又进入大公司,两者之间天差地别。大公司在流程化,工程化,分享,知识沉淀,以及基础设施,工作环境,福利待遇等等方面是小公司无法比拟的,而小公司却在赋能和发挥程序员创造性方面有着天然的优势。
小公司,你所拥有的决策权更多,一个新项目,用什么技术框架,接口如何设计,工程目录结构如何设计等等你都有更多的选择权利;接触的东西更多,由于人少,一个人可能需要担当各种各样的开发角色,从写页面的前端,到和数据库打交道的后端;从提供接口的 API 层,到负责配置文件修改的管理端;从旧项目的维护更新,到新功能新技术的探索研究;从 TDD ,到为测试人员提供一些基础测试脚本……这一切你都有可能接触,因为接触的东西多,所以能有更多机会从更大的方面思考问题,很多可能闻所未闻,但是老板一句话你就要撸起膀子冲上去干的事情,这个时候是最能发挥创造性,最能调动学习积极性,最能提升解决问题能力的时候,很多东西都靠自己主动。
在以前公司和几个同事把这个称为『打鸡血』,但是和老板给你打鸡血有很大不同,因为你的目的是为了做个有点意思的事情,获得成就感,得到学习的满足感,做个东东取悦自己,同时能得到合理的薪水提升,从而改善生活娶个老婆。而老板给你打鸡血多半是说些什么目标,什么有人看上我们的项目,只要做了 XX 功能就一定跟我们签约,说不定 BAT 哪天把我们收购了,这是个值500W的点子,这些云云,在一些『受过伤害』的程序员眼里就是一本正经的胡说八道,这双重鸡血之下,程序员就容易怀疑人生,怀疑现在做的东西是不是对的,进而开始失去激情。
扯的有点远,再说下现在在大公司的感觉吧。大公司,流程规范,基础设施好,组件库众多,很多功能都是有现成组件,拿来使用,不费吹灰之力。而项目上,大多是已经上线多年,盈利情况不错的项目,日常工作就是对其进行一些改版,整体框架架构确定的情况下,一般码工对于大公司来说,就像是一颗螺丝钉,在现有的流水线上不停做着自己的一亩三分地儿,而大公司中80%都是一般码工。他们同样有创造力,只是不一定有合适他们的土壤,因为所能负责,能接触的东西被切分的更细了,所以他们如果想发挥创造力就要跟更多的人合作,但是别人也有他们的 KPI ,没有充分理由配合你的想法,所以在大公司发挥创造力之前需要更多所谓的项目影响力,项目推动力,项目XX力。尽管大公司不停强调跳出自己的职责范围,做什么什么,但职责范围也是所谓的『矩』,同样一定程度上约束了码工『从心所欲』。
不过大公司这种情况也是可以理解的,当公司人数以万为单位的时候,如何扁平化管理都是不够扁平的,大公司发挥创新,就会有内部激烈的竞争,当QQ已经不再伟大的时候,又是有多少激烈的竞争才横空出世了一个微信呢?
如果可以,尽量宽松,不要过分规定早上几点前上班,有些公司总是说弹性工作制,天知道我晚上洗澡的时候还在想如何解决问题,更别说梦到怎么debug时那种痛并快乐的感觉(我承认,很久没做过这种梦了)。
如果可以,给予更多的宽容,人无完人,程序员也会犯错,更何况是构建一个如此纷繁复杂的虚拟世界呢?犯错时,给予更多的宽容,而不是动不动就开除。
不要忽悠,不要打鸡血,不要拿所谓的期权,甚至是各种不切实际的大饼去忽悠程序员。程序员渴望实现自我价值,提供环境,适当引导,给予一些实际的激励。
能让程序员从心所欲而不逾矩的创新,是值得称道的。
以上,扯淡完毕。
建号第一篇,不知为啥,最近总想记录一些所思所想,写写科技与人文,写写生活状态。
谢谢关注,一起成长,找到属于自己的诗和远方。