Flow的点点滴滴(第1篇)
今天是在Flow工作第三周的周末了。由于这次的工作经历可能成为我人生中最后的一段专业工作经历了。因此刚刚突然想到,应该把这最后的这点儿经历做一番记录,主要目的一是练习一下写作的能力,同时也要记下一些有趣的东西,以便日后有空的时候聊以自慰。
先说一下这次找到工作的过程。
今年全球性的COVID-19大流行,新西兰也难免受到波及和冲击,很多公司都在裁人或是倒闭。但是我反而还逆势而上,一不留神居然找到了一份我的老本行――软件研发的工作。
说来也巧,就是在新西兰第一次lock-down结束之后不久,我习惯性地在SEEK上搜了一下招聘信息。发现有一家公司正在招Delphi Developer。我仔细看了一下JD(Job Description),感觉好像我还是比较适合的,自然也就投了简历。
说实话我本来也并没有报太大希望,因为本来Delphi程序员的招聘就少,虽然现在会这个编程语言的人比较少了,或是说Delphi比较落寞了,但毕竟全纽招这个职位当时也就只有一个,不管怎么说,新西兰虽小,小到人们常说的纽村,但拥有500万人口的大纽 村怎么也不可能没有一些这样的人吧。
再有,自从2018年12月再次回到新西兰后,期间也断断续续一直在投简历,虽然也有过几个电话面试,也还有一次现场面试。但由于自己的年龄偏大,对很多软件新技术也只是有所耳闻,许多也并没有真正使用过。所以无一例外的这些貌似对我算是机会的最后都被fire掉了。因此,对自己是否还能在新西兰找到一份全职的软件开发工作已经不太抱什么希望了。即便我个人认为我应该算是一个非常资深的老程序员了,但软件这个行当绝对是年轻人天下,这是因为它的发展之快用日新月异来描述已经略显不够了。
本来软件这个行当在国内一旦你超过35岁了,你如果再去找什么程序员工作的话,应该已经完全没有什么可能性的了。但在NZ多少还是有一定可能性的,因为据我所知这里的老程序员还是不少的,这也是我有时还上SEEK上看一眼是不是有什么机会的原因。
但其实自从2019年8月份开始,我的生活重心早已完全转移到打乒乓球上了。每天都打,而且每天都会打上2个小时左右。并且还很幸运的是把我夫人也从完全不会打的白丁,培养出来可以左右开弓地打乒乓球了,甚至球场的很多球友都总是给我说她打得比我好。哈哈,这让我即有点儿开心,也多少有点儿郁闷。开心的是夫人算是个聪明贤惠之人,不管学什么东西还是挺快的。无论是学开车,还是学英语,都有不小的长进。这不,这乒乓球打得有模有样的,很多人都以为她从小就学过的。其实,学打乒乓球只是她小时候的一个dream而已。另一方面,让我有点儿郁闷的是我可是从小就打,从光板水泥案子,到后来自己做拍子,那时的在乒乓球上投入的精力可真不小。并且多少在发儿小的圈子里,以及后来工作中都是属于打得还不错的乒乓球手。结果被自己夫人短短的几个月就大有反超之势了,所以多少有些小小的郁闷。当然了,不管怎么说我夫人也是我一手陪练出来的,由于我的直拍推挡技术相当不错,所以我也是一个非常好的陪练。其实之所以我夫人能够很快就打得不错,这固然有她灵性聪明的一面,当然也少不了我辛勤陪练的汗水了。
还是话说回来关于这个职位的事儿吧。在我投了简历没多久,居然收到了一个叫Hugo的邮件回复,告知我有可能要跟我电话联系一下,其实就是电话面试,问我什么时间方便。我回复说我每天下午2点以后有时间。其实是因为上午都去打乒乓球了,一般2点以后比较方便。然后大概过了2天,接到一个电话。一个英语口音特别重,貌似印巴人英语从电话里脱颖而出。还好,由于我上半年一直在上英语课,英语比刚回来的时候好了不少。从他特别重的口音中,我还是听出来了不少东西。他最后的意思是约我去他们公司interview。我很高兴,并且让他给我发个邮件告诉我具体的时间和地址。然后过了两天,我就收到让我下周二去面试通知。
现场面试也是比较顺利的,由于我对Delphi非常熟,已经用了差不多20年,再加上我参与了非常多的各种各样的软件开发,可以说我是一肚子软件墨水,不管你来什么样的软件问题,一般情况保证能够瞬间开闸放水,保证让你的软件问题的白纸洋洋洒洒写满唐诗宋词。所以虽然他的重口音还是很重,但他给我说的东西,我基本上全都听懂了,并且回答的也非常得体。大概我们交流了30分钟后,他居然把公司的CEO找来了。我当时的第一感觉就是看来这次有戏。CEO人很好,只是问了一下家里的情况,为什么要来新西兰?还有如果确定要我来公司工作的话,大概有多长时间的notice等等。我知道这些问题一般都是二面,三面才问的问题。所以心里也比较高兴,感觉希望越来越大了。
面试完后,Hugo告诉我还会给我发一个邮件,里面一个Delphi code的case,让我对它们做一个重构。我知道这通常都是查看你软件能力一种方式。又过了两天,我才收到他的邮件。我一看,对我来说不是什么难事儿,用了3个小时左右全部做完。感觉没有什么问题了,就写了个报告性质的东西给Hugo回复发了个邮件。然而一上床睡觉的时候,突然想起来有一个地方做的不够好,还可以优化的更好。所以第二天一大早赶紧起来就又改了一下程序,又给Hugo发了一个邮件,并解释了一下为什么要这样做。
其实我觉得,这第二次的改动和发邮件表面看起来不是太好,因为毕竟第一次做的不够成熟,后面又追加了改动才算完善了。但后来一想也许这样做更好,因为表明你发现问题后,会马上想到要把它改得更好的做法才是一个好程序员非常负责良好品质的具体表现,而后来的事实证明也的确如此。
再后来,就是焦急的等待。因为我觉着我这次的面试比较成功,代码的重构应该也是很成功,甚至可以说做的非常出色也不为过。然而,找过工作的人都知道那种等消息的体会,就是这种等待还真是挺熬人的。好吗,结果从周一一直等到周五都没动静,当时也感到非常泄气,觉着看来只能等下周会不会有什么消息了。
当时想虽然没有消息,但是没有消息至少就不是坏消息。这期间还有一个小插曲,就是我在周四的时候,还收到了SEEK发来的统计报告。上面说我投的这个职位居然有28个人对这个职位投了简历。也就是说这么冷门的一个职位,居然都有28个人竞争。那对我来说,这种竞争的压力还是蛮大的。并且从另外一个侧面反映出,要是其他不太冷门的那些职位,投简历的人就会更多。这也难怪我原来投简历虽然不少,但基本上都是石沉大海,杳无音讯了。肯定是我那个简历放在几百份简历中,没什么亮点,绝对会被惨遭淘汰,不屑一顾的。这个统计报告给我打击不小,当时就搞得我好一顿郁闷,当天的觉都没怎么睡好。
周五照样打球,回来做饭吃饭。结果没成想,吃完晚饭,我习惯地拿起手机看了一下,发现有一个新邮件,当时就感觉应该是跟这次找工作有关的。心中略有忐忑,但也还是有些自信,因为毕竟对自己的面试和答题非常有信心。结果打开一看,OK,居然是CEO发来的Job Offer。赶紧告诉我夫人,她当时饭都没吃完呢,高兴的不得了。之所以我夫人这么高兴,也是可以理解的。因为我能找到工作,特别是能找到我自己本专业的工作,她会感到特别自豪和开心。毕竟嫁给一个有本事的男人是每个女人都非常向往的。这下通过找到这份工作事情又一次证明了一下她找我是找对了,所以她的那种高兴劲儿也就是显而易见的了。
还不错,这个Offer也答应了我的工资期望的要求,所以自然我也很开心,接下来就是回复签合同的事情。我回复说下周可以过来到公司签合同,然后CEO回复说不用了,等到17号周一上班那天过来再签就可以了。其实这里的洋人还都是非常讲诚信的,而且对人也非常信任。我记得我当时去面试的时候,带着自己的护照要给人家看,人家一摆手就说不用了。说实话,到现在Flow公司居然还没有一个人看过我的任何证件,护照或是驾照什么的,都没看过。也就是说我自报的名字是不是我自己,从来没有什么人检查过。这种情况在国内则是完全不可想象的,也是完全不可思议的。
然而,俗话讲好事多磨。这期间又来了个不大不小的插曲,就是在周二的时候,新西兰又发生了社区传播,总理阿登姐宣布Auckland又要进入level3的封城了。这又让我大大地担起心来。我当时就跟我夫人说:真倒霉,要是签完合同了,再宣布lock-down多好。可是,但是的可是,当我正在担心会不会接到通知说等Level3结束后再签,或是直接就给拒了时候。那个Hugo给我打了个电话要我的地址,并且说周日给我送一台电脑来,让我work from home。在我还将信将疑的时候,果真周日Hugo如期而至来到了我们家楼下。我下楼拿电脑的时候还看到是他夫人开车过来的。想想看,我这是不是有点儿太幸运了吧,居然一上班就是work from home。虽然合同还没签,但我觉着既然明确让我在家上班了,估计他们不会变卦了吧。
好了,到了17号的周一,我按照还没签的合同上的要求,8.30之前准时上线。并进入到了MS Teams的软件中,很快和Hugo联系上了。然后他给我说了一些关于公司的情况和关于我即将卷入的软件开发的情况。这次介绍情况的过程中,我发现Hugo是个小小的chat box。即自顾自地一个劲儿地说,基本上不太顾及别人是否听懂了,或是是否在意他所说的。但无论如何这个人还是个很nice的人。对人是很尊重的,特别是对象我这样英文不是太好的人,完全没有任何歧视性的感觉。
第一天,首先Hugo通过远程指导我安装开发环境。但是这中间发现,我的用户权限不够,有些软件无法安装。所以他对我说要让人远程服务改动我的用户权限。但我对他说的这个事情并没有完全理解,一是语言的问题,二是我从来没有碰到过通过远程服务来帮我改动我的电脑的用户权限,所以根本不能想象可以这样做。过后有个说着kiwi口音的人打了个电话过来,哇啦哇啦的说了一大堆,特别快,我基本上没听懂。最后人家问你我句:“Are you okay? ”我随口就答了句“I am okay.”,然后人家又说:“Are you sure?”,我也马上答了个:“I am sure.”。然后那个人就把电话挂了。
那个人一挂电话,我就隐约感到有什么地方不对了。事后证明,我完全把事情给搞砸了。那个就是一个远程服务的技术人员。人家给我说的意思是,你的电脑是否可以用了吗?我一顿瞎答说是Okay了,并且还给人家说Sure了。其实人家是想给我做远程权限升级服务的,结果完全没做成。所以我仍然不能安装我开发中要用到的任何的软件。
不过还好,很快就有公司的人发邮件给我,问了情况。我就如实说了,我的英文不好,不知道他要干什么。马上公司负责这方面的人就告诉我,没关系,下次你听不懂的时候,就让对方讲慢点儿,直到你能听懂为止。并告诉我,马上再约那个远程技术服务的人跟我联系。后来第二天,那个人又打电话过来了,并且这次说英语的语速明显慢了许多。并且由于我已经知道了是要做远程服务操作了,所以这次的过程就很顺利。很快那个人就通过远程操作的方式把我的用户权限升到了系统管理员的程度了。然后人家就撤了,前后不到3分钟的时间就搞定了。
总的来说,这里的洋人服务非常专业,并且也很有礼貌,并且不会因为你的英文不够好而歧视你,或是吼唬你。
接着我就很顺利的安装上了我的开发环境中要用到的各种软件。然后Hugo的帮助下逐步熟悉各个方面情况。第一周算是在家很顺利地“混”了下来。
第二周也主要是熟悉Flow已有软件的代码。打开代码一看我逐渐看出点儿端倪来。就是这些代码显然不只是经过一个人的手了。而且其中有很多的代码绝对是用相当“野”的路子做出来的。但根据Hugo的介绍,这个软件纽澳两地有着不少的客户。所以,即便它的代码是个巨大的沼泽地,但建立在这个沼泽上的10层大楼依然住了很多的人。那么我被招到这个公司来做的主要任务看来就是在这个沼泽中找到进一步加固这个大楼的方法,并且让这个大楼还能继续往上盖,甚至是可以改成一个100层打大厦,让这个大厦住进更多的人来。
第三周,虽然还有不少数目的社区传播,但由于新西兰的经济已经完全经不起进一步封城了,所以阿登姐还是宣布了Auckland进入到2.5级。也就是说我们可以回到公司上班了。我于是在周一(2020年8月31日)的8:30之前来到了公司。并且顺利地签下了Employment Agreement。
这里还要说个小插曲就是,我的雇佣合同上注明是按月发工资。其实很多新西兰的公司都是按双周发工资的。按月发工资就是每个月的25号发工资。但我上班的第一周的周三就收到了工资条,上面也写着是25号发。可是当天晚上打开手机银行一看,账上居然多了好几千块钱,仔细一看入账数目就是我工资条上的,当时就让我有点儿不知该说什么好了。才上了3天班,还没咋地呢,连公司的门都不知道朝哪儿开呢。居然8月份的工资就已经到手了,而且雇佣合同都没签呢。所以,我觉得这里的洋人的确是太有点儿“认人为贤”了。当然了,这样的情况也的确让我诚惶诚恐了好几天,并且也下定决心要好好干一干,要对得起人家对你的那样的信任和大度。
这第三周在公司见到了我们开发小组的另外两个组员,一个是来自俄罗斯的Stanislave,还有一个来自波兰的女孩叫Justyna。我们四个人的开发组,组长Hugo是来自巴西的,我是来自中国的。所以我们这个小组就是一个小小的联合国。这也从另一个侧面反映出来,小小的新西兰,大大的包容度。不管你来那个国家,也不管你是什么民族和信仰,只要是为了同一个开发项目都可以走到一起来的。哈哈,这让我不免想起了毛主席他老人家说的:“我们都是来自五湖四海,为了共同的革命目标走到一起来了。。。”。
这第三周工作中,我又看了不少Flow软件的代码,并且想着从什么地方着手开始进入开发状态。
首先让我大吃一惊的是,这个软件的编译过程居然要至少5分钟以上,也有8分钟左右完成一次的,最长的一次居然是18分钟多。根据我多年的经验,我知道这样的编译过程是个非常致命的问题。因为它完全破坏了一个程序员的快速思维方式。也就是说这个慢速度会拖垮一个程序员的思路,以至于程序员完全没有了正常的开发效率。
其次,我发现整个系统中对数据库的访问完全没有遵循统一接口的方式,到处都是SQL语句访问Object,它完全没有遵循软件最起码的3-tire结构。这会使数据访问的方法很难适应新的需求变化。
因此,我个人认为,要改造这个软件的话,最好先从这两个方面入手。所以,我决定下周的时候把这两个问题再好好研究一下,并做一些基本的实验性的改动。看看怎么做能够让这两件事儿顺利地解决了。
(注:这个博文其实2020年的9月6号就写完了,但当时没找到一个比较合适地方放上去,所以就拖到今天才放上来了。希望我能在这个地方坚持的时间长一点儿吧。)
网友评论