Faster, Higher, Stronger
更快,更高,更强

8年阶段性职业总结

从15年末16年初开始进入程序员这个行当,到现在也五年半了。你去看网上的哪些招聘信息,基本对工作年龄的要求就是1~3年、3~5年、5~10年几个档,所以3年和5年是跳槽性价比最高的时候,因为3年的时候你可以在3~5年的档里找,5年的时候可以在5~10的档里找。所以前段时间我就请了假出去面试了,也顺利拿到了一份现阶段来说不错的offer。毕业是2013年7月,现在是2021年7月,正好8年时间,做一个阶段性职业总结。

一、迷茫和科学素养积累阶段(2年)

2013年毕业后先是在一家小药企做了3个月的QA(质量管理),短时间内快速拓展了对一个常规药企内部各个部门之间协作关系的认知。在上大学的时候,虽然知道药企里有车间、QA、QC、QR(Quality Research,质量研究)、RA(Regular Affairs,直译是法规事务,在药企里一般代指药品注册)、Warehouse(仓库管理)等岗位,但是并不知道实际工作的画面是咋样的。这三个月通过自己的观察和与同事的沟通,大致补齐了这块的画面,有了一个简陋的全局观,但是也迅速看到了公司里的很多问题,所以在转正之前就溜了。我记得有次我去县图书馆,里面除了我基本都是一些老人在看报纸杂志,那种格格不入的感觉让人印象非常深刻。

之后在一家国内排名五十左右的上市药企做了2年左右的国外药品注册工作。这段时间里成长最快的是最初的3个月,因为工作性质的原因,那会每天敲的英文比中文都多,3个月的时间,让自己习惯了用英语作为主要工作语言(习惯用英语和英语好是两回事)。用即时聊天工具的时候也懒得切中文输入法。算是一定程度上的量变产生质变吧。之后的漫长时间里,主要是对药企全局体系下的细节画面进行了补全,与此同时结交了一些朋友,工作中和很多领导接触比较多混了脸熟(反过来会对工作有很多帮助)。

当然,受限于从业时间的问题,这里所说的全局观只是一个相对的全局,产品形式上侧重化药/发酵API(原料药)、制剂,流程上侧重于QA/QC、研发(仿制)、工艺/质量研究+批量放大(小试+中试+大试)、注册、国外客户售前/售后支持。对于比如生物制药的研发这块对当时的我来说就是妥妥的盲区(例如将灭火病毒注入实验动物找到一堆抗体蛋白,然后去分析DNA序列,再去表达成蛋白试验效果,反复调整,一般还会涉及一抗二抗三抗等的聚合,表达出的蛋白要能在副作用可控的情况下尽量将“战斗细胞”与癌细胞等靶细胞抓到一起,减少战斗成本)。

这段时间,对职业的发展也是很迷茫的,现在药学行业好像薪资也还不错。但是当时薪资确实是不行的。我所在的沈阳药科大学,在药学领域里是比较知名的学府,每年基本上国内知名的药企都会到学校里去搞招聘(方便是方便,但是也搞的比较内卷,其他学校去面试这些制药公司就平常着装即可,我们都是要穿西服的)。所以我们对全国整体的一个薪资情况是有个大体了解的,销售类工作性质特殊,撇开不谈,QA/QC/注册类工作的薪资大体上是这么一个分布——沿着中国东部沿线从北往南(从东北、山东、江苏、上海、浙江、福建、广东到广西)大致是2000=>3000~3500=>4000左右的样子。薪资最高的普遍在广东一带,比如深圳致君制药。最低的我记得是好像是车间岗只有一千多,在北东北(北东北指东北内部的北边)的,公司就不点名了,反正是以前电视广告上经常放的。江浙沪以3000左右最为常见,但也有例外,比如上海闵行这边还有报价2500的。哈哈,想起来一个事,那边来的东阳光药宣讲人挺风趣的,在宣讲会上除了说他们有200台HPLC(以为会比我们学校多,其实没哈哈),还说他们那上下班公司会有摩托车队护送(当时东莞的治安是很乱的),印象挺深的。而且那会每年的薪资普涨基本是一两百,三百算多的(海正杭州好像是三百)。扯远了,反正就是想说那个薪资对男生而言不担心未来前途是不可能的,所以就会迷茫。迷茫的除了薪资,还有能力的水分问题,那会明显感觉这类重资产行业是比较适合长期从事相关工作的,职业寿命会比较长久,但是反过来个人能力对公司的依赖也是很高的,离开了公司基本上你就搞不了药物研发、药品注册这些。所以你就会不知道自己是一个有能力的人还是一个平庸的人。但是这薪资反正你是不好意思说自己是个人才的。

