IT外传:会议室里的技术副主管

2,404 阅读10分钟

正式声明:以下内容完全为道听途说,肆意杜撰。请勿对号入座,自寻烦恼。

老郑,单名一个“常”字,是一名资深程序员。最近,他新入职了一家IT公司,岗位是后端开发。

入职后,他的领导周主管,给他安排了一项任务:对一类表单图片的特定区域进行处理。

pic.png

这个表单图片,是由前端动态生成的,主要做信息收集用。现在要求前端生成时,附带一份内容项与坐标区域的配套信息。比如图片的1/4到1/2的区域范围是教育经历模块,1/2到2/3的区间是工作经历部分。而老郑要做的,就是将这些区域裁剪下来。

代码很简单,用opencv就行。从原图中裁出一个区域,python就一句话crop_img=img[y1:y2, x1:x2]

pic2.png

为了验证用百分比标注二次还原的效果,老郑还专门用js写了一个制作表单的前端页面。他在生成的同时,也记录一份同名标注的json文件。一试,效果很好。

老郑等着项目启动,因为他要对接生成表单的项目组。这天他正在工作,产品经理叫他赶紧到大会议室来一趟,请求支援。

老郑不明白什么事情,就去了。

会议室很大很气派,里面已经聚集了十多个人。大家鸦雀无声,气氛凌冽,似乎会议被中止了。这里面,老郑只认识一个人,就是产品经理董非凡。这个方案就是董非凡和老郑一起讨论出来的。现在董非凡对他们组里的技术进行宣讲时,出现了问题。

“老郑,你给大家说说你的想法!”

很明显,董非凡已经给老郑留出了C位。老郑拉开豪华转椅坐下,说道:“就是咱们前端在生成的时候,将几个关键点的坐标记录一下……”

巨大的方形会议桌的对角线,斜躺着一个黑衣人。黑衣人说:“你说的这个,实现不了!”

老郑瞬间一怔:“实现……不了,为什么实现不了?”

董非凡拉扯了老郑一下:“郑工,你把你实现的给大家看看!”

老郑用浏览器访问他写的表格制作页面,按下F12,调到Console选项,操作了一番,控制台输出一串串坐标信息。

老郑说:“这可以的呀!我不是前端,就会几句js,但是我觉得能实现!”

黑衣人说:“你能实现,并不代表我们能实现。我们和你用的不是一种实现方式!”

老郑被这种傲慢刺激到了,他回怼说:“那你们就换我这种方式”。

老郑感觉自己是新人,而且不清楚黑衣人是谁,压了压情绪。他咧着嘴笑了笑,说:“哎呀,我不干涉你们用哪种方式,我又不懂,只要能给我提供数据就行呗!”

黑衣人问对面的一个小伙子:“咱们能实现吗?”

小伙子点了点头说可以的,他说可以通过计算div的偏移量来获取指定区域的坐标。

黑衣人打断了小伙子,让他不要说了。

黑衣人对老郑说:“做是可以做,但是我需要抛一个风险,这种方式可能会出错!”

“出错?”老郑又是一怔,“为什么会出错?!”

黑衣人说:“这个世上没有绝对不出错的事情。”

老郑压了压情绪,和颜悦色地说:“哎呀,这个你也出个错,我这也出个错,一串起来,我们这个活可没法干喽”

黑衣人解释道:“任何事情都没法保证全对,你不这样觉得吗?你能保证你的代码100%没问题?”

董非凡插话说:“那个……出错没关系,我们可以调嘛!我们保证在理想条件下能走通,然后到实际场景中,我们再去做容错嘛!后面还有对接,自测,测试。”

会议结束了。

老郑问董非凡,会上那个黑衣人是谁啊?

董非凡说,他是负责生成模板业务的技术副主管。

“副主管?那正主管呢?”

“正主管就是做你对面那个!他是做Java的,他管后端。前端的讨论,他不参与”

后来,需求有所细化。不但要裁切大区域模块,而且还要把里面更细致的信息也裁出来,就比如教育经历中的学校名称区域。

pic3.png

需求是这个需求。但是,谁来推动呢?周主管跟老郑说,你去组织一个会议,跟兄弟部门说说需求,然后要个工期。

老郑问:“有必要开会吗?我去前端小伙子的工位旁跟他说一下”

周主管说:“得开会。拉上我,叫上对方的前端小伙子,以及小伙子的主管,还有产品经理。我们要在会上正式提出需求,然后讨论技术可行性,确定什么时间能提供给我们。会后写一个会议纪要,通知相关领导。”

老郑立马约了一个15分钟的会,他觉得是随手返回数据的事情,说完的功夫就做完了。约会议,只不过是把问工期搬到会上有一个仪式感。

