毕业工作一年有余

昨天看了看phone tool,不算实习的两个月已经在公司待了一年半了,不得不惊讶于自己行动力的迅速衰减。本来想着四月份就写篇文章回顾自己步入职场一年整的感悟,最后樱花落了、台风过了、天气都转凉了才想起来动键盘。回想起自己硕士的时候可以早上起来刷LeetCode,下午边跑实验模型边剪东京LS的视频,吃完晚饭还能写个博客或者更新个小红书。上班后,工作日尽管只工作七八个小时,晚上回家了却连PS5都懒得开机,基本都是看电影刷剧看书等完全不需要自己输出的途径来娱乐自己。我都不敢想象在国内大厂996,还是Apache XXX PMC,并且技术博客仍更新不断的大佬,得需要有多么强的自驱力。

扯远了,话说回来。本篇就以我碎碎念的形式,来分享一下自己工作一年多的诸多心得,外加上诸多同期步入职场朋友们的牢骚。

状况概述

我本人是通过亚马逊日本的Software Development Engineer(SDE)实习项目,拿到return offer,最后在实习项目结束差不多一年后开始自己第一份全职工作。实际情况来说,我这样的case在日本是相当少见的。首先我的应聘全流程都是英语,其次我是在两个月左右长期实习项目后拿到全职的offer,没有再进行额外的面试。所以从面试(coding白板+行为问题)到职场的氛围都是完全保留了美企的风格的。到目前为止,和真正在日企或者日化的外企工作的朋友相比,我的职场经历几乎可以和在北美亚马逊工作划等号,除了少了很多的钱,和少了一些的压力,以及多了一些的job security。

这样的机会在日本来说并不多,从2022年massive layoff之后,能够每年通过student program招数十人SDE的在日美企也就只有亚马逊了。当然如果把范围扩大到别的job family,诸如customer engineer,technical support或者sales engineer,有校招项目的公司还是不少的,比如说:Google,Salesforce,Adobe等等叫得上来名字的科技公司。另一些明星公司如Nvidia,Databricks,Snowflake都没有校招项目,都是经验者采用。美国科技公司在这边的招聘策略还是以面向本地客户的岗位为主,比起engineering能力,客户支持的成分更多一些,所以说日语不好会吃非常大的亏。这些岗位的job post上会写Japanese Native,实际并非卡得那么严格,只要能够流畅地在面试中用日语交流就可以了。

日本作为一个制造业为主的国家,IT某种程度可以归为制造业的门类。大部分公司的“数字化系统”,并非是以我或者多数国内本科读过来的朋友认知中:Engineer Manager (EM) + Product Manager / Program Manager (PM) + SDE (+SRE) 的形式开发的。而是以和外部承包商合作,外包项目(咨询)或者外包人力(派遣)。对应著名的日本IT外包金字塔:某大手公司或政府要开发新系统,首先把项目承包给大手的System Integrator (SIer) 公司(NRI,NTT Data,NEC,富士通,etc),大手公司写了顶层设计书做了项目统筹,把具体模块的实现外包给中坚公司,中坚公司写了式样书再把具体的代码实习包给小公司。比如下图是曝光出来的COCOA的经费分包:

COCOA

我最近听了一个很有趣的说法是南武线是日本硅谷,因为”IT High Tech”企业基本分布在多摩川沿线:从川崎的东芝,到鹿岛田的NTT Data、日立制作所,再到矢向的NEC,武藏中原的富士通,这大概就是日本主流对IT开发的概念。至于为什么日本IT的现状是这样的,我作为一个没有在其中工作过,也没怎么和SIer打过交道的人,是这样思考的:日本经营层本着小心驶得万年船的理念,对企业现金流的重视程度非常高。日本雇佣制度的中核是终身雇用和年功序列,这与我国的国企、事业单位的逻辑是较为相似的。当不能因为项目完成、项目失败或者业务转型进行大规模解雇的时候,招聘就会变得非常谨慎。员工的工资支出始终是刚性的,尽管可以通过减少奖金的发放来进行一定程度的控制,但本质无法通过直接减少人力开支来改善支出端。我听过大规模解雇的例子,如东芝退市或者夏普经营不善被鸿海收购,都是以社内募集早期退职或者自愿离职的形式开展的。一个是需要支付大额的早期退职金,另一个是导致企业内部优秀员工的流失。从Cost Center和Profit Center的角度来说,IT系统就是制造业日企的支出部门,比起维持一个无法调整人员支出的IT back office,把系统开发作为项目包给专门的公司作为一次性支出是更符合经营逻辑的。甚至一些对于IT系统迭代需求较高的公司,诸如广告公司(电通、博报堂)、商社、银行,会把系统开发的部门作为子公司独立出去,当母公司有开发案件的时候把项目派给子公司,子公司也有自己的营业去外部承包项目。这样听起来很美好,能够把源源不断的流血变成一次性的支出,改善长期现金流。但我工作一年中已经多次感受到大公司跨部门交流的巨大障碍,我都不敢想象当一个与业务耦合的系统承包给外部的公司去开发,并且还是分层地承包出去,这中间会产生多少摩擦。