虽然后面我暂时离开这个行业了,不过离开后的第一年和第二年,都有之前做国外药品注册的公司的QA和注册部的领导私下联系过我,一个是问我愿不愿意去安徽子公司弄注册(去拓荒,基本是个准小领导的角色),还有是领导朋友所在公司需要招注册经理让帮忙推荐然后问了我一下。我觉得这至少说明我做注册那会工作上给人的印象还是不错的。

这段时期,除开迷茫之外,我总结为科学素养的积累阶段,主要是积累了一些方法论和行为习惯

  1. 从全局到具体,或者反过来。而且这是一个不停重复的过程,比如可以从具体到全局再到具体再……。
  2. 量变产生质变。但是这个量最好是单位时间内密度比较高的量,因为时间本身也是有成本的,成本过高时质变收益的性价比就不行了。
  3. 重复的动作/思维行为容易形成习惯。长时间做相似的工作可以让人进入机械状态(有较高的效率)。
  4. 养成英文使用习惯。其实绝大多数(这里去掉“绝”字就有些过于夸张了,是的,我没写反)“知识”的语言载体还是英文的,这点通过全球学术论文中英文语言的占比可证(不管是自然科学还是社会科学)。
  5. 科学使用搜索引擎。不管你做哪个行业,搜索引擎里使用“关键词 site:域名”、“文件名关键词 filetype:文件拓展名”等技巧都是必须要掌握的。最好你是会科学上网,但是不会也不是很妨碍。其实你会发现有很多人遇到问题百度一下都懒得百度,就直接问,你会百度直接搜,你就已经超过很多人了。另外一点就是你去搜一个东西之前,对于是否能找到理想结果应当有个事先的合理预期,最直接的就是你应该知道你碰到的这个问题是不是很有新奇的问题,比如你碰到的是个常用软件在windows10系统上的兼容问题,首先windows10系统出来已经很久了,其次软件是常用软件的话别人早就应该有很多人碰到过这样的问题,所以你就可以预期相关的信息是很容易搜索到的。说这个的意思是,有些东西你并不用提前会,你只要能进行合理预期就可以了
  6. 工程与结构化拆分。通常一份药品注册申报资料的页数经常是200~500页之间,这个体量的文档本身就是一个不小的工程了,不进行结构拆分的话会觉得没有头绪,然后拆分一下就会觉得好像东西也不多,就是摘要、质量标准/研究、工艺介绍、批次数据情况、图谱附件之类的。合理把一个工程项目结构化可以显著降低心智负担。

二、转行程序员(0.5年)

大学时期喜欢写博客,也喜欢看别人写的生活类的博客,然后自己也用wordpress搭了个博客(那会不会写代码,要实现功能或者改样式啥的,都是网上搜现成代码复制粘贴)。

另外,在药企里的时候,根据自己的实际工作内容,也想过自己需要的产品,《结合注册工作对ERP进行的一个需求分析》便是当时写作的一篇文章(虽然现在回过头来看,这不算什么完整的闭环项目需求)。

再另外,那会深感在药厂这种重资产行业里,个人的能力与公司挂钩太明显,你换个公司可以,但是你不能不在某个公司里,大部分情况下不在公司里,你的很多工作都是不能开展的,具体体现就是你个人做不了什么事情。轻资产行业里年轻人有所作为的成本更低,重资产行业更适合长期从事,适合养老(这里养老并不是指工作清闲,是指不容易被辞退,适合长期从事)。

种种原因,当时想转行后自然就往程序员这方面考虑了。

2015年下半年花三个月(2015年7月~9月)看了下前端的东西。但是想的是尽快,所以没选择边工作边准备的方案,直接裸辞后在当时在公司附近租的房子里看书学的,那会虽然离职,但是吃饭我还是去公司食堂吃的。这也方便利用外界舆论压力督促我抓紧学好走人,因为会经常被熟人问什么时候走,哈哈。吃食堂还有个原因是外面的已经吃不起了,那会攒了一万多点,然后捐掉了一万,手里没多少钱,一天三顿饭都吃不起了。

可能是作息不太规律,后面病了一场休息了一个月(2015年10月),之后就正式加入了程序员大军。

