文学城论坛
+A-

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

lvalv 2020-10-19 06:53:23 ( reads)

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

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

今天借这个平台和大家聊聊developer的career path。我思考这个问题很多年了,一直试图找到适合自己的道路。希望和有类似困扰的朋友们分享,帮初入行的朋友少走弯路。也借此机会和群里资深的朋友们讨论,互相启发。
 
Developer是比较generic的岗位,几乎所有的行业都需要,市场需求一直强劲。初级岗位对相关学历和交流要求较低,收入不错,机会多。因此吸引了大量的理工背景的移民转行,新生代年轻人也源源不断加入。
 
说说负面的。Developer工作强度高(大概率加班),在非科技行业visibility低(升职机会少),知识更新的速度快,入行要有终身学习的觉悟。
我父亲退休前是机械类工程师:前20年学习和积累经验,后20年德高望重。Developer虽然也叫Software Engineer,但传统工程师的career path并不适用。因为技术淘汰周期短,经验贬值快,产品重写/部门重组/公司倒闭的周期也越来越短。我很喜欢Anne之前分享的一句话“没有job security,但是有career security。”活到老学到老是入行必须有的觉悟(重要的话多说几遍)。
 
Developer的career path有三个方向:
  1. 横向的不同的技术领域间的切换。比如Web转Mobile,backend转Big Data。
  2. 纵向的成长,就是内部升职,承担更大责任,属于leadership层面的成长。
  3. 斜向的发展 (念着真别扭),转行其他岗位,比如: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.管理路线。一般大的公司有这个划分,小公司可能不分这么清楚。

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

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

跟帖(15)

美国老土

2020-10-19 07:50:18

好文章!读完了。 多谢分享!

viewfinder

2020-10-19 08:19:41

好文!谢谢分享!

米奇的厨房

2020-10-19 10:13:14

隔行如隔山,学习了

katies

2020-10-19 10:44:02

赞!难得的好文章。

lvalv

2020-10-19 12:46:14

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

katies

2020-10-19 14:00:31

谢谢!

加州lalin

2020-10-19 16:42:33

好文。问个题外话,后来那个日本人,你怎么handle的?

lvalv

2020-10-19 17:21:46

没要。抓紧时间从外面招了一个人。

加州lalin

2020-10-19 17:30:38

哈哈,赞一个。这种人蛮普遍的。

小河石子

2020-10-19 16:58:39

好文!认真读完了,觉得更适合年轻人看。

lvalv

2020-10-19 19:27:39

确实是这样的

justforfun

2020-10-19 21:22:25

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

lvalv

2020-10-20 05:35:27

确实,应该有投资观念。

SunnyCreeks

2020-10-20 11:00:30

好文章,不在此行但希望给孩子看。期待英文版

三里店

2020-12-03 15:00:28

好文,谢谢分享!