周主管感觉15分钟时间太短了,要约长一点,至少30分钟。老郑协调了半天,这几个人的会议日程都有冲突。周主管表示,大家忙的话,会议可以延期。上午没空就下午开,下午没空就明天开。实在不行,可以加班开这个会。

老郑觉得还是算了,赶紧开吧。于是就约了下午的会议。结果开会时,就老郑和小伙子去了,其他人都被叫去开各种临时会了。

老郑和小伙子面对面。老郑说,这个会是领导要求开的。

“我发你的需求看过了吧?我们也在线沟通过细节,应该没啥问题”

小伙子说没问题。

这个会议好像1分钟就结束了。

老郑想,还有没到会的领导,要不要等等他们?否则,我们这一结束,他们再过来,会指责这会议没开。

老张和小伙子先是聊了聊技术,后又聊了聊技术。

大约二十分钟后,差不多了。老张想问问小伙子,多返回那一个位置,大概需要做多久。

此时,上次那个黑衣人,也就是主管前端的副主管,急匆匆地过来了。

“哎呀,幸好赶上了。那个需求看了吗?”黑衣人问小伙子。

小伙子还没来得及搭茬,副主管说:“我看过了,哎呦,我反正是没想到实现思路”

小伙子不说话了。

老郑不愿意和他多聊,老郑说:“需求我俩讨论清楚了,现在需要定一下开发周期。这可不是我要啊,是我领导要,最后还得形成会议纪要。不知道是现在能给呀,还是得回去研究研究……”

小伙子仍然不说话。副主管说:“这个时间啊,还真不好说。咱们都是干技术的,我不说你也懂。这种研究性的工作,没有试过谁知道呢?顺利的话,可能五分钟就出来了。当然,也可能一周才能给你。从我的角度来看,现在仍然没有思路,不知道该怎么去实现。但是,我们保证,努努力,不管克服多大的困难,最后肯定是要搞出来的。这样吧,给你一个最大时间,一周内做完。不是说从今天起一周之后,也可能这周三、周四就做完了,提前做完了就当是给你一个惊喜”。

老郑说了句好的,就结束了会议。他回去写下会议纪要:第一,双方已明确对接需求;第二,一周内完成交付。然后他就开始写代码了。项目没有负责人,这意味着谁都能管,同时谁也没法管。就算他明知道半天能干完,又能怎样呢?和对方领导去讨价还价?说我不行,你行你上啊!这除了树敌,没有任何好处。这可能就是环境、氛围,或者称之为“文化”。

此时,老郑的内心波澜不惊。唯一让他思绪泛起一点波纹的,是他从黑衣副主管身上,看到了以前的自己。

大约7年前,老郑还是一家上市公司的中层干部、小股东。公司为了加强技术体系的横向建设,从所有业务线中,每个工种抽离出一个人,这些人合伙组成了一个叫技术研究院的组织。老郑当时被选中,负责整个公司有关移动端(Android、iOS)的技术攻关、工期评估、框架管理。

起初还好。移动端的开发者多是老郑面试并招进来的,而且很多业务也是老郑的一手项目。但是到后来,随着人员流动,加上老郑开始脱离了具体业务,将更多精力投入到了写文档和申报材料当中。他再也不知道每个业务的具体功能,如何实现。渐渐地,他提出的一些思路,大家不再支持,他说话也没有人听从。

有一次,老郑发现会议室在开会。他从缝里看到了一个事业部的产品、技术在讨论问题。老郑推门进去。他依然清楚地记得那个iOS兄弟姓宋,产品经理姓李。iOS兄弟的实现思路和报工期的方式,明显违背了老郑定的策略。老郑当场发飙了。老郑说,你们今天提需求明天就上线,这样制定计划是有风险的。我是由公司任命的研究院副院长,也是股东,我要对公司负责。吧啦吧啦他说了一通。

小宋和小李并没有理会老郑,反而是事业部的罗总闻讯过来,连忙给老郑道歉。后来,事业部越来越独立。老郑也慢慢没有了存在的意义。临走前,老郑专门找到产品经理小李,跟他道了歉。老郑说他们事业部的开发效率越来越高了,紧跟市场的脚步,蒸蒸日上,我以前的想法是错的。其实,到现在为止,老郑也没有搞清楚,到底是自己玩死了自己,还是公司玩死了自己。而小李也只是客套几句就去忙了。

而今的黑衣副主管,多少也有点这个意思。他们并不关注事情本身(没有精力),只关注通用的流程。不管是1分钟的活,还是一个月的任务(很难分辨),都要开满各项会议(总是没错),要显得很艰难,要留出足够多的抵抗风险的时间。

“咚咚~”小伙发来了一条消息。他说,我先给你个测试版的对接着。过两天我再从群里发布个正式版。

老郑望向窗外,笑了笑。