在我的影响/建议之下,前后想转行的有3个:

  1. 其中一个转了测试:这位是我当时在药企时的室友。自律性可能不是很强,但是对薪资有一定的渴望,然后报名参与了线下的课程,学的是java最后实际从事的是测试的工作,其实也还好,比转行前要好很多。
  2. 一个转了服务端。这位是我学妹,本身学习能力就不差,自律性也不错。转型是三个人里最成功的。
  3. 还有个没转成功,至今还在药学行业。他的执行力较差,并且买的是网课性质的课,这种课不适合执行力差的,最后的结果就是想转行想了两三年,无果。

这段时期,总结下来的结论是:

  1. 要转行就趁早,适当的借助外界压力有助于你更顺利地转型
  2. 在你还没什么财富、名望的时候,如果不安于现状的话,要有一定的精英意思,认识到时间的成本(那会我虽然薪资没到3k,但是已经按30k来算我的时间成本了)。
  3. 如果安于现状,也没有什么不好的,每个人都有自己的活法,不要去盲从别人,也不要被网上贩卖焦虑的文章影响到

三、编程技能培养期(3年差3个月)

跨行业找工作一开始是比较难的,找到的第一家公司是不缴纳五险一金月薪3k的做H5活动页的外包公司,每天都工作到十二点左右,里面也没有人带,除了远程兼职人员外,前端就我和另外一个人(需要我带),最主要的是坐我们正对面的是直接对接外部客户公司的业务同事,基本上从早上一直催我们到晚上,压力超级大。因为感觉学不到东西,我也大病刚刚恢复,这个强度对身体不好,所以干了一个月就拿了三千走人了。离职是说可以给我涨到六千,但是我离职不是因为薪资的原因,所以还是走了。

第二个月就在一家上市公司时上班了。当时,我所在的团队属于公司自主项目(公司大部队是做太保外包项目的),团队长期处于【1领导 + 1前端 + 3后端 + 1设计 + 1测试】的配置中(博客名称【峰间的云】正是设计老哥帮忙起的名字),所以有比较强的单兵作战能力和强烈的代码洁癖。这一时期技术栈主要是vue。主要搞的是微信公众号纯wap项目,接触过混合APP、react native、。初步具备用node写一些小工具的能力,写过控制无头浏览器批量截屏带数学公式的页面(需要加载页面后等一段时间前端插件渲染完数学公司后再截屏),也搞过微信公众号后台的服务端相关逻辑(就是自动消息回复、调用接口修改公众号菜单、code换openId之类的服务端逻辑),还有(s)ftp部署代码的脚本。

在这里的头两年工作得挺开心的,按项目编组的小团队大抵类似,内部沟通成本很低,没有什么扯皮之类的,大家对项目的熟悉程序都很高,更容易觉得【这是我的项目】,项目归属感比较强,团队成员之间的关系也很融洽。后面就是公司北京、上海、深圳、还有子公司之间对这个项目的争抢,以及北京空降领导的加班push,情况就变了,当时3个服务端和我这个前端是归属在上海分公司总部的,这个项目的实际业务方是上海分公司下面的一个子公司下的,带我们这个技术团队的是北京总部的人,我们工作的办公场所转移到了业务方那个子公司里,我最后对团队做的贡献就是提离职(最后没走)让北京来的项目经理放弃了搞996。然后就是被北京的项目经理成功离间了我和上海分公司总部这边的技术团队负责人的关系,我这人心比较大,很不喜欢这种工作环境,所以子公司要加钱让我转到子公司下,我一直没答应,最后我回到上海总部的外包团队里了,但是明显感觉技术团队负责人已经不重视我了,那个外包团队的项目负责人对员工也是比较push的那种,我不太喜欢这样的领导,我需要的是尊重,不是被当成一个机器。另外我也清楚当时的我跳槽可以轻易得拿到一个20的offer,而当时我的薪资只是15,工作不愉快加速了我的离职。

在这段经历中,有段时间公司外聘了一位我来公司之前就在公司工作过的前员工(当时他已经自己开公司了)来公司做了一段时间的技术顾问,可能觉得我能力还不错,后面开始带我一起做项目,于是就开始接触了一些私活,一定程度上也拓宽了我的职业视野。

尽管上面提到了一些比较狗血的事情,但是分公司的总经理、最早的技术直属领导、以及我们那个项目团队成员对我一直都很好。只能说,公司大了,内部的关系就变得复杂了。希望那几位领导和前同事们,后面都事业有成,生活开心。

