你好,我是 Kaito。
上次聊了下我来腾讯一年多的感受,很多读者对我的职业经历比较好奇,那么这篇就重点来聊一聊我近 10 年的工作经历。
这篇会详细阐述我从毕业到现在,是如何从一名业务开发,慢慢走向基础架构方向的。以及在这期间我面临的选择和思考,希望对你也有所启发。
阶段 1:初入职场,从技术菜鸟到团队核心
我从 2013 年毕业来到北京,入职了一家移动互联网公司,公司体量虽然不算太大,但在业界还算小有名气(至少听过名字)。
我在学校期间的主流语言是 Java,面试也是以 Java 招进来的,但进来后发现公司大部分后端都在转向 Python,于是边学边干,我的技术栈也慢慢切换到 Python 上来。
为什么公司后端用 Python,当时得到的信息是,Python 语法简单、写代码非常快,很适合当下公司业务快速发展的节奏(当年知乎、豆瓣都是 Python 起家的)。
第 1 年的工作内容,主要是重写老旧的内部系统,这个内部系统属于工作流中的一环,用户主要是内部员工,体量也很小。
这段时间就是产品经理给需求,我来编码实现。因为刚毕业没多久,写代码也比较菜,连最基本的 SQL 调优都不会,有一次 SQL 写的有问题,还把数据库查挂了,还好内部系统影响不大。
就这样大概做了差不多一年,后来因为业务需要,需要采集一些网站的数据,我开始转向做「爬虫」,主要是抓取各种网站的数据。
Python 是写爬虫的利器,有大量开源框架和库可以用,随着数据采集需求越来越多,我主导设计出了一个通用的垂直爬虫平台(基于开源框架二次开发),通过简单配置,就可以采集到想要的数据。
因为自己算是团队里来得算比较早的一波人,慢慢负责的业务模块越来越多,逐渐成为团队的核心骨干。
在实现业务需求的同时,我的技术能力也在提高,在这期间还多次参加了公司举办的代码评审大赛(评审架构设计、代码实现),我作为团队内多次征战的选手,可谓是经历多次锤炼和毒打,这也让我的编码水平不断提升。
就这样干了 2 年多,在这期间遇到两件事,对我职业生涯的早期带来了一些变化。
**第一件事是公司准备筹划「上市」。**为了稳定业务和技术团队军心,公司筹划给每个研发团队的核心骨干授予「股票期权」。
给员工授予股票这件事,对于现在的互联网大厂来说已经稀松平常了,但对于当年我这种中等互联网公司,给股票的公司少之又少(现在回看公司很良心)。
那时候对公司上市、股票这些概念一窍不通,后来了解了一下才知道,公司准备在国内的 A 股上市。
玩过股票都知道,国家对于在 A 股上市公司的要求很「苛刻」,必须要求连续 3 年盈利(互联网企业都是亏损经营,能在 A 股上市大多数都是实体企业),这也是很多互联网公司只能选择在美股、港股上市的原因。
由此可见,当时公司已经有了自我造血能力,不用靠拿投资人钱活着。
在国内上市除了盈利要求,财务审核流程也非常繁琐(还要排队),所以对于准备上市的企业,一般至少要提前 2 年开始筹备。