最近为中文社区写了一篇developer career path的稿子

l
lvalv
楼主 (文学城)

职坛很多资深的同行,希望有机会和大家分享讨论。

=======================================================================

今天借这个平台和大家聊聊developer的career path。我思考这个问题很多年了,一直试图找到适合自己的道路。希望和有类似困扰的朋友们分享,帮初入行的朋友少走弯路。也借此机会和群里资深的朋友们讨论,互相启发。   Developer是比较generic的岗位,几乎所有的行业都需要,市场需求一直强劲。初级岗位对相关学历和交流要求较低,收入不错,机会多。因此吸引了大量的理工背景的移民转行,新生代年轻人也源源不断加入。   说说负面的。Developer工作强度高(大概率加班),在非科技行业visibility低(升职机会少),知识更新的速度快,入行要有终身学习的觉悟。 我父亲退休前是机械类工程师:前20年学习和积累经验,后20年德高望重。Developer虽然也叫Software Engineer,但传统工程师的career path并不适用。因为技术淘汰周期短,经验贬值快,产品重写/部门重组/公司倒闭的周期也越来越短。我很喜欢Anne之前分享的一句话“没有job security,但是有career security。”活到老学到老是入行必须有的觉悟(重要的话多说几遍)。   Developer的career path有三个方向: 横向的不同的技术领域间的切换。比如Web转Mobile,backend转Big Data。 纵向的成长,就是内部升职,承担更大责任,属于leadership层面的成长。 斜向的发展 (念着真别扭),转行其他岗位,比如:PM, BA, DA(Data Analysis),QA, Product Manager等等。 几个方向可以在不同时期组合进行。比如早期更换技术领域扩大视野,中期在稳定的公司多做几年争取升职。因人而异,没有定式。   当然还有一个方向,创业自己开公司。大话题,咱今天就不讨论了。   先说横向的发展,我根据市场需求,粗分成:Web, Mobile, Data Engineer, Machine Learning Engineer, DevOps几个领域,每个都有自己的技术stack和特点。新手入门到成为senior至少需要几个industry level的项目,5年+的时间沉淀。   Web Developer是个大类。细分有web frontend, backend和full stack等等。 很多转行新人从web frontend开始,自学流行的framework(比如REACT, Angular,Vue)开启职业生涯。 Full stack是这几年才流行起来的title,但是职责并不新,要全栈技能:Frontend UI开发和后台(比如数据库)都有涉足,可以独立完成中小型项目。 Backend 需要一定的经验或相关学历,database, streaming, distributed system,一般大型复杂度高的系统会有专门的backend developer岗位。归在web里不太精确,可以单提出来算一类。 Web的技术stack最多样化,几乎所有的主流语言都有web framework。Backend的技术更是源远流长、百花齐放,篇幅有限不展开了。   Mobile Developer。Mobile是继Web后的一大热点,大约10年前开始爆炸增长(iPhone问世)。很多web developer在这个时期转到Mobile领域。主要技术stack有iOS 的SWIFT/Objective C,Android的Kotlin/Java等等。还有hard core用C/C++写底层模块。这些年一些IoT embeded system也用Android开源系统。 我的观察,Mobile和Web fullstack developer是市场需求最大的岗位,大中小企业都需要。做contract,自己创业,或者“接私活”的机会也很多。当然同时竞争者也多。   Data Enginner。随着Mobile/IoT的增长,服务器端更大的数据量催熟了Distributed System和Big Data产业化。Big Data技术是Hadoop stack和近年更流行的Cloud solutions。Data Engineer这几年供不应求,有做ETL和传统backend的developer进来,同时因为是新技术,相关专业毕业生竞争起来也不落下风。 Data Enigneer经常和Data Scientist紧密合作,需要一定数据建模和数据分析的能力。有机会成长为Data Analysis和Data Scientist。 Big Data的技术本身并没多hard core,今后会合并到传统backend工具箱。在Cloud的大潮下,会有越来越多business friendly的工具,技术门槛将持续降低,会SQL就能做Big Data正在发生。   Machine Learning Engineer(MLOps)。Machine Learning的技术理论几十年前就有,但是没有海量的数据train model一直停留在lab阶段。近年Big Data的成熟,直接引爆了ML/AI市场。据说现在Computer Science的在校生,10个有9个想做Data Scientist。我这几年参与了几个Big Data, ML的innovation类型的项目,说说我对这个方向的观察。 Data Scientist不一定要PHD和计算机背景,最重要的是很强的数学和分析能力。AI/ML类型的项目从实验室走向工业化,需要大量的automation, 模块化和传统的软件开发流程衔接,涌现了新岗位。比如侧重programing(而不是分析)的ML Engineer。各巨头也纷纷推出MLOps framework和solution。又是一个硝烟弥漫的新战场。   DevOps。顾名思义,Development + Operation。前面的大牛们做了很多讲解,还有系统的培训。据我观察,更多DevOps从业人员来自Operation方向。Developer community反响相对平静(可能因为热点太多)。我理解DevOps的终极理想是取消Dev和Ops之间的壁垒。DevOps应该是一个从开发到部署all in one的岗位,不仅限于局部automation。这不是单纯的技术革新,更涉及流程和机构重组。Cloud technology会催化这个趋势。又一个大坑,不展开说了。   以上technical domains是比较通用,市场需求大的分类,不涵盖研发类的领域,比如数据库、操作系统研发,底层算法,量子计算机(!)等等,欢迎有insights的朋友来扫盲。   花了很大篇幅说横向的技术domain展开。我个人的经验,早期职业生涯应该尽量多做不同的项目,尝试不同的技术stack,坚持持续学习的好习惯。有效的办法是每几年换一次工作或公司内部转组。 有一条略显投机的”高薪“之路是追新技术,打市场的时间差。比如ML Engineer现在方兴未艾,有准备的朋友在市场井喷的时候大概率能拿到高薪工作。但是这个领域是不是真的适合自己,有没有发展空间,是每个人自己的功课。   科技行业从不缺机会,每几年就一波新技术的浪潮。如果觉得自己不适合现在的领域,或者缺乏发展空间,观察、等待、为下一个适合自己的浪头做准备,不失为一个好的策略。   技术说到底是为business服务才有价值。 追技术不是唯一的出路,也不一定是最好的出路 。很多朋友积累行业知识和人脉,最后会稳定在一个行业里。比如金融银行业,能源行业,广告行业等等。     纵向发展,内部升职。这方面大家身边的例子很多,有自己的理解。值得一提的是技术路线v.s.管理路线。一般大的公司有这个划分,小公司可能不分这么清楚。 技术路线管项目不管人,比如tech lead, architect。 管理路线是people manager,有人report给你,要做performance review,要花更多精力coach team。比如manager, director, VP, CTO。