这段时期,总结下来的结论有:

  1. 大部分都是很普通的,我感觉很多前端新入行的人容易觉得好像服务端的人就比较强,好像大厂出来的人就比较强,好像名校出来的人就比较强,其实不是的,但是他们大概率上不容易差
  2. 学会使用搜索引擎真的很重要。虽然IT圈谈搜索就是谷歌,但是其实如果你经常百度搜索找信息就已经比一半的程序员都强了。

四、视野拓展期(3年差2个月)

4.1、先说工作

然后来到了做程序员后的第二家上市公司。其实在入职这家公司之前我是想做前端leader带团队的,那会和一个公司的技术负责人在星巴克聊了一些技术和项目问题,敲定了入职他所在的公司,当时是说后面会在杭州开分公司,并且也会继续招几个前端,我会负责带前端团队。不过最后上面的方案有变,不招人了,我就请了一天假出去拿了3个薪资一样的offer(面试时我自己说的期望薪资),第二天提了离职。由于在这个公司就呆了一周左右,时间过短所以一般我都是忽略掉的。话说这3个offer:

  • 公司甲是船舶行业系统研发的,整体节奏轻松,但是社保是在北京交的(记不太清了,反正最后是因为社保问题没去);
  • 公司乙是做SaaS的,面试时技术总监给人感觉非常好,并且有较大概率带前端团队,但是社保是委托给前程无忧还是智联招聘负责的,虽然他们说不影响社保,我还是有些担心;
  • 公司丙是做第三方基金代销的。社保是公司自己缴纳的,也在上海。

其实比较想去公司乙的,但考虑到社保问题最后去了公司丙,拒掉公司乙offer的时候,他们提价来挽留了,不过因为已经答应过公司丙就没换了,其实早点有价格上的区别的话,我是会选择公司乙的,因为不仅有带队机会也比较喜欢那个领导。

言归正传,后面就来到了公司丙。在这里,主要做了下面的事情:

  • 推行eslint和react propTypes。
  • 创建了公共方法库。
  • 缩减了APP内H5资源包的全量包和增量包大小。其中一个H5项目的编译产物大小缩减了78%(4.6M=>1M),编译时间缩减了87%(150秒=>20秒)。
  • 将一个编译时间一个多小时的webpack项目,通过条件编译的方式,降低到15分钟(预期可达,不过提离职后被要求去写业务项目,中断了,至离职时,一个APP里的H5编译时间由一小时减少到20分钟,另一个APP里的H5编译时间还要30分钟)。
  • 技术带队。
  • 处理大部分的H5产线问题。

因为现在其实刚离职,虽然我自认为自己可以讨论得比较客观,但理论上很可能只是我以为的客观。所以现阶段还不打算过多讨论公司的一些问题。只是浅浅地谈下全局性的一些事情,不会涉及到具体的人和事:

  • 组织架构上,服务端分交易和非交易,交易分中台和后台。前端人员需要直接和交易中台及非交易两套服务端对接,这种组织架构天然地导致前端这边需要将两方的接口进行拼接处理(不要提什么让前端人员去找服务端要求包接口,这是绕开问题不是解决问题,这样处理只会是抓得比较紧的时候可能有点效果,时间一长还是会恢复原样的,而且去谈接口会浪费前端这边很多时间,服务端也不是就一定会给弄的)。正常情况下,服务端应该再细分出前台服务,由前台服务进行接口数据的拼接,在没有前台服务的情况下,这应该是中台服务的事情(剩余服务里最靠近前台的服务)。现在这块有较大的工作量转移到了前端这边,导致前端需要花费大量精力在不该花的地方。另外从安全角度上这样也是不合理的,不应该像现在这样在接口请求上对外体现出我们内部是分交易和非交易的。服务端有哪些服务,对外部人员和对前端开发而言,都应该是透明的。前端开发并不需要了解这些细节。其他的比如非交易和H5之间还有未前后端分离的项目,改动成本也很大(就是十年前那种,前端画样式,后端改写js,改完样式经常就乱了前端重新改样式的流程)。
  • H5部门没有什么决策权,也不受重视。当然造成这个局面的原因有点多,既有外部原因,也不乏内部原因。简单的体现就是我申请想要一台服务器,应该是每年都有提过,始终不给。这不是成本问题,这就是不重视。一台服务器,搞搞专题可视化搭建、测试环境接口/报错日志上报啥的,对性能要求是不高的,阿里云上租一台4G运行内存的,一年就2千块钱的事情。我觉得申请这东西都不用给啥理由吧。这都2021年了,通用专题还要耗费开发这边的人力去手动build,你比一下一个程序员一年的人力成本和一台每年2000的服务器成本。决策权方面,经常是大领导们互相讨论定下来方案,然后我们这边就是执行,然后某一天,反过来问我们为啥这么处理(黑人问号脸)?
  • 研发部整体技术能力偏弱。这里说的是【技术能力】,不是业务熟悉度(熟悉业务本身也是一种能力,这里不讨论)。技术能力的偏弱,导致服务端一些问题的解决方案比较糟糕,长时间地影响了前端开发这边。出于安全考虑,这里不具体展开。
  • 很多问题分不出主要矛盾和次要矛盾,用错力。
  • 重业务轻技术。
  • 项目管理有点混乱,并行问题和压缩排期问题较严重。

