开发点击 欧盟IT那些事 关注我们
公告:因企鹅审核规定,本公众号从《德国IT那些事》更名为《欧盟IT那些事》。
四年,我轻轻地走了,正如我轻轻的来。
作者 | 立斯
编辑 | 欧事君
因某些不可描述原因,该厂不会透露全称,全文简称为G厂。G厂仅仅是德国传统顶级大企,比如各类OEM或者供应商的一个缩影。
背景资料:原作者是一名IT专家,离职前在公司内部的员工论坛里发布了这篇长文,引起员工热议。由热心读者爆料,全文为了数据脱敏,略有删减,但尽量保留原意。
在我离开G厂的前些日子,很多人问过我原因,能不能给他们说一些想法,比如:
我为什么离开G厂
我觉得有哪些措施可以让G厂更加吸引IT领域的优秀人才,尤其是程序员们。
我的一个同事最终说服我走前写下这些话,我知道他也曾经为此提过建议,而且他今后也可以基于我的经验,和HR以及管理层继续这类讨论。我想了想,最终同意分享一些建议和想法。请理解,作为我的初衷,也为了将这些变为可能实现的目标,这篇文章里还是会有很多情绪化的部分。请不要介意文中可能出现的“讽刺”,我本意并不是责备某些人或是G厂。衷心希望我的想法可以帮助G厂,在数字化转型的道路上加速前进。
1背景
如果我没理解错误的话,G厂现在立志转型成为IT型公司。公司掌握德国最优资本,拥有聪明的员工,带来了创新,颠覆性的想法,并实现它们。这些给公司带来了声望,也吸引了大量优秀人才。至少在“实现”这一块,公司需要高度专业的软件程序员,这些是把想法变为现实的人。
我的同事们,你自己问下你自己,G厂是否已经成为一个对IT专家具有吸引力的公司了?我这四年告诉我的答案是:不是!
这里我仅仅回顾我在G厂两个部门的工作经历,我没有在其它部门做过。我可以说,我不是那种工作很烂,或者没能力做事的人。公司的工作环境真的很不适合程序员们。当公司高层说我们的软件产品质量不怎么样时,我简直不能再同意了。但我不同意应该从工作层面来改进的这个看法,我所看到的是,几乎所有问题都来自管理层面。
2那些我觉得必须改变的事
开发工具
先让我们从一个简单的事情开始:给程序员他们需要的开发工具!
比如一个MacBook。与在G厂工作的一般程序员薪酬相比,一个MacBook的价格可能仅仅是其年薪的1%(作为一般程序员这个数字夸张了,按MacBook2k-4k的售价来说,2-5%较中肯,该专家可能年薪非常高 )。但MacBook会让你的开发工作变得更容易,除了关于钱之外,也关于对员工的激励:如果你肯定某个程序员的工作,你就必须给他好的工具。反过来说,如果作为程序员得不到称手的工具,他会觉得他的工作得不到别人的肯定。
帮助员工职业成长
现在回到G厂出品的软件产品的低质量问题上。在对软件开发人员的培训和教育上,我看见了巨大的需求。G厂从德国大学每年招聘了大量的优秀毕业生,然后却让他们在导师指导和学习方面忍饥挨饿。这就是为什么在G厂,极少有优秀的程序员和IT专家,因为他们可能早就跳槽了,或者进入了管理层。
我所知道的是,G厂从来没有面向程序员的职业晋升路线!
这导致程序员们可能会一直被卡在初级职位上很久,而没有职业晋升或者成长为IT专家的机会。
这样导致了G厂的管理职位配备了大量不适合该职位的技术人员。以我的经验,从两方面看:
他们在人事管理上真的不行,也不能胜任他们自己该做的工作。
因为他们技术出身,所以他们仍然认为他们可以做出正确的技术决定。
而且他们的工作被其他很多琐事占据了,他们的能力也会随着时间的流逝而降低,而他们却没有在决策过程中反映这一点。所以,如果G厂想要培养优秀程序员,请提供正确的导师(Mentoring)机制,提供培训,帮助新手成长为资深人员。请给程序员们提供真正的职业晋升路线,让其有足够的魅力吸引程序员保留在技术路线上。
也请停止这个想法:仅仅只有承担管理责任才能获取更高薪资(技术路线也可以!)。
个人市场价值
某些时候我意识到,如果继续留在G厂,对我来说跳槽可能会变得困难,因为我没法从公司学习到新的相关技术。举个例子,我最后在G厂IT部门的工作是DevOps。而这个部门DevOps的工作还停留在大量人工手动操作,并且主要使用老掉牙的软件。而此时,我们周遭的一切都在围绕公有云在发生巨大变化,比如应用Infrastructure as a Code。而我在G厂学到了啥,无非是学会了如何联系某个同事去给你开通防火墙,或者如何填写Excel表格来手动执行Jira流程。而这些不厌其烦的琐事,充斥我的日常工作。
所以,当我申请另外一家公司面试时,这些G厂让人头疼的流程能当作有用的工作经验吗?我把这个问题留给有兴趣思考的读者。
我一个好朋友曾和我说:“让人悲哀的是,看着G厂每年从最好的大学招聘了非常优秀的年轻软件开发人员,却让他们每天去手动填写Excel表格,然后制作PPT。”
我需要再次强调这一点,在这样的环境下,除了受虐狂,没有人会愿意留在G厂做技术工作。我所在部门是幸运的,看起来仍然有不少人还继续工作,对他们,我致以我最崇高的敬意!
软件质量
另一个我遇到的问题是关于质量管理的错误的管理导致的质量问题。我认为自己是一名质量驱动人士。所以当我第一次听说G厂有专门的人来负责质量(QM)时,我的想法是:wow!我要和那些人一起工作!
因为他们可以帮我开发更好的软件。过了一些日子,我发现,这完全不是那么回事。绝大多数我遇到的质量管理的人,都在纠结可能发生的质量问题的标准制定上,而不是研发正确的工具和流程,这至少可以真正提高产品的质量啊。
这明显是不同的,如果有人帮我变得更好,我愿意和他一起工作合作。但如果我只是得到了一份可疑任务的清单,我将马上觉得我就是个累赘而已,不会给这个工作提供任何实质性的帮助。这些工作给我的产品质量带来影响仅仅是,让其通过了这个测试清单,而对其质量完全没有任何改进。换句话说,我希望QM是作为软件质量的关键人物而不仅仅就是个政治性忽悠角色。
下面问题划重点:
G厂目前使用的质量检测流程,是过时的,是其作为硬件生产的质量检测流程,完全不适合现代的软件开发流程。
比如持续集成,结对编程, 测试驱动开发等等措施。
没有人尝试把正确的做法与QM结合到一起,通过上述这些现代软件开发方式。
一句话,G厂还在用Excel检查清单来替代码级别的现代自动化测试框架。
敏捷开发
敏捷性和精益管理是另一个值得一提的话题。软件开发的敏捷性表现为:小步迭代,迅速纠错。在G厂,几乎没什么人理解这一点,每一个我工作过的项目都从“全球级别应用”开始,每次都要花数百小时时间去进行前期设计,还有大量的原始层面的工作。我在G厂工作了四年,没有一个项目我能说是成功的,但却为此浪费了数百万欧元。你猜G厂学到了啥教训?啥都没,没有一个项目最终应用到了全球。这些让我感觉崩溃。敏捷开发最终沦为了每天的日常站会,和重复的Sprint。
我们从来没有深入敏捷开发的精髓。
还有一点,拿公司倡导的所谓的“初创心态”举例。这和搞一个花里胡哨的办公室,并摆上最好的咖啡机一点关系都没有。作为初创最重要的一点是,必须迅速迭代,你必须做出一些东西,并影响到客户并让他们甘愿掏钱,越快越好。否则你将花光投资并彻底挂掉。
初创公司从来不在起步阶段计划全球扩张,它们只计划第一个功能模块,可以确实解决客户的痛点并让他们乐意付钱。这就是所谓的MVP。别再瞎BB什么初创心态了,否则就是随便投大笔钱,却看不到一分钱产出。这些无法指导初创的真正想法、迅速迭代需要建立点对点的责任制,每个团队都要对其产品负责。
但是在G厂,项目被分割到无数不同的部门,并且组织大批的项目管理人员,他们每天做的无非是用Excel表格杀掉敏捷性,并且给你的团队带来挫败感。他们呢,则舒服地靠在椅子上,等着发薪水,或找下一个更好的工作。
我们项目的目的和目标也很有问题。通常一个投资了几百万欧元的项目,在做到中期时,几乎没什么人对这个项目感兴趣了。期间到底是怎么做发布管理的?精细管理的核心不就是降低浪费吗?这里的浪费就是指直接把钱扔到窗外。把钱花在一个没有人需要的产品上就是完美的浪费。
我的经验告诉我,唯一的解释就是,有人必须这么做,为了获得升职,在项目完蛋前升职。所以项目管理者还是可以获得升职的机会,哪怕这个项目做烂了,哪怕项目朝着错误方向前进,哪怕产品做出来没人用。
开发运维DevOps & 微服务
G厂里对微服务的理解全错了。在我看来,G厂就是在用建筑领域的方式来把软件打散和拆分。在微服务化过程中,按我的理解,组织性的方式看起来被丢弃了。因为大型软件系统不可能由一个单一团队开发,所以需要将其模块化然后分配到不同的开发组,还要添加巨大的沟通渠道。公司开始将软件拆分成独立的服务,并且分配到小团队里(所谓的两张披萨团队,通常6-10人,用两张披萨既可以喂饱),每个团队负责一个服务。
但是在G厂里我看见了啥?他们用微服务思想设计软件,然后找一个团队来负责所有的构架,另一个团队负责开发,然后再来一个团队负责QA质量,最后再来一个团队负责运维。
你懂不懂,就问你懂不懂?
我所遇到到的这些,原因往往是管理层不愿放手让团队做事,也不愿改变组织结构。这就导致了这种团队构架没法解决我之前所提的那些问题,而且问题会在不同的部门组成的独立王国之间不停地踢皮球。我所在的IT部门最后一次重组就是此类悲剧的重演。
另一方面,DevOps,开发运维指那些可以一边开发软件,同时一边做运维的人。DevOps文化可以创建高性能的IT组织,并且可以克服传统组织带来的诟病。我向G厂强烈推荐《The DevOps Handook》这本经典书。
HR流程
如果你技术不错而且你知道你肯定可以找到一份不错的工作,当你申请工作时,你就不会用几周时间等HR给你的回复。我也不想有这样的面试,面试官拿着一份问题清单,然后一个个问你是否适合这个公司。
作为团队领导,我不想被HR的那些常规的人事问题束缚我招聘合适的优秀人才。作为一个申请薪资体系外(AT)的管理层级别的人,我不愿意被某个人拿着这类清单面试。这次跳槽我找了三个公司,每个公司都提供了与G厂相匹配或者更高的工资,没有一家让我去做此类面试,但我还是拿到了Offer。但是G厂,我必须通过HR那些傻了吧唧的面试问题,才能获得升职,关键那些HR根本不懂我的技术,也不知道我日常做什么工作。
在QM质检部门也是一样。人力资源部视自己为更好的招聘流程的推动者,以及团队的协助者,以协助他们开展个人招聘活动。他们认为对于G厂而言,他们是更具价值的员工。我最近了解到,G厂招聘工作的最佳人选是来自推荐人的职位。因为“只有G厂人自己才知道谁是更适合G厂。” HR似乎仍然以某种方式认为他们更了解求职人。
德国传统大厂认为内推很重要哦!
我还遇过一种情况:当你负责招聘某个职位时,并尝试招聘某个优秀人才,你猜会发生啥?你花了很久的时间招了一个适合你团队的人,结果这个名额却最后被干掉,就因为办公室政治或者财务问题。问题是,当你下一次有一个新的名额时该怎么做?
有啥人就招啥人啊,别等了,你要知道,有总比没有好。
公司网关
求你们把公司网关关闭了吧。说真的,这种网关只会代表一个信号:对公司员工的不信任,以及一个到处是禁止访问的公司网络。它导致程序员丧失对安全的敏感性,花了大量的钱,却给人带员工带来大量的挫败感。别说“我们现在不是有给程序员的网络吗?” 请注意,我们本该就有,这玩意叫热点,这也是为什么我们需要一个大流量手机合同。但是如果我们打算连接位于公司内网的服务,热点可就无能为力了。
公司网关通常会禁止访问很多公司认为会带来危害的网站,并且关闭很多端口。有可能你经常访问的某技术博客就在黑名单中。
沟通
我经常被善意地提醒:你应该注意一下平时说话态度。
这是真的。
我回顾了一下为什么我开始在工作沟通中变得有攻击性,我觉得原因很多,尤其是在与管理层的沟通上。G厂管理层的谈话都是非常礼貌的,你可以把他们的谈话打印出来,作为你孩子的启蒙教程和睡前读物。
哪怕你的项目火烧眉毛了,哪怕你最后一个客户马上就要停用你的产品,哪怕你的团队成员纷纷跳槽,管理层仍然不会主动提下一步的任何策略,任何计划,不会提该怎么做。“嘿,你看,所有事情依然很棒啊,只是我们全球化计划暂停了而已。”
这好比有个人,坐在你面前,一直声称自己很诚实和坦诚,你们之间对话感觉很重要,就像一个政客在夸夸其谈,而不是讨论真实的话题。我认为大家都是成年人了,都可以有勇气面对真相,这些沟通礼仪只会让员工崩溃并想逃离对话。都是成年人,我们可以掌控这些谈话,如果管理层可以让我们参与最终决策。
根据我的经验,如果管理层在决策之前就让员工参与进来,他们更有可能为其提供决策支持。我觉得,当人开始用攻击性模式开启沟通时,这就是他们周边事情开始变糟的迹象,而不是他们自身关联的事情开始变糟。当然,我说的不一定对。
不会吸取教训
作为G厂的一员,我觉察到G厂似乎不会吸取教训。我在G厂的第一个部门的工作是,做一个车联网的Web Service雏形。我们组了一个四人的开发小组,花了四个月时间研究了该怎么做。每隔几周我们都要向管理层汇报并演示,演示都成功了。
而同时,有另外一个至少10人的国际团队(分散在各个国家)也在做同样的事情。这个团队进展非常满,我所参加的他们所有的汇报会上的演示都是噩梦。后来我休了个育儿长假,当我回来时,我发现有那个10人团队和我们正在同一层工作,这个团队之前在其它楼层工作。我当时想:“Wow,管理层终于做了正确的决定,我们两个团队终于可以在一起合作了。这样就可以经常交流,紧密工作,这个10人团队可以从我们这得到帮助,因为我们团队可以保证更好的质量,并且项目进展更快。”
结果,这个10人团队来我们楼层,只是因为他们原来的办公室要被清空,他们得找个临时地方办公而已。我们两个团队始终没有任何交集,他们团队的产品质量一如既往的差,一直是个噩梦。
一年后,我们整个项目被取消了。
我经常看到的是:“噢,这个项目失败了。好吧,让我们重新开始一个新的项目吧,还是熟悉的配方。但我可不想和这些把项目做垮的人交谈,毕竟,他们失败了。”
公司一直倡导“帮助人成长”。如果员工整体的技术素养始终停留在低水准上,你怎么让他们成长,最后成功挑战更难的项目。我并没有在工作层面上责怪这些员工,他们已经尽力了。这只不过是G厂对待学习,培训,导师制度以及职业成长的某个缩影而已。
3G厂应该问问你的程序员们这些问题
你想在未来六个月里学(做到)什么?我们能怎么帮你?
你怎么想,如果可以在保持技术职位的同时升职?
你周围有同事可以激励你,或者你可以从他们身上学习?
你满意我们给你提供的开发工具吗?
什么阻止了你开展高效工作?
你认为G厂对IT优秀人才有吸引力吗?如果不是,为什么?
你会建议你的好朋友来G厂工作吗?如果不是,为什么?
你认为你现在做的产品对客户有价值吗?如果不是,为什么?
G厂,如果你想做改进,请经常问你的开发人员,然后一小步一小步做迭代改进。
当我四年前入职G厂时,周边的好朋友都在打赌,我能在G厂工作多久?也许我和G厂一开始就不合适吧,缘分已尽。从另一方面来说,我很多同事都经常对我说,像你这样的大神正是G厂所需要的人。所以这次我直言不讳,并像“大神”那样思考问题,给G厂谏言。
可别费力猜这是哪个公司了。
作者所遇到的问题,在德国各个传统大厂的IT部门里,几乎都是通病。我想有不少读者都感同身受吧。
说吧,有没有喊出你们的心声?说到你们的心坎里去?
本月新闻&文章回顾
可向下滑动
扫码加好友,加入海归Python编程和人工智能群
点了在看,年薪百万