为何美国程序员工做比中国程序员工做轻松、加班少?

image.png

先问是否是,再问为何。程序员

难道美国的程序员就不加班吗?他们就一天八小时工做,还想来就来,想走就走?非工做时间彻底找不到人?还有什么食物饮料都免费提供?面试

让我来告诉你真实的状况吧,还真是这样的。性能优化

加班文化应该是中美两地最明显的不一样了,造成这种差别的缘由不是一两句能够讲清楚的。我在两个国家都工做过,也在不一样岗位工做过,因此就尽可能从不一样角度来简要说一下。网络

国内程序员加班严重,问题首先不在程序员这个群体。架构

在这里我建立了一个iOS交流圈子:937194184,文件自行下载,无论你是小白仍是大牛热烈欢迎入驻 ,分享面试经验,讨论技术, 你们一块儿交流学习成长!但愿帮助开发者少走弯路。——点击:加入ide

产品层面拍脑壳决策多模块化

产品层面,拍脑壳决策多,美其名曰:互联网思惟、小步快跑、试错思惟,实际上是没想清楚,反正我就需求一提,技术团队来作,上线后成功了我是产品天才,失败了也没啥坏处,找个借口说什么“互联网市场变化太快”也能搪塞过去,或者找个新项目,继续画大饼。工具

国内的产品经理实在是太多了,不少仍是刚毕业的小鲜肉,没有一点经验积累,凭借天马行空的想象力,提一个需求,就能让一帮技术专家为之操劳好几个月去实现,这简直是难以想象的。即便产品经理很厉害,但人数一多,每一个人都要业绩,都拼命想点子、提需求,技术团队怎么能招架得住那么多需求呢。因而就会这些现象:性能

  • 节假日来了,咱们上一个活动,或者节日小彩蛋功能。学习

  • 竞品上了一个 xx 功能,看起来不错,咱们也抓紧上一个。

  • 10个产品经理同时跟你说:这个需求我跟老板对过了,xx 以前必须上线。

产品经理没有想清楚某个功能的价值,或者带来的收益不痛不痒,而技术团队则须要为此付出巨大的心血,也就是加班。固然这也不必定是产品经理的错,国内公司,老板的指令太多了,不说了,你懂的。

在美国这边,产品经理大可能是行业经验很是丰富的人,要么是从工程师转过来,要么是从多年的商业领域经历而后读个 MBA转过来。上线一个功能,通过严谨的理论推演、多轮前期调研、科学的 A/B Test,从提出 idea 到最终用户看到更新,常常耗时半年或一年。不少不成功的 idea 还没面市,就由于数据很差而“胎死腹中”。这样一方面提升了产品需求的质量,另外一方面也给技术团队足够多的时间来设计和实现一个可持续发展的架构。

技术团队话语权低

管理层在作决策时,每每更重视产品更新迭代,而忽视技术的建设。

好比说技术团队有100个小时,老板可能会把90小时都投入到实现产品功能,给技术优化、修补技术债务。因而就会出现技术实现很是粗糙的状况,举个栗子,给你一周时间,实现一个 IM 功能,你还会考虑什么模块化、可维护性、性能优化之类的吗?固然是怎么快怎么来,百度一下有没有别人实现过的代码,Ctrl+V / Ctrl+V,一点运行,诶,跑通了,上线。

因此国内不少程序员看别人的代码,感受彻底无法维护,干脆本身重写一个。

技术老大能跑到老板面前说“咱们先把产品需求停一停,让咱们的技术团队好好地优化一下基础设施”吗?只要他不是傻子,都不会这样说。

话语权低还体如今,对产品几乎没有决策权,甚至不能质疑产品决策,提反对意见,总会被产品经理各类理由挡回来,产品经理有一句话终结争论的尚方宝剑:这是老板要作的。

长此以往,技术债务越堆越高,Bug 愈来愈多,程序员不加班,谁加班?