虽然这里列了好几条,但要说有没有啥大问题呢,其实也都还好,还真没啥特别大的问题。研发部的现状,对公司实际业务场景来说是足够用的。没有完美的团队的,每个公司都有很多可以吐槽的地方,体系大了问题自然就多。

后面离职主要是因为:

  • 工作基本一直是让写业务代码(要牺牲个人时间去做的非业务的事情不算),没有成就感,也没有成长空间。
  • 没有话语权,也不被尊重(我实在接受不了不怎么懂前端的人审查我的代码然后跟我说应该要怎么写代码)。
  • 薪资成长非常慢,并且后期提倡加班(不可调休、不算工资),如果顺应的话,结果就是会让你工作几年提高的时薪瞬间降低到比入职时还低。
  • 前端方面工作5年多也到了跳槽性价比比较高的时机。

这段时期,总结出来的东西有:

  1. 除软实力之外,技术能力主要分为纯技术能力和业务能力。当你在一家公司没有长期发展的打算时,不要过多的将精力放到业务上,应该将主要精力放在技术能力的提升上,业务上做到哪了解到哪即可。反之如果你计划长期呆,你应该尽快熟悉业务,提升技术能力的优先级较低。
  2. 无论何时,都不要忘了手中的技术,那是你吃饭的家伙。另外,跟不上行业水平的话,等遇到职场PUA的时候你就没有反抗的能力了。自己的尊严还是要靠自己去维护的。
  3. 早点对未来进行规划,不要等到中年危机了才意识到问题的严重性。

4.2、再说视野拓展

因为在公司发展无望,在最后提倡加班之前,我想着【时薪】还可以,我用业余时间进行一些拓展也是不错的。所以重心转移到工作之外的时间里了。这一时期我的成长主要是通过工作之外的时间完成的。最直观的是做了大量私活,收入相对工资来说占比已经很大。高光时刻是直接去到政府大楼谈进博会的一个项目。私活做的项目加上工作中接触的,类型汇总起来也是比较全面的,基本上涵盖了大部分常见的形式:

  1. PC官网(nuxt.js、next.js、gulp + ejs);
  2. PC后台管理系统(react + ant design pro、vue);
  3. 微信小程序(uniapp、taro、小程序原生);
  4. APP(uniapp);
  5. 混合APP(H5部分、原生套壳);
  6. 微信公众号/wap端(react、vue);
  7. node工具、爬虫;
  8. 常规的node/java/php/python服务端程序(后面三个用的比较少,前期开发会慢一点);

所以项目经验是很丰富的。另外加上自己会在私活里尽量用平时工作中用不到的东西,所以技术栈也比较全面(深度一般,兴趣也不在深度这)。这带来了较好的全局观和一定的全栈开发能力。于是就比较想做自己的项目。一方面私活比较耗费精力,一旦不做就没有对应的收入了,并非长久之计。另一方面,之前做私活对我的全局观、项目经验、技术栈的扩展上都有一定帮助,但是做到现在的程度收益时间比已经很低,不划算了。后面因为最近拿到的offer还不错,私活更加没有意义了。所以后面不做私活,重心会放在公司项目和个人项目上。

五、事业探索期(未来几年)

首先一条发展线肯定是工作。

其次是业余时间的个人项目,计划是做一些工具/系统的开发,那种有前期开发成本但不需要多少维护精力的项目,适合佛系赚钱,也对自己的简历会有加成。

还有会考虑尝试写书。

还有要针对35岁可能的中年危机来制定多个plan B。

另外我觉得数据分析是一个有意思的领域,也很有用的领域。

送几句话:

  • 不管你是否是精英,都要有精英意识,关键时刻你一个人就是一个团队。
  • 以大多数人努力程度之低,根本轮不到拼天赋。
赞(1) 打赏
转载需注明来源并给出来源页链接:峰间的云 » 8年阶段性职业总结

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