码农之死 #4 - 往事 - 资源过剩
本小说连载于文集:码农之死 - 连载 - 简书 (jianshu.com)
其实李羽白很欣赏贾承孰的求知欲和专业水平,这段时间,他也不掩饰对贾承孰的好感,在上次需求开发结束后,他多次称赞了贾承孰的贡献,包括在张红雷面前也是如此。他知道该说的该做的该夸的,怎么做才能让项目顺利推进。虽然他没做过开发工作,但他却是少有的能博得程序员好感的管理者,平时还会说些逗乐的话,也善于自嘲,这让他很接地气。
接下来的日子比较轻松,大家积极尝试和国外同事熟络起来,所幸对方也有这个意愿,电话会议上经常欢声笑语,你侬我侬。莱特也是个幽默的人,发言尤为积极,经常把大家逗乐,有时候Joanna第二天来到公司还会转述给贾承孰听,然后捂着嘴呵呵呵的自个先笑个不停。和莱特他们的会议通常是在中国时间的晚上,这是因为伯纳德的时区夹在了中美之间,如果放在中国时间的早上,对伯纳德就太不友好了。不过这时候贾承孰还没有被添加到会议邀请里,也就只能第二天听听二手消息。
有一天,李羽白问贾承孰家里有没有固定电话,得知贾承孰虽然在租房,但是房东留下了固定电话以后,便又接着问:“我给你找一部笔记本电脑,以后你带着用,晚上有需要加班可以回家工作,而且也可以参加晚上的会议,你看怎么样?”
虽然说是有加班需要,但贾承孰只听到了晚上的会议。一部笔记本,这是外包员工没有的,他们的工作用电脑都是外包公司统一配置的笨重台式机。再加上晚上可以参加会议,这多多少少让贾承孰感觉自己的身份更接近正式员工,于是当然说:“好!”
转天李羽白便找来了一部二手笔记本电脑,这是某位员工离职或者淘汰旧笔记本电脑后留下来的,但性能还可以,成色也比较新,贾承孰很满意,下班后专门去商场买了一个真正的电脑包,第二天便不再背着那个李宁双肩背包了。
刚开始参加会议,贾承孰并不太听得懂,伯纳德似乎说话总是闭着嘴,乔治则发言简短而且有节奏感,一度让贾承孰怀疑是不是黑人在说唱,那两个运维话不太多,倒是那个叫德怀特的经理和莱特的发音让贾承孰觉得熟悉,跟美国大片里的味道比较一致,但贾承孰往往也只能抓住只言片语。
听不懂的第二天再听李羽白他们说一遍就是,而且Joanna告诉贾承孰这已经很幸运了,隔壁的Java组也要跟上游国外团队开会,不幸的是那个国外团队里很多印度人,要习惯他们的口音,可要花一番功夫。
部门再次扩大,负责的系统更多之后,一段时间里反而没有那么多需求要开发了,基本上来的都是零零碎碎的小修小补。Joanna便打算抓紧时间了解一下Java代码。尽管伯纳德也给了一些文档,可都是些高层级架构的大概介绍,并没有具体实现方面的。Joanna心想毕竟人家是架构师,具体的东西应该问莱特,谁知莱特两手一摊说他也没有,而且据他所知从来也没有过这东西,要了解具体实现的细节,还是需要自己去读代码。然后他还不怀好意的笑了笑然后说:“很抱歉我们没有这些关于代码细节的文档,不过我想也许现在我们可以开始着手补上这一块。”
Joanna心里暗暗叫苦,嘴上却说:“是的,也许我们确实应该把这块文档补上。”她特意顺着莱特的话强调了‘我们’两个字,然后就不说话了,莱特也就不说什么了。
两个人的讨论结果是也许应该做点什么,但是没有确定谁去做,什么时候要成果,这等于什么也没讨论,Joanna得到的唯一的结论是没有文档,需要自己去读代码。
Dono 这边倒是没这种问题,贾承孰从来都习惯了没有文档的工作。之前在国企,唯一他见过有质量的文档是项目快结束时给客户准备的用户手册,来到外企,他没见过任何这些 Dono 应用的文档,也没听说Java组之前在紧急的开发过程中还同步的书写过文档,等到需求开发完,那更是不会有人去在乎文档这种东西了。
而且贾承孰同意一句话,只要代码可读性好,那就不需要文档。他接触过的 Dono 应用基本都是这样,这不是因为 Dono 程序员都是好程序员,只不过某种意义上讲, Dono 这套工具所产生的应用通常都不会太复杂,开发人员在 Dono 提供的框架之下会习惯性的把复杂系统划分为多个应用来降低复杂性,而且单个应用里会用到的元素也早已被 Dono 设计好,前后端划分的很清晰,表单用来供用户输入,视图用来展示表单提交后生成的数据,后台代码用来处理表单或者视图上用户提交后需要进行的数据处理之类的复杂操作。既然应用不复杂,在什么元素上该做什么也早已约定俗成,那事情自然就简单了。
而Joanna之前对 Dono 的稀里糊涂,在Java这好像却不那么明显了,不久就可以上手改一点代码,比如认证之后给用户返回的cookie里的加一个字段之类的。这让贾承孰羡慕她居然这么快就开始在真正的项目里做开发了,也不禁有点疑惑之前她表现出来的对 Dono 一窍不通是怎么回事?
Joanna当然是个聪明的姑娘,对 Dono 的不入其门难说究竟是不是有意为之。不过贾承孰觉得这也不重要了,他自己也想逃离 Dono ,何况在小组里,Joanna跟他关系也不错。
另一个同事刘强明,这个新来的 Dono 开发,却表现的有点像张红雷和李羽白,他经常会给贾承孰分配任务,有时候细碎的任务甚至让贾承孰觉得,两个人沟通的时间比写代码的时间还长。贾承孰不禁有点奇怪,之前张红雷和李羽白都不是开发人员,事大事小都需要自己来写代码这还可以理解,现在刘强明自己就会 Dono ,有些小小的改动与其花5分钟时间来沟通交给自己,他还不如直接花半分钟改了省事。当然这也就是想想,贾承孰也明白如果刘强明事事亲为,自己就会无事可做。
而美国那个乔治,似乎也愿意做个闲人,晚上开会,问到他的任务进展,他 经常 会说:“我又改了一下表单上的一个下拉选择框的隐藏条件,然后还需要改一下视图,如果测一下没问题,就可以了提交给用户了。”但其实过去的两三天他都一直这么说。奇怪的是国外同事们这时候往往都会说:“好的,希望这个修改能尽快测试。”就是没人真正去催动他。
这不奇怪,现在不是真正排了计划的需求开发时期,往往只是某个用户提的小要求或者一个无关大雅的优化,改不改都不影响系统正常运行。国外的同事见怪不怪,德怀特也不催,李羽白也就不催,不过有时候他会关心一下是不是有什么难点乔治搞不定,需不需要中国同事帮忙一起看一看。这时候乔治也不客气,他会说:“好的,这样太好了!”接着活就甩了过来。李羽白敢问,乔治就敢给,他看起来不太关心工作岗位的安危,后来贾承孰才知道,乔治不是什么说唱的黑人,而是一个临近退休的白人老头,独居,可以说正处于无牵无挂的状态,丢不丢工作对他来说不太重要,工作对他来说可能是打发时间的消遣而已。
作为一个工作到临近退休的 Dono 开发,乔治当然很难碰到什么搞不定的工作难点,甩过来的活先经过刘强明,再经过贾承孰,往往一天就做完了,然后晚上的会议乔治会开心的说:“实在太感谢了!”德怀特和莱特便也跟着表示感谢。
与乔治不同,那两个运维总是出言谨慎,尤其是年长的那个,他对工作状态的更新言简意赅,绝不多透露任何技术细节。而所有Java服务器上的配置,所有Java应用的部署,都是他一个人进行。年轻些的那个则让人感觉不太有经验,平常主要负责几个 Dono 应用的管理工作,而这些,还是从年长的那个手里接过来的。其实他们的关于 Dono 的管理工作,贾承孰觉得自己也能做,只要被赋予足够权限,就可以登录 Dono 的服务器管理界面,那里有与管理相关的各种操作。
美国组长莱特,听他自己介绍以前曾是个中学人民教师,不知怎么就转型成了程序员。他总是积极的参与每一个话题,无论是Java还是 Dono ,或者是不清晰的需求。技术人员经常会发生对需求理解不一致的情况,这时候莱特总是会站出来发表自己的看法,最后他会说:“当然,这只是我个人的理解。让我来跟对方确认一下,我会在公司聊天工具上直接联系他,并给他发一封邮件,让他在邮件里正式确认。”不得不承认他这一套说辞确实很专业,大家都会表示同意,因为没有更好的方法来决定谁的理解是正确的了。
伯纳德,唯一一个身处欧洲时区的国外同事,相处一段时间以后中国人才知道,原来他也是 Dono 出身,转型到了Java,现在还成了架构师。伯纳德做的方案设计总是充满了细节,Joanna跟贾承孰说:“他连要改哪一个Java类的哪一个方法都写得清清楚楚!”
其实涉及 Dono 这边的方案也一样,伯纳德会把每一个需要修改的元素都列得清清楚楚甚至再加上告诉你要改哪一行,要改成什么样,有时候还会给一段伪代码,就差让贾承孰直接复制粘贴了。
贾承孰当时回答Joanna说:“英国人,就是严谨!”
关于架构师到底该做些什么,做到哪一步,在团队工作里参与到什么程度,不同的公司有不同的要求。之前在国企的时候,贾承孰组里的组长就是架构师,他又负责整体设计,又负责沟通需求,又负责疑难攻坚,最后却因为管理不了客户被撤回了公司。在这家外企,伯纳德这种风格的架构师不多见,他更像是组里的组长,就差亲手把代码粘贴到位了。这可能是因为这个组的需求不太复杂,一个主要处理登陆和权限的小组,边界比较清晰,不需要太多外部依赖,否则他应该像公司里大部分典型架构师一样忙着到处打听哪个应用能提供什么样的接口,或者是跟某个已知接口的团队协商能不能提供更多功能,要么也可能作为被依赖的一方与对方来回讨论接口请求和响应的内容与格式。
贾承孰也不知道哪些事是标准的架构师该做的,他想,在一套已经成型的系统里,除非有大到足以需要变动架构的需求,否则你能让架构师干些啥呢?伯纳德本身的严谨,和眼下这特殊的时期,可能让他不自觉的在工作中就把细节都覆盖了。
抛开伯纳德的工作风格,他从 Dono 转型Java还成了架构师这件事,着实让贾承孰对自己的未来充满了期待,但却让张红雷又一次觉得失算,这个组的 Dono 资源实在是显得太过富裕了。
在张红雷看来,这是资源浪费,意味着不必要的成本开销。现在所有需要维护的 Dono 应用都已经清清楚楚放在眼前,仅仅是日常维护不需要这么多富余的人力资源。
他找到李羽白,先是同步了几件不相干的事的状态,确认小组内运转正常,接着便看似不经意的问起了 Dono 这边的情况怎样,李羽白警惕的给了个简短的回答:“ Dono 这边也挺好的,没出过问题。”
张红雷接着问:“事情不多吧?”
这下李羽白心里的猜测确认了六七成,大概明白了领导的想法。可是李羽白有自己的心思,乔治是个不过一年就要退休的老头,而伯纳德好歹已经挂着架构师的头衔,以后真有要紧的事情,如果刘强明忙不过来,伯纳德会陪着刘强明一起写代码吗?李羽白知道伯纳德有时已经细致到会给出伪代码的程度,可作为项目经理,在这个组里,张红雷给他的考核里可没有团队成本这一项,那资源当然有备无患,越多越好,只不过要的资源都需要合理的理由。
于是李羽白在脑海里把自己的思路略微又过了一遍,便说:“也不能说不多,就是可能做不到每天每个人都有任务,但一周里大部分时间咱们这边的人也都是有活的。”略微停了停他又接着说:“乔治不是也临近退休了吗?我也让他俩有不明白的就多向乔治请教,争取各方各面都弄清楚。”提醒完乔治临近退休,他又接着提伯纳德:“当然,伯纳德看起来对 Dono 这套也挺熟,有时候给的文档里连伪代码都有,就是不知道他是不是对这几个 Dono 应用都这么熟,以后乔治真离开了,是不是有问题他都能解答。还有他也要负责Java的事情,以后万一两边都忙起来,怕他顾不过来。所以我想着让刘强明和贾承孰能多问问就多问问。”
伯纳德要退休是千真万确,这张红雷知道,李羽白说了这么多是什么意思他也明白了。在他看来李羽白说的这些不能说没有道理,但又觉得有点牵强。他也知道伯纳德是架构师,在公司里大部分,或者说他知道的架构师都不写代码,这也是事实。罢了,先放一放吧,现在中国的成本优势还很大,不差这一个人能省出来的。
多出来的这一个当然是外包人员贾承孰。
这时候李羽白要留人在组里的原因是利益使然,反正不是自己负担成本,多一个更能保障以后项目顺利,万一忙不过来了,鬼才知道什么时候能再招来一个熟手?刘强明是隔了多长时间才招进来的,不知道张红雷忘没忘,李羽白可记得还很清楚。
这次对话让贾承孰暂时留在了团队,但没过多久一个业务部门的用户提出的小问题,让大家都确定多留一个资源还是有必要的。