两者都是leadership role,但侧重不同。

我做过两年管理兼技术(team lead),后来回到了技术方向做solution architect。现在看管理的经验很重要,即使不立志去爬大公司的梯子,leadership对扩大视野和技术职位升迁都有帮助。     斜向发展(还是念着别扭),转岗到BA, PM,QA, Product等等岗位。这是另一个角度的职业思考。Developer是个需要耐得住寂寞的工作。特别在非科技行业,责任相对小、visibility低。也许你的性格和抱负更适合其他的岗位,有开发经验对这些职业发展也是bonus。建议有兴趣的朋友向这些方面的大牛们咨询。     说了很多,感谢您的耐心阅读。以上总结基于我平时的观察思考,与同行的交流,还有阅读。可能有bias,欢迎交流讨论。
美国老土
好文章!读完了。 多谢分享!
美国老土
好文章!读完了。 多谢分享!

NASDAQ 涨势不减,美国经济走出低谷,而代表IT业的S&P500持续低迷,IT就业市场继续走低,裁员减薪趋势不可逆当!

IT学子用垂不朽!

v
viewfinder
好文!谢谢分享!
米奇的厨房
隔行如隔山,学习了
k
katies
赞!难得的好文章。

有没有英文版的?

想转给孩子看看,可惜他看不了中文。

l
lvalv
谢谢。正在写英文版的,会发到Medium上。

到时候私信你。

k
katies
谢谢!
加州lalin
好文。问个题外话,后来那个日本人,你怎么handle的?
小河石子
好文!认真读完了,说得都挺好。
l
lvalv
没要。抓紧时间从外面招了一个人。

后来我离开公司的时候他大概很高兴。

加州lalin
哈哈,赞一个。这种人蛮普遍的。
l
lvalv
确实是这样的

人的惰性使然。只是开篇,“continues learning”就谈何容易。

j
justforfun
还有一个打破盒子的方向,转做投资

最可靠的是做地主,本人走得就是这条路,但因为需要大杠杆借债,很多人不敢做。比如我在2011年,债务达到2.5米,虽然后来还了不少,但也又有新投资,仍然有2.3米债务。现在上班的目的,一是保持房产持有量,不想卖,二是退休没其他事做。

l
lvalv
确实,应该有投资观念。

彻底改行没有包括在内。可能性太多了。

S
SunnyCreeks
好文章,不在此行但希望给孩子看。期待英文版
三里店
好文,谢谢分享!