而美国公司的现象是,技术话语权很是高,一个没想清楚的产品需求,能被技术团队直接打回去。同时,技术团队能够自主地花不少时间在技术优化上面。产品不能按时上线?经理说:不要紧,延后,按照最优的技术方案来推动。有时候你想赶忙上线,提交一段粗制滥造的代码,会被同事鄙视死,被老板骂死。

每一个季度最后一个月,专门抽出精力,来弥补技术债务,产品需求放一边先。

在这样的环境下,短时间看起来效率低,但长期是最高效的。国内是“欲速则不达”,美国是“慢工出细活”。

技术基础设施差

知乎上有一个比较热门的讨论:腾讯的技术建设是否落后?

这不可是腾讯的问题,实际上绝大部分公司的技术基础设施都很是差。

有多少个公司能养一个专门的 Infra 团队?有多少个技术团队能专门成立一个小团队,进行 Infra 优化?即便有,有多少个公司能保证 Infra 团队的成果能在全公司推行?

我相信能作到这样的公司是百里挑一的。

中小公司没必要说,在这样高度竞争环境下,哪有财力养一个不能直接带来 KPI 提高的团队,即便有钱,也没时间搞优化。

而大公司呢,即便腾讯这样的体量,有一个 TEG 事业群作基础设施建设。可是现实状况是,依然没有全公司通用的内部工具,各个团队依然在重复造轮子。阿里算是作的很好的,前几年开始推行的大中台战略取得了显著的成果,解放了各个产品部门的生产力。

计算机程序这种东西,一我的写和一群人写,几千个用户使用和几千万用户使用,是彻底不一样的概念。没有强大的基础设施建设,技术团队越壮大,效率越低,用户数越多,bug 越多。出来混老是要还的,今天没有人关注基础设施,将来就会又无数个程序员为此加班。

而说回美国这边,专门的 Infra 团队几乎是每一个公司的标配了。这也是工程师文化的结果,创始人、高管团队必定有很强的技术背景,走过了不少弯路,因此很是重视基础设施建设这种“重要而不紧急”的事情。

畸形的职场文化

最后再来讲说文化的差别。

美国人很是注重我的和家庭,牺牲本身的时间来给公司加班,这是不可能的。一到下班时间准点走,非上班时间彻底不查邮件。不少公司入职培训就专门强调了怎么平衡工做和生活,其实就是说:下班时间就是你的时间,你有权利不处理公司事务。

反观国内,不知道从何时起,加班就是约定俗成的。还出现了看似颇有道理的人生经验,好比“年轻人就应该多拼一下”,“加班能学到更多东西,对将来也有好处”。

加班,居然成了光荣的、能够拿来攀比的现象,好比说加班到凌晨一两点,拍个照,发个朋友圈,收到老板的点赞很开心。而管理者呢,还就吃这一套,谁加班多、会来事儿,考核的时候就更有好处。

在这种加班氛围下,甚至还出现了“伪加班”。早上十点到公司,上个厕所、看会儿新闻、刷刷朋友圈,就到十一点半了,什么工做也没作,而后准备吃午餐;饭后逛一逛、睡个觉,又到2点上班时间了,写会儿代码、刷刷知乎,一下午又过去了,不少公司有免费晚餐,吃完饭回来7点左右,再写写代码,磨到10点。哦耶,又是充实的一天呢,发个朋友圈给老板知道。

其实一天有效工做时间还不够8小时,但就是“加班”了。

综上,大概就是国内加班严重的缘由。

我以为这也是某个时代特有的现象,谁都没有错,谁也没有办法改变这种状况。在国内这样一个高度竞争的环境下,公司为了生存必须跑快点,我的为了发展必须多作事,毕竟你不作就会有千千万万的人来抢。

等到中国真的发展到美国这样的发达程度,生存的减少了,才有资格谈更好的生活品质。

做为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个个人iOS交流圈子:937194184,无论你是小白仍是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 你们一块儿交流学习成长!但愿帮助开发者少走弯路。——点击:加入

文章转载来源网络

相关文章
相关标签/搜索