前言
Hi 你好,我是东东拿铁,一个正在探索个人IP&副业的后端程序员。
不少程序员可能会面临几个问题:
- 上学在二线城市,是否需要去大城市
- 去了一线城市,是找个大厂内卷,还是在一家独角兽安稳工作
- 大城市呆了好几年,是留下,还是离开
不少大公司的朋友都在说,大厂就像一座围城,里面的人想出去,外面的人想进来。
我从家乡到北京,再重新回到家乡,上面的几个问题,有了自己的答案,想把那几年的经历分享出来,并拆分成了不同阶段,相信看完这篇文章,一定会对你有所帮助。
背景
面试经过
从到北京的那一刻起,进入大厂就是我最大的目标。经过几年的的准备,才终于敢投递简历,投递时候的,完全是抱着反正过不了筛选,投一下也没什么损失的心态去投的。
后来接到面试邀约,一面和二面连在一起,面试我的分别是我的mentor和leader,也是我在字节工作的时间,对我帮助最大的两个人。晚上八点开始的面试,面试结束的时候,已经11点半了,那是我第一次对字节工作的节奏有了体会。
面试的内容不算太难,侥幸通过了一二面,聊的也都还不错,剩下的环节,是+2、+3的领导面试,虽然有压力面,但是到三四面的时候,问题就不会太大了。
想来也是因为运气,入职之后了解到,我的简历早就被好几个部门筛掉了,我的mentor从简历池中把我捞了出来。恰巧我过去的经验,和公司在做的,有着不少相似之处,所以给了我面试的机会。
入职后,拼一把
顺利拿到offer后,我在离职上家公司的第二天,便入职了,一天都没休息。
我说的Landing下来,并不是大家理解的转了正,就完事了。而是你入职的前半年,是你非常重要的一段时间。这时候,你的领导、同事,都会注意到你,获得一个较好的第一印象,对你后续的工作发展,有着非常大的帮助。
我是从一家小型独角兽公司离开的,当我入职之后,我所熟悉的一些工作流程、工作方式,都不适用了。眼花缭乱的平台与工具,数不清的wiki与文档,还有数量繁多的各类工程,还有让你疑惑的各类业务名词。因此,顺利入职后,摆在我的眼前的第一难题,就是如何能够稳定的Landing下来?
我至今也不认为,能够留下来是一件简单的事情。毕竟,谁都想入职之后好好表现,更快的做成成绩,但陌生的环境和陌生的人,总会在不知不觉影响着你。
工作的节奏变了,你可能晚上会面临加班。当然,加班并不意味着工作量大。而是因为你学习业务的时间、沟通的时间,都会极大的占用你的精力,加上我当时从Java转为了Go语言,一些简单的工作,可能也会对你造成一些阻碍。
大家都很忙,没有人会停下来等你。入职后,我的mentor,身边的同事,都很忙,大家都有着自己的工作要推进,卡点在你这里,你天然的就会感到焦虑。
和你合作的同事,大多都是入职比较久的,甚至职级比你高的同事,你们相同的工作时间,你的产出和别人的产出,自然会有着很大的差距。
怎么弥补?拼一把。
距离当时入职已经很久了,只依稀记得那段时间,我白天几乎没有空去喝水。如饥似渴的了解着业务背景,也十分头疼的研究着已经有的业务。
互联网公司线上活动多,因此每隔一段时间就会迎来一个大的活动。我恰巧赶上了每年最大的营销活动。赶上了封闭开发,为了赶进度,十几个人封闭在会议室,最晚的一次,下班已经是凌晨4点了。
那段时间,因为不熟悉开发语言,有时候一个bug,可能会耽误自己好几个小时。为了保证项目顺利,开始前负责对项目进行压测,并优化了很多代码,做了很多的高可用方案。后来又花了一周的时间,独立完成了一个新项目的设计与研发,并极快的投入了使用。有了自己的东西,才算真正的站稳了脚跟。
从成长到突破
踏实做事
接下来一年的时间,我主要做了几件事情。
- 技术提升,做出核心系统与功能
- 跨团队沟通,知道了沟通协作的重要性。
- 深入业务,了解北京,不再是纯技术
技术持续精进
技术上,我作为团队的核心研发,加上领导有所侧重,承担几乎大部分具有挑战性、高收益的需求与项目。
后来,团队扩招,带着多个新同事,完成入职,并辅助他们转正。最后离职前,还拿到了一个资深导师。
学着沟通
带人的同时,自然免不了和合作团队打交道,因为如果同事们遇到不认识人、或着沟通不顺畅的时候,都需要我顶上去。
我开始注重沟通,与合作团队建立好的合作关系。日常合作的产品、前端、客户端、测试,合作较少的算法、UI、数仓,我都花了很多心思去沟通协作,一个是我很多业务更熟悉,另一个是也方便后续日常工作能够顺利展开。
- 后端天然更熟悉业务,毕竟系统、数据都是你负责,大家也都是围绕着你来展开。面对业务咨询,尽我所能帮助大家拉齐业务背景,做一些知识普及。
- 几乎开发的合作方,都离不开后端支持。所以前端、客户端同事想做一些他们自己的事情,需要后端配合时,在不耽误本质工作的前提下,我尽全力配合。
- 面对产品,更好、更快完成他们的需求,面对需求设计不合理,只要问题不是太大,指出来就好,但不会打回。协助处理好和第三方团队技术对接,面对他们不知道如何去做的业务,从技术方面,提供更多的支持。
后来也明白,想更快的进步,沟通、合作是必不可少的。你帮别人解决问题,别人才会在你需要的时候帮助你。
理解业务
如果说我在毕业几年的工作当中,都是只和代码和需求打交道,从那段时间开始,我开始强迫自己转换思维,去研究业务。
谁是你的用户,谁是你的客户,业务是怎么盈利的,售卖产品都有哪些,年收入有多少,各类产品占比是多少。
每个需求是怎么来的,解决了什么问题,是否合理,上线之后的反馈怎么样。
可能有人会问,做技术的,这些东西和我有什么关系呢?
当你了解了这些,你就会去思考,你写的每一行代码,服务的是谁,为了达成什么目的-----而不是实现了什么功能。
之前的文章也提到过,以终为始,了解了最终的目标是什么,你才可以从代码中抽离出来,也能更好的帮助别人。
面向目标,经历挫折
入职一年后,Leader对我的要求,是面向目标做事,而不是像一只无头苍蝇。
什么算做成事呢?以我后来的思考,那就是,如何在现有条件下,做出突破。那时的我,对业务已经算半个入门了,勉勉强强把控需求评审,也可以对双月OKR的目标做出一些判断。
于是,Leader开始让我开始独立负责某一项纯技术项目,找到核心指标,寻求突破。做成了,皆大欢喜,做不成,也就当试错了。
现在的我,对于如何寻求突破,已经有了一点方法论,可以去尝试。但对于那时的我来说,我无疑是一张白纸,这件事情对我的难度,比刚毕业工作时,如何适应,还要难上十倍。
虽然只是一个很小的方向,但在这件事情上,我也遇到了不少挑战
- 摸清上下游业务,想要突破,绝不仅是你自己团队能解决的,必须团队配合,如何给peer团队提出有效的需求,必须有所了解。
- 弄明白数据,字节里,大都是数据导向,你想去提升,那一定要有锚点,那你需要解决数据怎么获取的问题,有具体的数据,大家才能看到你的成绩。
- 搞清楚目标,目标是什么,领导的预期是什么,目标的具体指标怎么定,定好目标,怎么拆解,需要多长时间,需要什么样的帮助。
- 花时间执行,要知道,我还要负责团队内的事情、需求开发,这件事是自己亮点的事情,需要抽时间去完成。
任务拆解
如果说我之前了解业务,是仅限于我的这个团队。那么这段时间,我把与我相关的业务方、算法,都做了充分的了解。想要作出成绩,我只不过是公司体系下的一个小模块而已。
完成数仓建设,数据抽取,看板维护等一系列功能。大厂里面,绝大部分都是小小的螺丝钉,正常情况下,这些都有数仓的同学,去做研发工作。但是这只我自己的事情,我自然无法协调别人帮助我,想看到数据,自己去做吧。
事实上,在这里我就走了很大的弯路,首先我根本不了解公司数仓的基础设施、平台有哪些,工具也不会用。数据的来源、别的业务数据的来源,也都需要仔细了解。说来惭愧,仅仅这一块,我就花了将近4个月的时间,才摸索出了一点头绪。
设立目标,其实在我的前几年工作中,我的目标都是"完成模块A的开发"、"优化性能与代码重构"这些,其实挺简单的。但现在的目标,不能在这么模棱两可了,具体数字,我先花了很久,才知道核心指标有哪些,比如收入xxx元,但目标是多少,到底是提升5%,还是10%?
我对更细粒度的数据做了拆分,其实也就是任务拆分,列举出我能想到的提升点,最终一个个小点的目标,汇总成了总目标。
接下来就是执行,协同合作团队,制定节奏。改代码,开实验,看结果,结果不行,抓紧改进思路,就这么兜兜转转,忙忙碌碌。
说来惭愧,因为能力不足,水平有限,我始终没有看透这件事情的本质 ,也没能想到最好的发力点,这一项专项任务,持续了很久的时间,但我一直没有做出来成绩,最后很多事情也是不了了之。
面向团队,自我怀疑
其实,技术、业务,沟通,对我来讲,似乎不能算作挑战。因为技术是一个确定性的事情,就算不会,网上也有着很多资料,供你参考。业务更是如此,产品经理的业务思考,一定会比你深入很多,所以说这些,你都可以找到更厉害的人去请教。
但是协同团队,做好团队管理,与人打交道的时候,是没有标准答案的,你有你自己的做事风格,你面对的人也千差万别。
其实大家从上面的一些内容也可以看的出来,我走的方向是业务方向负责人的发展方向。
经过前面一段时间的积累与磨练,我的mentor,因为业务调整,暂时去负责新业务起步,我正式接过交接棒,开始负责大大小小的一些事宜。
在字节的时间,我认为做的最不好地方,也是这一段时间。向上不知道如何有效沟通,眼里只盯着产品的需求。大量的工作下,和同事们的关系,也变得有些微妙,我常常陷入自我怀疑,我到底有没有能力带好这个小组。
明明也很了解业务,技术我也算是第一梯队,沟通上合作团队都很顺畅,为什么我却越来越累呢,团队没有任何进步呢?
反思与总结
恰逢那段时间,需要做团队的半年规划,晚上11点下班是常态,躺下失眠也很正常。最后完成团队规划,一点多的时候,领导还没睡,指导完问题后,已经是半夜3点了。
后来和领导聊了一些,加上离开之后的自我反思,我认识到了自己以下的几个问题
- 工作、团队时间区分不清,绝大部分时间用在了开会、沟通、团队上,自己的产出明显下滑
- 不会向上沟通,之前和mentor就坐一起,无论沟通什么都很方便。但是mentor负责别的,我入职之后,和直属上级,几乎沟通很少。什么事情该协调资源,什么事情需要自己解决,我不会分辨,一股脑自行消化。
- 遇到问题,不会分工。平常分需求习惯了,但是边边角角的,突发的事情,没给同事们留空间,自己大多亲自上阵。
- 虽然我是团队大部分同事的mentor,但我直接负责团队的时候,大家一定会有不服气、不配合的地方,工作有时会遇到阻力。
- 最重要的是,那段时间我只顾团队工作进度,完全没有考虑自己的发展,导致自己止步不前
总结过往,还要一点点运气
想快速进步难吗,挺难的,互联网的内卷情况不必多说,优秀的毕业生也在大量涌入,大家都很努力,做了上面许多事情,我发现,有些事情,需要一点点运气。
跟对好领导很重要
虽然已经离开很久了,但是从我的Leader和我的mentor上,学到了非常多的东西。我不是一个善谈的人,更是很少主动去请教。但是在我工作中迷茫、焦虑的时候,只需要吃完饭下楼溜达一圈,我便能够发现问题,重新充满动力,这离不开两位大哥给予的指导与支持。
反观自己前几家公司呢,小组长们不过是分活罢了,一件件事情车轱辘的干而已。
做好方向很重要
一家公司,一个部门,总有最赚钱的业务线,和一些不赚钱的业务线。有时候,乘上业务发展的大船,你自然而然就能拿到好的业务结果。 反正,如果是业务收益不多、偏向工具的,虽然一样可以作出成绩,但是难度和挑战,一定会更大。就像字节里的中间件团队,虽然听起来高大上,但是工作中也不免得要处理很多的鸡毛蒜皮。
作出成绩很重要
有一个器重你的领导,一个赚钱的核心业务,你以为就能一马平川了吗。当然不是,你需要承担好更多的工作,甚至不是你的本质工作,需要你时,就要顶上。想要发展,仅有业务的进展是不够的,毕竟大家都知道,业务进展,和市场有关、和产品有关、和客户有关,作为一个技术人员,拿到你自己的成绩,是对自己的最好的展示。
虽然在业务上,随着业务发展,拿到了许多的业务收益,但那些更多的还要靠产品的规划、市场的销售,技术只占了一小部分而已。但我在做我的纯技术项目的时候,没有拿到收益,也让我自己更认清了自己,不能太飘。
迷茫与离开
身在一线城市的互联网公司,无论你是否在大厂,你都免不了焦虑,甚至在大厂的话,焦虑会更多。我总结了一下,大概有三个方面,让我感觉到迷茫。
- 大环境机会减少,恰逢裁员潮不断,焦虑的环境下,内卷已经常态化,业务上卷指标,技术上卷工具,为了做而做
- 工作很累,但成就感降低,无人带路,全靠摸索。业务上、管理上的问题,让我陷入持续性焦虑迷茫、自我怀疑
- 不知道该怎么转变,初到北京的目标已经达成,程序员后续的发展,又很容易遇到瓶颈,知道转型很重要,但又知道很难,不知道该怎么转变
我每天不辞辛苦的工作,到底是为了什么?是为了走一个大家都认为正确的升职加薪道路?还是为了让自己进步,给自己和家人更好的生活?
面临抉择
文章开头也提到过,到北京的第一天,我的目标,就是进入字节,进入大厂。我曾以为,我的路,是要在大公司努力干下去,努力争取晋升,努力去负责更多的业务,管理更多的员工。
入职之后,经历过大大小小的项目,作出过成绩,也经历过事故。坦白的讲,成长很快,但也很累。就像上面说到的,制定规划的那段时间,失眠、焦虑充斥着每一天。虽然刚到北京的目标达成了,反而开始迷茫了。
而且,随着负责的事情越来越多,内心很期盼能够快点晋升,来更好的证明自己,或者说,需要靠晋升,来安慰自己罢了。但却没想到因此陷入了极大的内耗。
世上本无事,庸人自扰之。现在看来,那时的内耗完全是没有必要的,也感觉那时的想法真的是很幼稚,明明优秀的人有这么多,你只不过多做了一些事情,难道领导就要非得时刻关注着你吗。
恰逢老婆怀孕,异地的情况下,我不能很好的照顾到她,最让人后怕的一次,是她半夜肚子疼,疼到半夜都无法入睡。最后半夜两点多的时候,我让她打车去了医院,虽然只是肠胃不适,但却让我十分后怕,那时候,我只能在电话的另一头陪着她,其他的,什么也做不了。
事实上,那时候很长一段时间,下班到家已经是11点,大城市里面的打工人,只有半夜是属于自己的。收拾完十二点,至少要刷两个小时的手机,才可能昏昏睡去。
老婆那时候因为怀孕,不能再继续熬夜了。我每天下班到家都会陪着她打视频把她哄睡。可工作忙的时候,经常我还没有下班,她就已经困的不行要睡着了,但我也不能在公司的时候,就开始打视频,所以有时候连视频、电话的机会都没有。
工作 的压力和家庭 的压力,二十多年来,第一次在同一时间摆在我面前。一边是势在必得的职业生涯进阶,一边是不可或缺的家庭需要你的照顾,亲人需要你的陪伴。如果是你,你怎么选?
放空自己,抬头看看
在压力最大的那段时间,我开始学着放空自己,那段时间看了很多文章,有教管理的,有教写作的,有教如何做一个真正的技术人的。在各类知识库的加持下,感觉视野逐渐的变大了许多。(PS:字节的知识库里面,真的有很多厉害的人,总结的宝藏与精华)
- 我觉着协调团队的难度大,可是我发现,所有从一线转向管理的打工人,都会遇到或多或少类似的难题。
- 我觉着目标管理难、工作没有方法,那可以去学有效的PDCA工作法等等。
- 我觉着写文档、工作总结难,我发现也有很多技巧可以应用。
- 我觉着精力分散、时间不够用,那可以学着做精力管理,学更多的效率提升方法论。
所有的问题,我发现都可以寻找到解决问题的办法,或者可以寻求更厉害的人的支持。而不是低头赶路,不看方向。我才意识到,我深陷在泥潭中太久了,在闷头苦干下去,只会让自己更累,而不是让自己进步。
总得做个取舍
虽然一直以来很累,也感觉日子难熬,但在字节这么久,就这么让我放弃,我自然会感觉不甘心。毕竟刚刚走向正轨,Leader也很支持,多年来在北京奋斗的日子,构成了我毕业后的全部。
后来,看了一篇文章,《总得做个取舍吧》,看标题大家就知道文章大概是讲什么了,简单说下,就是你现在的焦虑,都是因为你既要还要,什么都不愿意放弃,没有取舍,那你自然会焦虑与难受,文章的几段话分享给大家。
不懂取舍的人,就会纠结。
害怕取舍的人,就会痛苦。
把自己的经历也当成人生重要的财富,取舍就会容易很多。
无论如何,总得做个取舍吧。
是啊,就像上面我这么多的碎碎念,不正是那些经历,才是我在字节最宝贵的财富么。与其犹豫不决,不如赶快做出取舍,孩子也马上就快出生了,不能在耽误下去了。
后面,就像以往换工作的流程一样,投递简历,面试,下定决心找Leader提离职,我的离开似乎很突然,打乱了不少团队上的规划,临走前和leader吃了好几顿饭。
说在最后
时至今日,孩子都一岁4个月了,能说话、能走路了,十分可爱。截止今天,没有错过任何一天孩子的成长,为人父母之后,也体会到了父母把自己养大的不易。现在想来,回来的决定没有错,自己也在逐渐摸索新的方向。
不知不觉已经写了6000多字了,这篇内容,从动笔开始到现在,已经过去了6天的时间,即便花了这么久,也总感觉有些话没有说明白。
故事很长,能看到这里,我真的很想给你点个赞。为了能够让大家更好的看下去,在标题、结构上花了很多时间打磨,就是想让大家更容易读下去,也希望自己这一段工作的经历,能够给更多的人带来启发与帮助,如果你也有类似的经历,欢迎你在评论区和我交流。
最后,希望点赞评论支持,你的互动是对我最大的鼓励,也欢迎你加我的wx:Ldhrlhy10,一起交流~