高薪AI工程师辞职做自由职业者,是一种什么样的体验?
文库划重点:一年前的这一周,我刚刚辞掉全职工作,成为了一名独立的NLP / ML工程师和研究员(NLP,自然语言处理,ML,机器学习以下就简称为“自由职业AI工程师”)。到目前为止,我的经历算是挺正面的,过去的一年,也许是我整个职业生涯当中收获最大的一年。
编者按:如果你是一名AI工程师,能拿到很高的薪水,有必要当自由职业者吗?你可以当一名自由职业者吗?当自由职业者的好处是什么?有哪些需要避开的坑?如何才能当好一名自由职业者?辞掉全职工作当了一年自由职业者的Masato Hagiwara现身说法,把自己的经历和体验告诉大家。原文发表在他的个人博客上,标题是:My First Year as a Freelance AI Engineer
介绍
一年前的这一周,我刚刚辞掉全职工作,成为了一名独立的NLP / ML工程师和研究员(NLP,自然语言处理,ML,机器学习以下就简称为“自由职业AI工程师”)。到目前为止,我的经历算是挺正面的,过去的一年,也许是我整个职业生涯当中收获最大的一年。我过去一年的“成就”包括:
- 编写出版了《Real-World NLP》,过去1年半以来我一直在潜心写这本NLP入门书
- 从事研究,推出了多个开源NLP项目,包括TEASPN,NanigoNet ,Github Typo Corpus,以及最近的Open Language Profiles
- 利用迁移学习与多任务学习开发了一个超精细的NER系统,在TAC-KBP 2019上排名第二
- 在做一门AllenNLP的入门课程,几个月之后就将推出
- 还有很多不公开的其他客户的项目
现在,我相信做一名自由职业的AI工程师这个选择是完全可行的(但仅限于那些做好准备的人——见下文)。我认识的很多人,包括我的朋友,他们老问我当自由职业者的感觉如何。他们当中的很多人以前甚至都没听说过有做“自由职业的研究人员”(是的,我也没有)。这就是为什么我要在这里写下我的想法和经验的原因,哪怕你只是有一点点感兴趣,这个也可能对你有所帮助。
你应该去做一名自由职业者吗?
对于绝大多数人来说,答案可能都是“no”。走自由职业者这条路不是谁都合适的。你得是那种享受自由职业的人。这一点稍后再详细介绍。
你还必须非常擅长自己的工作。要设身处地为客户着想,并把这个看成是雇承包商,不管是水管工还是律师都一样。你之所以雇他们,是因为你指望着给钱对方几乎就可以肯定帮你解决问题,而不是因为你希望他们成为“你团队当中的一员”,然后一起共同解决问题,为他们提供学习和成长的机会,以及大量的带薪休假和免费午餐。
作为一名自由职业的AI工程师,你应该从客户开始,熟悉产品和代码库,在几天之内提交第一份PR,并在几周之内完成你的一个有商业指标影响的ML原型或者管道。如果你刚开始进入AI领域,我认为你最好的选择是去一家拥有大量资源以及机会不断的大公司(比方说FAANG)工作,或者去一家快速发展的初创企业(如果你不确定去哪一家,我听过Duolingo还不错),然后利用全职员工的身份去积累经验。
获得报酬
我是按小时收费的。我从来都没做过按项目收费的。我认为AI项目更适合按小时计费,因为很难根据交付的成果来定义工作范围。
我的收费标准目前是短期工为每小时200美元(比方说,每月几个小时),长期的话收费是每小时150美元(比方说每周10个小时以上)。只有一次有人跟我说我的收费太贵了,但大多数客户都认为这就是固定价格。如果客户负担不起我的收费标准时,我们一般会根据工作范围(比方说每周的工作时间)而不是费率来协商。像我这种技能的美国AI工程师的平均费率可能会更高。我也许应该提高我的收费标准。可能早就该这样了......
要感谢最近几年的“AI潮”,对于从事自由职业的AI工程师来说,现在完全是卖方市场(再次地,如果你还不错的话)。那些客户线索和入站请求你永远都不会断。我认为一条比较好的经验法则是你可以不断提高收费标准,直到被拒的比率到达50%为止。这样的话你依然还有剩下的50%,无论如何,这些人往往是更好的客户。作为这个的副作用,你会非常擅长拒绝。我的默认答案始终都是“不”,而且我的日程安排总是安排得很满(除非有空,我当前客户知道这一点)。
谋生
展望理论是真的
哪怕我什么活都不干,我们也有足够的积蓄可以不用挨饿好几年,而且我的妻子还有份全职工作,这对我的跨越非常有帮助。不过,就算你存够了钱,现金流的波动也会对你的财务安全感产生显著影响。比方说,如果你跟30位客户一起工作,要做开始为他们工作的2个月后才能拿到报酬。那么在短时间内,我们的现金流就是负的(尤其是去年夏天我们从匹兹堡搬到西雅图的时候),这段时间就会消耗我们的积蓄,相对于挣得一定数量的钱,我真的很讨厌挣到的钱没了的感觉。如果你把财务安全放在第一位的话,那可能还是去找份全职工作为妙。
跟我的全职工作相比,在过去一年里,我的收入减少了,但相应地我们的工作时间也减少了。我本来可以多干点活多挣点钱,但由于我的小孩还小,陪伴家人很重要。
寻找客户
我现在和过去的大多数客户都是通过网络找到的。会议和研讨会也是潜在销售线索的好来源,尤其是当你也讲而不只是听他们讲话时。当我找到真正想合作的潜在客户时,我会通过“职业”页面直接提出申请。如果你够坦率的话,就会有公司(尤其是初创企业)愿意为合适的候选人提供远程和/或兼职的机会,其数量之大令人惊讶。
作为自由职业者,你总是在寻找潜在客户,因为大多数合同的期限都不会超过几个月。这就是做全职和自由职业者之间的巨大区别。至少在我在做全职工作的时候,我的“职位搜索”状态是双峰式的,要么不看,要么不停地看。如果你只想要一份稳定的工作和薪水,那自由职业可能不是好主意。
自由
大家都说,做自由职业者最大的好处就是自由——你什么时候想干就什么时候干。但至少对我而言,这可能不是最重要的因素。尤其是在科技行业,只要雇员能把事情做好,很多雇主对他们什么时候在什么地方工作已经无所谓了。甚至在成为自由职业者之前,我就可以在必要的时候在家中工作(比方说,我的孩子生病了)。2018年的时候,我甚至在韩国呆过一个月的时间,一边学习韩语。如果你只是因为想找到工作时间和地点的自由而考虑成为一名自由职业者,那么你可能应该先考虑去找个更好的雇主。
作为自由职业者,你可以完全控制自己的工作量。另一方面,做全职工作的话,尤其是初创公司的全职工作,那基本上就是“二元”化,要么全力以赴,要么淘汰出局。老板对你的期望是能发挥全部的潜能。一般而言,你别想一周干20小时然后拿一半的薪水。自由职业者可以轻松地做到这一点,这是独立的最大好处之一。
我是那种总有一堆跟从事工作未必相关的项目点子的人。我一直认为自己更像是艺术家而不是工程师/研究人员,做自由职业者是这个的自然结果。如果你从事的是一份要求很高的全职工作,那再想搞副业就得看运气或者甚至连有没有精力去找副业都说不定了。但如果你成为自由职业者,一切就全都变成副业了。跟我合作过的客户都知道我也在跟别人做我自己的事情,但没人会在乎(不过有些客户希望在合同里面加入一项非竞争条款,对此我完全尊重)。
时间管理
作为自由职业者,你需要善于管理自己的时间,时间等同于客户的金钱。我是番茄工作法的狂热粉丝,我的所有工作都是用番茄工作法管理。典型的一个工作周,我基本上可以很可靠地执行大约80个番茄时间(= 40小时)。如果你曾经用过番茄工作法,那你大概会知道这它的辛苦程度和工作量。如果还没有,你应该认真考虑试一下——你会意识到一天要想真正“工作”8小时就有多困难(比方说,这中间没有上网冲浪,不去看手机,没有无用的Slack聊天等等。)。白天我会在笔记本电脑上用Freedom,在手机上用Stay Focused,去挡住那些会分散注意力的网站。如果没有这些工具,我甚至无法想象自己怎么开展工作。
不过,那40个小时可不全都是能收到钱的。这其中还包括跟个人和工作相关的开销,比方说学习(见下文),发送发票,管理预算等等。此外,如果你从事研究工作,还需要考虑在学术活动上花些时间。如果你对会议进行纸质评论,则应将其计入。如果你要为会议进行论文审查,也得把时间计算进去。这可以帮助你为每项活动开出的 “配额”现实一点。在新的一周开始之前,我会用要点的形式列出计划,并为每项活动留出预期的番茄钟数量。跟开出厨房水槽式的“待办事宜清单”总是遗憾时间不够相比,这种做法要好得多。
我的很多客户都不要求定期“签到”,目前,我通常每周只需要花2到3个小时去参加会议。会议的溢出效应太大,而且确实给我造成了损失。比方说,哪怕我下午只开一个会,我往往也要大概去想想我该讲什么,要不要做一些必要的准备什么的(包括预订会议室)。会议结束后,我还得回忆一下我们都讨论了些什么,有没有什么是需要跟进的。所有这些溢出效应尽管很小,但都会让我的心流被碎片化,造成工作效率大为下降。因为我花在会议上的时间很少,所以大多数日子里我都会有大块的时间连续工作,这对我保持头脑清醒确实很有帮助。
有时候客户并不理解工作的难度之别
到目前为止,本文跟“AI”基本上扯不上关系。那我其实都做了什么?在过去的一年里,我戴上了许多顶不同的帽子——顾问,工程师,研究员。对于某些客户来说,我会跟他们开会,并提供有关如何实施AI项目的建议。对于其他人一些人来说,我会以合同软件工程师的身份去写代码。对于还有一些人来说,我从事的是研究工作,是论文的共同作者。不过,对于很多人来说,工作基本上就是大杂烩。
我认为现代的机器学习工作是适合做兼职工作的。如果你在做的是大型模型,那么训练不说话个几天往往也要花好几个钟头,这并不算少见。机器学习的研究人员和从业人员都知道自己在训练模型和超参数调优上面花了多少时间。如果你从事的是全职工作,那你别无选择,只能等到训练完成后再换到其他项目(如果有的话)。而作为自由职业者,你只需在不同的客户间切换。
作为ML自由职业者,你需要制定策略来保护用于训练模型的GPU资源。有些客户很好说,他们会让我用他们的基础设施,但有的客户就没那么好说(一般是出于安全的原因,承包商的访问权限非常有限)。对于我的个人和小的客户项目,我会根据需要用AWS的竞价型实例跑我自己的定制化AMI(Amazon系统镜像)。我在GCP上面还有一个小一点的GPU实例,可以根据需要启动和停止。我不会在TPU上训练庞大的128层的Transformer模型(现在还没有),也不会24/7地用GPU,所以到目前为止,这种按需的解决方案已经足够了。
如果你从事AI工作,那么分配出时间用来学习和个人发展至关重要。如果你从事的是全职工作,这往往也是日常工作的一部分,并且你往往要花时间去看论文,而且工作时间内就会有“阅读小组”的安排。作为自由职业者,这些时间一半都没有钱进账的。一般而言你是不能够因为自己上周花了这么多时间来看论文就向客户收取三个小时的费用(如果你认识这么慷慨的客户,或者如果你就是这样的客户的话,请务必告诉我)。请记住,你是专业人士,别人雇你是要解决问题而不是花钱让你学习AI的,每个人都希望你已经很好地了解并跟进了最新的AI开发技术(我知道,我知道…...可现在有谁真的做到了与时俱进了吗?哪怕AI的一个领域?)我认为这就是你为了换取作为AI自由职业者拿到更高的单价而需要付出的代价。
我住在西雅图,但是我不确定这对成为自由职业者是否有帮助。除了要出席会议以外,我一般都远程办公,很少去上班。尽管即使我住在地球的另一端也能做我的工作,但我跟Allen AI的合作,让我能在很短的时间之内赶过去跟团队共进午餐。如果你从事远程工作,如果你住在生活成本低的城市又跟其他大型技术中心的客户合作的话,那就更好了。
职业发展
肯定有一些办法能够让作为自由职业者的你变得更有经验,但是这些办法会跟全职工作的大不一样。我现在才刚刚起步,所以明年我可能会有不同的看法。
加薪这种事情一般都不会写进合同,除非你跟对方谈判。但是你可以慢慢提高费率(比方说每年两次),直到对方开始拒绝为止。出于这个理由,我认为,作为一名自由职业者,要想多挣,大概要比全职员工容易些,因为后者需要依赖通常无法控制的绩效评估和晋升。
说到提拔晋升,作为自由职业者,你可以不受办公室政治的影响。你的结果就2个,要么完成工作,要么不完成。你不需要不断去考虑该向哪一位领导献媚好获得下一次晋升。不好的一面是,尽管我也会去指导为我的客户工作的初级开发人员和研究人员,但作为自由职业者你通常没有管理经验。
把自己看作是专家而不是通才,我想这一点是有帮助的。比方说,如果你遇到严重的健康问题,需要进行非常复杂的手术,那你可能不希望你的家庭医生来给你治疗。如果你有牵涉到数百万美元的复杂诉讼,你大概不会向自己的个人税务会计师寻求建议。只干你的“AI ”(此处空白译文出处如此——哈希力量注)工作可能最符合你的利益。如果你是一位用scikit –learn只做“预测建模”和“文本分析”的AI多面手,那么你也许只能吸引到只希望在自己的PPT上呈现“AI”这个词的绝望的初创公司或产品团队,而且你还得跟Upwork 上面一大堆通才型的“AI开发人员”竞争,而且很多人都生活在工资比你便宜的国家。把你的利基市场范围缩小,去吸引特定类型的客户,他们的那些特殊需求这个世界上只有很少的人能解决。
我的专长是用NLP / ML处理亚洲语言处理和语言教育。在定义你的特长时,我认为如果按照行业而不是ML栈来定义会有所帮助。比方说大家会找“医疗保健的AI解决方案”和“金融的文本分析”,而不是“GAN”或“ Seq2Seq模型”。不管你从事哪个行业,你都需要乐于学习广泛的ML技术和模型——从简单回归到GAN和RL,不一而足。
或者甚至如果你对创办自己的企业,尤其是B2B SaaS 企业稍微有点兴趣的话,我认为以自由职业者身份工作一年左右,是了解市场需求然后慢慢过渡成创业者的好方法。如果你跟这个领域的很多客户做了很多项目,就一定会注意到一些常见的模式和需求。这些就是产品创意很好的萌芽。我的一些开源项目(比方说NanigoNet 和Open Language Profiles)就是这么诞生的。
合法化
我成立了一个只有一个人的有限责任公司,就是为了自由职业开的公司(我搬到华盛顿州之后又申请了外国实体)。所有的合同都是用我的LLC所有者身份签署的。如果我有“公司”的话,我的一些不是美国的客户会更喜欢。我不是律师,我这里写的东西你要持保留态度,但是我认为,独资经营者和单人有限责任公司之间并没有太大区别,除非你搞砸了(比方说,被你的客户起诉)或者你取得了巨大的成功(比方说,被一家公司收购,每年能赚数百万美元,或者你组建了有十几名员工的团队)。
我认为,哪怕是对于像我这种母语不是英语的移民来说,美国也是当自由职业者的好地方。作为合法的永久居民,你跟总部位于美国的客户合作可以更加容易,而后者一般会支付更高的费用。这里的法律制度至少是过得去的。如果你知道你要干的是什么的话,申请开一家LLC只不过是到州秘书长网站填份表单就搞定的事。与之形成鲜明对比的是,在日本办企业就算想想也会令哪怕来自日本的我不寒而栗。你要提交公司印章的证明,公司银行存折的副本,还要把公司注册放进软盘或CD-R里面。我认为他们的政府在考虑制订“国家AI战略”之前还有一些工作要做。
在美国做自由职业者有个缺点,那就是医疗保险。我先是用COBRA延续了钱雇主的健康计划,然后搬过去后又切换到另我在州市场买的一份计划。要做好每月比全职员工至少多付几百美元医保费的准备。
开始之前先看看《给自己打工——为Nolo的各种独立承包商、自由职业者以及零工工人准备的法律与税收》。我在开始成为自由职业者之前一页页地看过来这本书,为这本书花的每一分钱都是值得的。他们的一些相关书籍也都不错。
关于税收我没有太多可以说的,因为今年四月才是我独立以来的第一个纳税申报季。我在转型前曾跟我的CPA全面讨论了自己的选择。我在Google Spreadsheet上跟踪了我的业务收入和支出。我不确定这是不是个好主意。至少,这样不至于会忘记按季度纳税。
总结
在本文中,我证明了当自由职业AI工程师是一条可能可行的职业道路。你需要了解情况可能会因人而异。所以如果你出来单干后又破产了也不要生我的气。如果你有兴趣了解更多信息,有任何疑问或反馈,请给我发电件。我会很高兴去分享我的经验!
(文章部分插图在不影响内容整体和作者观点的前提下,哈希力量未收录。译者:boxi)
收录于哈希力量,手机站省略本文固定网址