不过关注最近的招聘市场也有些好的动向。外资Tech公司更乐意在日本开tech office了,比如Palatir,Twitter。不知道是因为日元贬值,人力开支压倒性得便宜了;还是外资大规模从中国撤退让日本捞到了一点点。另一方面,秉持着”best practice”来开发软件系统的日资企业也在逐渐增多,不同层次的公司都有:从难度高的SmartNews、PayPay、Mercari,再到难度中等的Sansan、Freee、Recruit,再到难度稍低的Rakuten,都有对应选择。应届生直接进外资美企是一个最优解,但比起努力运气更重要,数个公司每年十几个open campus hire position,qualify的人很多,运气好的人不多。退而求次,到一个采用现代开发体系的大中型公司,把工龄号上去,同时保持自己面试的状态,等到心仪的企业放出中途的机会再出手也是一个通用的策略。

新人的职场生存指南

Onboarding

和日企不同,外企通常没有完全脱产的培训。至少在我司,对于基础的engineering能力没有成体系的培训方案(no bootcamp)。尽管校招过程中不对实习经验、开发技能做任何要求,面试就是白板coding和行为问题,行为问题用在学校研究室的经历回答也完全没有问题。但当你实际开始全职的工作,git、code review、ticketing system、CI/CD是默认你有一定认识和概念的。除此之外,公司内部的开发工具、平台和开发模式是没有一个人会手把手教你的。确实是有onboarding buddy的存在,但也只是buddy不是teacher。

对于工程能力一张白纸的同学,我的建议就是模仿。模仿你的mentor,模仿你的team lead,模仿你的manager。看他们怎么review代码、怎么开ticket、怎么update、怎么写文档、怎么组织会议、怎么和别人交流,这些都是在学校和公开课里面不会学到。我个人的感受是如果你一旦习惯了这种学习模式,自我迭代会变得非常快速。相比于传统学习模式,在课堂中听课当录音机,模仿是一个能够以自己节奏去学习的方式。我在某日企实习的时候碰巧遇到了他们新人研修的时间节点,当时的mentor就放我过去跟他们研修。我的个人感受是为了不同学术背景、技能水平的新人一碗水端平,研修内容多但基础,一天的课可以从二进制讲到网络安全,导致会的人觉得浪费时间,不会的人觉得overwhelming。而且这种研修是一次性的,没有后续的跟进,最多只能完成“知道了”这个层次。

如果你的onboarding buddy或者mentor能够给你一个合理的onboarding plan涵盖你15天,30天,3个月需要完成的任务,那是最好的。合理的目标能够让给你有一个方向,不至于在无边无际的技术细节中迷失。如果没有,那就要求manager或者其他能够带你度过新手期的人帮你定一个。

上述应该能够保证你能快速地上手出活,成功地完成分配给entry-level engineer的任务。除此之外如果想更好地融入组内的planning,项目进程。一个好的办法就是扩展性地去学习,不要局限于本组的项目和服务。大型科技公司往往以team为单位维护一个微服务或一个产品,这个产品或服务是用户使用流程中的一个环节、或者一系列访问链路中的一环。在对组内的知识有一个宽泛的了解后,扩展学习上下游的依赖,或者是本组产品在公司商业计划中的作用,能够辅助你更好地理解team goal、roadmap,理解莫名其妙被拉进去的会议的context。

Career Development

在日本的外企作为开发,职业发展相当受限,虽然比在日企的外国人要好一些,但远远比不上在西海岸和国内大厂工作的同学们清晰的职业发展路径。首先这边tech office的规模就非常有限,基本都是小几百人的规模。通常不是一个完整的org放在这边,而是一个org的几个team放在这边。分几种情况:为本地化的feature服务,比如indeed日本的アルバイト,或者亚麻日本的point;另一种是面向全球的service,利用日本和美国时差的优势,在这边放小部分的组,分担北美夜晚oncall的压力;还有一个种是某个高级别的EM或者engineer各种原因relocate到日本,在其周围形成了一个在日本的tech team;或者是完整的一个服务放在日本,这种情况非常少见。前三种都对职业发展相当受限。

想要升职,需要更多地跨组合作大项目创造impact,跨大洲合作天然就比在同一时区或者在同一office面对面合作困难很多。

另一方面日本劳动法对于裁员的限制也是一把双刃剑,外资雇主的招聘策略通常会较为谨慎,大规模裁员会给企业形象带来负面的影响同时,还需要付大笔的解雇费用。所外企的人员流动相比于HQ非常低,在日组很多年可能才能分到一个HC,而且很多时候是因为组内的人员离职或者relocate才有机会。

并且日本office缺少高级别的IC和EM,entry-level到mid-career的晋升通常问题不大,但senior或者staff+需要更多高级别同事的networking和support,这是日本的天然劣势。并且去美国出差的机会受限于budget,低级别这样的机会比较有限,进一步限制了networking的机会。

当然近些年宏观经济的原因,各个公司收紧budget,开新项目和晋升的budget都开得比较死,也是阻碍晋升的一个绊脚石。

职场鸡汤很有帮助

我对于如何在职场中正确表现的认识来源于一亩三分地的帖子,具体可以参照我的一亩三分贴子收藏中职业发展的section。最近时间充足了我把亚马逊上销量不错的职场鸡汤买来翻阅,发现里面还是有不少一亩三分地里分享cover不到的内容的,并且本身是拿出来卖的书,整体内容更加有体系结构。我很推荐即将步入职场,不论日企外企的同学们都可以找时间浏览一下这些书,应该会有一些惊喜的收获: