转眼已经离职半年多了,早就想写一篇工做总结,但因为一直在准备英语考试,又须要处理结婚和房子装修,没想到一拖拖了半年。在淘宝作前端是我第一份签了劳动合同的工做,在这我的才济济的大公司里,接触了很是多的人和事物,也学到了很是多的东西、开阔了眼界。因此仍是有必要作一个回顾和总结,一是本身备忘,二是或许对一些前端新人有所帮助,由于这篇文章会涉及到一些入职、职业规划、招聘、晋升、离职等方面的信息。css
因为篇幅过长,三年总结将会分三篇发布,当前是第三年:前端
第一篇(第一年)主要总结如何进入淘宝要用什么样的策略,如何站在老板视角看问题,我眼中的阿里文化等(已发布:juejin.im/post/5c74d4…)。git
第二篇(第二年)主要总结如何评审需求和推动项目,如何理解业务,飞冰项目的起源等(已发布:juejin.im/post/5c7daf…)。程序员
第三篇(第三年)主要总结如何管理开源项目、推广项目,对招聘面试的思考,以及技术危机,我离职的缘由,技术移民的考虑和将来规划等(已发布:juejin.im/post/5c811e…)。github
2017 年 5 月,新财年开始了,因为原 ICE 负责人调离到其余项目,因此老板须要指定一个新的 ICE 负责人。因为我做为初代开发者,能够说是最了解 ICE 体系的人之一,又什么都愿意干,就顺利成为了新时代的 ICE PM。以后调整了项目组成员,整个小组算上我一共四我的。目标是开发并发布 ICE 10(能够理解为迭代到很是高级版本)和开源。面试
任务仍是很艰巨的,当时 ICE 算是一套脚手架 + 一堆业务组件和基础组件 + 教学文档,这些东西其实没什么技术含量和创新,怎么能够达到 ICE 10 的版本?开源出去又怎么能跟其余项目区分?算法
因为一些双十一工做,直到国庆以后咱们才重视这个问题,常常脑暴要怎么作。始终跳不出来原有的思路,这样显然是完不成目标的。老板提了一个方案,能够经过可视化客户端来提高开发体验并扩展更多功能,打开了新思路。若是命令行工具看做二维,那么 GUI 客户端就是三维的了,在三维空间中,咱们能够作的事情太多太多,之前命令行选模版只能看到文字上下切换,用了 GUI 直接能够看到效果图并用鼠标选择,可视化搭建也不是问题。因而 10 月 31 日晚上我连夜画出了初版 Iceworks 的原型和工做流程,小组开始进入 ICE 的新的阶段开发。安全
通过技术调研,客户端咱们选用了 Electron 来开发,为了不系统安装的麻烦,咱们直接将 Node、NPM 等二进制文件包到项目里,这样只须要下载客户端自己便可使用。回想起这个过程,能够说是各类踩坑,不过最后都想办法解决了。微信
我挺喜欢作项目管理和时间管理,有了 PM 这个头衔以后,得益于老板的开明,更是能够施展一些想法。咱们四我的都有一半多时间在业务工做上,然而 ICE 才是工做重点,因此常常加班来开发,因而也攒下了不少调休时间。调休时间有有效期,并且给咱们假期也无法休息,毕竟事情干不完。网络
因为我以前在大学的时候是自由职业,也曾经体验过数字游民的生活,因此我想出了一种办法——“外出办公日”。顾名思义,在某个你们肯定没有大事情的周五,咱们集体使用调休请假。但因为活干不完,不可能真正的休假,因此咱们集体去公司外面,找个环境好一点的地方办公。咱们就利用调休时间专一开发技术方面的工做,业务上的事情能够暂放,而且由于是工做日户外的人也相对少一点,比较轻松方便。
第一次外出办公日,咱们去了市区一个文化创业园区找了个咖啡馆,中午开车一块儿去盒马吃了大龙虾,饭后逛了创意家居店,下午转战一家星巴克。第二次外出办公日,咱们去了西溪天堂的星巴克,中午在旁边外婆家总店吃了一顿不错的午饭,以后在西溪天堂逛了逛。
体验上来讲,确定是比在公司工做爽,可是工做效率受限于网络和座椅温馨度,并不算是很高。总的说算是给生活找点不同吧,留下点不同的回忆。后来咱们以为不须要去公司外面,能够在公司星巴克或者找个封闭会议室工做,中午开车出去吃,下午早点下班也是挺好的,能够兼顾工做效率和体验。
因为项目启动较晚,快要到 D2 了,ICE (开始启用外部品牌名:飞冰) 产品尚未上线的可能。不过咱们仍是但愿抓住这个机会先宣传一下,因此迅速打印了个海报,搞了个钉钉群,作了个介绍网站,让你们感兴趣的先进钉钉群、Star 一下。这算是第一次技术产品冷启动吧。虽然最后吸引到了 300 左右 Stars 和大约一百多我的加群,但效果不理想,这个群一直很冷清,也没有达到预期的内测效果。可能由于自己新版 ICE 概念挺复杂的,并非一张海报、一个简易站点就能介绍清楚的,更没有实际流畅的产品演示,这很难吸引到真正的目标群体。
D2 以后咱们继续按节奏开发,还算顺利发布了 beta 版本。有一天我看到了知乎的这个问题《2018年了,你们都是怎么从零开始新建一个前端项目的?》很适合介绍飞冰,但又以为还不成熟可能玩砸。不过知乎新问题最火的就是最开始一两天,火过了以后即使是有新答案,你们看过的也不会回来看了,只能硬着头皮推广上去了。GUI 的思路比较清奇,所以流量和 Star 迅速上涨,快速涨到了 1200 多。 相比第一次推广,此次有 Demo 和跟其余问题的对比,让人很容易理解这是什么。所以来试用的有都是感兴趣的用户,因此算是比较成功的冷启动。
以后我又开始 “压榨” 小组成员了,由于刚发布 beta 版本,有不少 Bug,新来的这些第一批种子用户可谓是相当重要。用得爽了,开始分享推荐给朋友;用的不爽,开始骂、劝阻别人不要尝试。一正一反,一个天堂,一个地狱。 因此当即召集会议,劝说你们先放掉手头上其余工做,重点保障 Iceworks 的稳定性和用户体验,让你们多多理解。我下午就用脑图梳理了测试用例并进行了各类测试,并将阻塞性 Bug 分配给你们一块儿加班解决,因此还算顺利没有崩掉。但后来仍然零散看到有人说他以前遭遇过问题(其实咱们很早就修复了)以后,就没再用了。
因此我特别理解产品经理的紧急需求,有时候一个业务的成功和失败可能就在这短短的一周时间内决定。 因此若是产品经理有紧急需求,我基本上先从业务闭环上来看这个需求真正的紧急性和重要程度,若是真的紧急,是会加班想办法快速落地上去。
以后就是继续回答问题,编写相关介绍文章。同时建立专栏、鼓励入群,留存有兴趣用户。当时还看了一些 Growth Hacker 的书,因此我将迭代节奏控制在两周一个版本的速度,在专栏中发布日志。虽然这样给团队施加很大的压力,可是能够有更多尝试,也给用户一种很年轻、快速迭代、积极响应的印象。惋惜离职以后,好像就没有这种发布节奏了。
飞冰产品发布以后,不少人都会评论问这个问题。是的,全部阿里开源的项目背后都有 KPI 考核,都算是 KPI 项目。其实国外的不少知名项目,背后也确定有 KPI 或者相似的指标考核,毕竟开源项目最终是要给公司带来收益,否则公司为何要花钱雇佣员工来维护这个项目。
从另外一方面,没有 KPI 的开源项目,尽可能别用。就像不少我的本身玩的项目同样,没有目标和利益闭环,极可能很快就放弃再也不维护了。 即使是很是有名的库(例如前段时间 event-stream 被黑事件)当开发者背后没有兴趣和利益支撑,也会放弃维护。一旦开发者都放弃了维护,Bug 修复、安全性、新功能支持就别想了。
有机会站在开源产品开发者的角度看用户反馈,会发现总有一类人会冷嘲热讽,甚至本身都没理解就开始评论,这种我通常会怼回去。正确的作法至少先确保本身理解了,而后以为有问题直接提,哪怕语气很差咱们也很愿意接受。但本身都不先了解,跟风来个:“哟,快看,又一个阿里的 KPI 项目出来了。” 其实一点也很差笑。倒不是说不能接受批评,而是几我的辛苦搞出来的东西,接收到这种毫无心义的评价太难受了。
今年作了 PM 以后,老板更是 “授予” 我招聘的权限。因为具有更高的权限,有机会看到一些面试者面试经历和面试官的评价。
看下来,感受面试的运气成分仍是挺大的。并且特别低效,我电面一个通常会根据简历描述和项目再加上咱们团队本身的技能需求模型来设置问题,面试可能要 30 - 60 分钟,准备这些也得半小时,因此电面一个的成本要接近一个半小时,并且绝大部分都没有经过,成本过高了。
后来在知乎看到了 Google、Facebook 这些公司的招聘方法和讨论,感受更合理一些。北美公司基本上都是先一轮算法面试,题目大都是肯定的类型,基本上鼓励你去提早刷题,而后来看你的水平。这实际上是一种下降面试结果不肯定性的方法 ,由于对于相同的难题,在给出时间进行准备后,不一样的人对题的解法是能够看出水平差别的。有的人笨,可是愿意下功夫,仍然能够获得不错的成绩,有的人水平高,天然更能拿到更好的成绩。若是给了同等的预习机会都没作好,还说本身有很强的实力和学习能力,显然是站不住脚的。
因此我倾向于按照本身团队技能模型设置开放性问题对外公开的模式来招聘和面试。 开放性问题设置的好坏很关键。好比 winter 很早以前就提出过的一个 CSS 面试题:css的position属性有哪些取值,它们的行为是什么? 这道题就能够很好的分层求职者,初级水平知道有几个值就自认为能够完美解答,但真正深刻研究过的,则知道更深刻的各类排版渲染属性叠加后的行为,补充更多细节。对于面试官很容易经过开放性的问题衡量求职者的深度。
这样初筛比较节约时间,对于面试官拿着准备好的问题便可。对于面试者,也能够尽量提早准备下,避免临场发挥失误致使错失机会。此外经过问题,面试者也能知道这个团队主要发展方向,并对本身水平自测。百度 FEX 团队几年前就有这样一份招聘问题,就很值得借鉴。
离职后,我也变成了求职者,也有了疑惑:本身应该作什么样的准备、学什么样的内容好找工做。 后来发现我想反了,不该该让本身去 “适配” 可能出现的工做机会,而应该专一本身兴趣所在,将本身感兴趣的技能模型的内容学到比较深的层次 ,这时候匹配这个模型的岗位就很容易选择你而不是其余什么都学一些的人。特别是大公司,更看重技术深度。因此若是你有意向寻找机会进入大公司,能够先梳理本身的兴趣产出技能模型(好比是作数据图表可视化?富文本?前端测试?仍是工程工具等),而后再找对应公司的对应团队或者岗位。比较好的团队还会有开源项目,能够深刻去看看而且贡献,贡献的多了或许直接就招进来了。
此外,证实你具有这种能力也是必要的内容。对于一个技能点附加上写过的总结、作过的分享做为“证据”,那么会更加可信而且便于了解你的真实水平,提升筛中率。因此我本身但凡学点新东西,至少写个笔记或者文章,最好作个项目实际在代码层面用上。
从上文就能够看出今年写的代码不是不少,主要工做有不少业务推动、项目管理以及招聘等比较杂的事情。并且不一样于往年双十一以后有喘息时间,一直在忙。更关键的是,个人技术危机也浮现出来了。这种感受就像一直在吃技术老本,只在本身工做范围内的相关技术研究的比较深刻,外面世界新技术很是多并且先进,但又苦于没法在工做中落地、缺乏时间和精力,很难学习。
技术能力对技术人员仍是相当重要的。 业务能力比较难客观衡量,实际落实的业务代码一般是没有很高技术含量的代码。技术产品方面,我更多处于一种打杂的状态,一般这个地方进度慢了,我就补上去开发,对外宣传培训、制做海报、合做对接等,基本的都是我先顶上去,这些显然没有技术含量。我虽然对各个系统都很了解,但都不够深刻。
老板也发现了这个问题,协助安排我一些脱离主线的偏技术性的工做,但因为主线飞冰事情都忙不过来因此也一直延期没作。不管如何,我发现我好像没有技术抓手,并且一直处于很是忙碌压力山大的状态,很难有所突破。
越是这种忙的时候,越不能浑浑噩噩过去,要找下解决方案。我有个习惯是遇到很难解决的问题,就去找下知名人物的传记看看,看看他们在我这个阶段在作什么,会有什么样的思路。
以前各个阶段看过比尔盖茨、李开复、马云、乔布斯、扎克伯格等传记,受益颇多,此次我从雷军和马斯克中选择了马斯克的传记《硅谷钢铁侠:埃隆·马斯克的冒险人生》。我趁着春节放假,第一次一口气废寝忘食的读完一本传记,简直为我打开了一扇新的大门。
书中给我震撼最大的句子以下:
人类渴望巨大的科技进步,然而最聪明的人如今却在互联网公司研究怎么让人们点击广告。继续留在阿里,可能会深刻技术慢慢晋升,也能创造不少价值,并且双职工的收入也彻底能够在杭州过得很是舒服,离职打破就是啥也没有了,但有必定几率能够创造更大的价值。在阿里仿佛看起来是一条将来肯定性很强的路,而我还年轻还能折腾折腾。最终我选择执行 PlanB:技术移民新西兰。
为何要移民,为何选择新西兰,为何要选择这个时间点去?实际上是几个缘由交织在一块儿:
因此趁着婚假登录边游玩边实地考察了一下,感受真的很不错,没有什么陌生感。再加上对政策收紧的风险预估(果真后面进一步收紧),因此就提交了离职,提早开始执行 Plan B。
通过后续一段时间的交接等,跟战斗过的同窗们一一告别,个人淘宝生涯 last day 最终定格在了 2018 年 6 月 1 日。
第三年对业务的理解更加深刻,也比较积极的推动业务,虽然不少尝试最终没有取得想象中的结果,比较遗憾。技术方面也有幸成为了飞冰 PM 并管理进展将其推向开源社区。今年虽然小组人少了不少还都是兼职,但个个都是精兵强将,因此才有如今的开源版本。
从最初的目标来看,飞冰并无达到 10 的版本,顶多算是 2.0,因此技术这方面结果并不能算是特别好。不过可能业务上前期投入比较多有加分,仍然拿到了不错的绩效。
关于互联网加班这个事情,颇有争议,在阿里我本身加了很多班。但我认为加班都是本身选择的,并不会特别在乎这个问题。其实早在上学阶段咱们就一直在拼“加班”,不聪明的人想要考试成绩好,就得多花时间看书学习。 因此刚毕业时我选择牺牲一些时间和身体健康,多学点东西,之后就减小加班了。
因为身体考虑和技术危机等我也开始寻找新出路,得益于马斯克的启发,我制定了新十五年的大致计划。将来我将会在新西兰继续作 Web 开发者,深刻学习相关技术,本身作一些产品试水,同时补齐英语、MBA 等缺失的技能,而且肯定后续几年要作的具体事情。固然也可能开始习惯新西兰慢生活,提早进入养老模式,这个就留给将来慢慢探索吧。
回头来看,很是幸运能拥有淘宝前端团队的这个工做机会,也很是感谢老板们和一块儿奋斗过的同事,从他们身上也学到了不少,也获得了不少照顾。 惟一比较遗憾的是没有尝试去晋升 P7。由于晋升面试在 7 月份,若是我打算参加就须要准备不少东西,再加上今年没什么技术抓手,也基本没什么但愿晋升,并且参加可能会延后移民进展。即使十分侥幸的晋升了,抢了别人的机会以后忽然离职可能会对团队形成比较大的损失,因而就算了。
离职仍是要慎重,尤为是裸辞。攒下的钱会以超出预期的速度很快花光,因此目前个人文章、项目等都放着捐款二维码,群里的红包也开始抢了,之前有工做的时候,基本不作这些事情 ^_^。
不要高估好看的美剧的数量,四个月就能够刷到剧荒。又刷完了全套的星际争霸 一、2 的剧情和古墓丽影。
以前健身大半年没有效果,由于频率不固定,饮食很差控制。离职后两个月规律健身,调整做息,都是本身在家作饭吃,减掉了十多斤,也再也没有半夜拉肚子那种状况了,身体素质好了不少。不过如今锻炼少了,开始轻微反弹了。
英语考试是个门槛,以前一直有所准备,因此低估了难度,浪费了时间,模考后受到了不少打击。最后闭关 40 天复习,顶着巨大压力考出来了。以后还写了《专为程序员编写的英语学习指南》分享一些学习经验。也十分感谢这段时间老婆的悉心照料。
同时也很幸运的成为了全球 300 分之一,抢到了银蕨工签。没多久新西兰政府就发表了新提案,所以新一年银蕨不必定开放了,并且继续提高雇佣外国人的门槛,促进本地人就业。幸好今年离职了。
我一直有个记录时间和写周报的习惯,在家工做没了干扰,因此很容易分析时间浪费和工做效率,所以对自控力也有点研究。自控力就像消耗品,休息事后最强,慢慢消磨,消磨殆尽以后很容易被诱惑作不理智的事情,同时心态也容易崩,容易抑郁。 因此周一早上最强,递减到周五晚上。因此工做安排上,应该将最重要并且最难的安排到早上(幸好以前开发富文本是早上开发),而后晚上早点休息,由于效率过低白白浪费时间,虽然有时大脑会欺骗你让你很兴奋。
睡眠应该是直接影响生活、身体、工做效率最严重的变量,效率低、心情很差、遇到难题,睡一觉就好。备考英语期间,长期高度精神压力,产生了肠胃和睡眠问题,同时致使心情抑郁。我以为压力控制和心理疏导应该放在义务教育里面,太缺少了。回想以前工做中,其实也有高度精神压力的时候,但因为变量太多本身却意识不到。 因此创业以前应该要学会调整压力,不然时间久了很容易出现心理问题,甚至作出不少冲动的事情。
全文完。
以上就是我在淘宝第三年的经历和学到的东西。欢迎关注个人掘金账号。平时在知乎也很活跃,有知乎的也能够关注个人知乎帐号 于江水 、专栏 于江水在知乎 以及 个人 GitHub,以便看到我后续的做品。也能够加我微信:Jiangshui-Yu 。
此外,预计今年 5 月份,我将登录新西兰找工做,若是你在新西兰或者有认识在新西兰作开发的朋友,但愿能够联系我或者推荐给我,届时或许须要请教一些问题或者帮忙内推,先谢过了。