编辑|小智
很多研发在职业发展里都会主动或被动遭遇类似的困惑。这个转型不是指属性跨度,而是指不同技术领域的跨度。技术转型通常分为被动转型和主动转型两类。
被动转型指的是因为技术的衰落甚至消亡导致的技术转型,例如 Windows Phone 或者塞班等方向的 coders ,因为技术的变革,被动的去做其他技术领域的转型。主动转型是指个人基于兴趣或者发展,主动想要做出某些技术领域的改变。这里以我自身为例,给大家聊聊我经历过的技术领域变化。
我是 09 年开始接触前端开发这个领域,那时候国内前端技术领域的从业者已经不少了,但还不像今天这般繁荣,我个人经历了前端行业非常迅速的发展,从 pc 时代到移动时代,新框架工具等等也是层出不穷。我的整个职业生涯经历了从 Web 到客户端,顺手接触了一些 PHP 开发,到后来转岗到管理,应该来说对于技术转型还是有一定的发言权的。
首先要搞清楚,自己转型的类型和动机。如果是被动的,那么选择跟自己原有领域最为相似和接近的方向是最稳妥的。如果是主动的,需要搞清楚自己转型的动机,并理性分析,这个动机的利弊和可行性。这次跟大家重点聊聊主动转型。
我 14 年从前端转型到 iOS 开发,一是 App 时代的到来,让我对这门技术产生了极浓厚的兴趣,二是我本身在 Web 前端领域做了 5 年,不敢说做到了业界大牛,但技术功底和业务积累也到了一个相对不错的水平,这也能很好的支撑我去触类旁通,快速的学习和掌握一门新的技术。所以总结起来我在技术领域内的转型,是基于兴趣和有一定的技术原始积累。
什么样的场景,比较合适去做技术领域的转型?
有一定技术原始积累,对其他技术领域有浓厚的兴趣或者想要赶上时代追求一些当下技术热点等;
遭遇真正的技术瓶颈期,比如前端做到一定阶段,如果你只了解前端技术,就会制约个人技术的发展 ,这种时候转换一下技术视角和思路,去接触后端开发、其他终端开发等等都会给自己带来启发。
技术领域内的转型,正常来讲,都会遭遇一定的不适期,当然也不排除非常牛的技术大牛们,可以无缝的切换,这个不适期需要有一个强大且正向的技术攻坚心态去应对。 例如我最开始从前端转到 iOS 客户端开发,当时对我而言是有一个非常好的技术转型机会,同时也有非常大的挑战。我要在 1-2 周开始启动一个 1.0 项目的开发,那时候对 OC 语言的特性不熟悉、对很多深坑不了解、所以 1.0 项目开发过程中,几乎每天只有四五个小时睡眠,其他时间都在 coding。
最后,想要说一句,聊这个话题并不是鼓励大家勇敢放弃自己最熟悉和擅长的技术,而是给大家一些持续性技术学习和关注的方式。其实后来我自己开始比较大比重的做技术团队管理后,回过头去看很多问题,发现做什么并不太重要,关键是你能用你擅长的技术解决什么样的问题?技术思路和方法论沉淀是非常关键的,要有意识并学会找到问题的本质,找到适合你所处业务的问题解决方案。
技术瓶颈其实是一个人学习曲线的一个阶段,它的存在是非常正常的。
我见过很多研发,在某一个技术领域工作了一段时间后,会遭遇所谓的成长瓶颈期。不管你是工程类的技术研发还是基础架构还是策略的,这个问题都具有普遍性。工程类研发可能会相对更快的有这种遭遇,因为可能 coding 来 coding 去,始终都是那么些个功能。我之前跟很多迷茫瓶颈期的工程师聊过,发现大家寻求突破的方式有很多种:有的通过拓宽自己的技术领域认知,比如前一个话题提到的对自己技术领域做一下切换或者拓展;有的会通过角色转换完成,从技术到产品再回到技术等等。本质上这些路径都是殊途同归。
我总结为以下这几点:
技术视野拓展:沟通对于技术格局提升的重要性,主动走出去,去跟一些自己身边同技术领域的牛人聊聊天,你现在经历的很多问题,很多人都有过类似的经历。
业务高度和突破:技术服务业务的本质。雄鹰也是从小雏鸟历练和成长过来的,多去跟身边业务高手去聊,看看他们对同一个业务的技术看法是什么。
核心是主动:主动向前一步、主动学习、主动思考、主动跳出自己的舒适区、主动改变,突破的话最关键的还是自己主动去做。
概括来讲,我个人的职业阶段,可以简单的划分为三个大块。初级菜鸟、资深技术、技术管理。
幸福感最强的阶段是第一个阶段,那个时候的成长曲线是最漂亮和扎实的,烦恼也是最少的时候。
如果你是相对初期的 coder 的话,恭喜你,你现在所有的烦恼在你未来的职业生涯里都不算烦恼。这个职业阶段,只需要你足够勤奋和努力,就能相对平稳的提升和度过,但是也比较遗憾的是,人才金字塔结构,也注定了会有一定比例的程序员在这个层级就被长期留级。
所以为了最大化地避免自己被留级的情况,我希望给到大家的建议是:这个阶段技术上不太适合三心二意,扎实积累、勤奋努力、聚焦精力到最核心的事情上。同时要在这个阶段培养和养成优秀的工作习惯,比如反思、思考、总结、时间管理等等,这些习惯可以厚积薄发,让你在新阶段里事半功倍。
这个阶段的问题明显比第一阶段多了很多,烦恼和焦虑也多了很多。当你成功跨越学习和成长的爆发期,突如其来的速度放缓,会让你一度怀疑人生,甚至很多人会一时冲动去跳槽,这也是行业内 3 年左右的程序员行业跳槽率最高的主要原因之一。这个阶段来讲,成长遭遇的几大问题,归纳起来大概有几个。
技术的成长速度相对第一个阶段放缓,不满意
在技术深度和宽度的拓展上,出现混乱
自我膨胀曲线大于成长曲线,自我认知过高
有技术经验积累,但技术视野和格局未打开
建议:
心理接受:速度的放缓。伴随你自己的技术积累,如果有天你突然觉得自己的烦恼和焦虑多了很多,不妨停下来分析下自己是不是已经脱离技术菜鸟走在了高级工程师的路上?如果是,那么肯定自己。
主动交流:去找你的 Manager、你的导师、一切你信任的人,在这个时期,对你都非常重要和关键。去努力听取他人的建议和观点,并转化成自己的。
学习:真正的技术比你所认为的宽广很多很多很多。
这个阶段的问题会更复杂,可能不单单是纯技术的问题,涉及到方方面面,行业理解、业务转化、职业软素质等等。这个阶段需要你有足够强的复杂问题简单化,抽象问题具象化的能力。
归结起来我的感受是心态和视野。心态上不要着急一个问题短期内会有明确的答案,我个人还是一个非常急脾气的人,想到一个问题恨不得下一秒就要有非常清晰的结论和答案。但工作,尤其是发展到一定阶段,从心里上要坦然接受成长放的更缓的事实。视野上就是学习和交流,让自己保持非常健壮的核心竞争力。多去参加一些技术大会,像 QCon 之类的,可以很好地看到技术未来的趋势,结识更多素质更高的工程师。
关于这个问题,最后想跟所有人分享一个很关键的东西,就是职业规划,这个非常关键和重要。通常我会去给自己限定一些特定的时间和窗口去思考我自己的职业成长和规划问题。例如月度、季度、半年、年底等等。小的总结一般是月度和季度,更宏观一点的是半年年度周期。我之前给我自己的团队分享过一个 topic 叫《工作总结的重要性》,就是为了引导大家重视自己的职业规划。如果你不知道如何去做职业规划,那么可以拿笔记下这个 topic,下来深度思考和主动学习。
百度技术团队的平均年龄大概是 26,所以我不敢说我自己是年轻程序员,毕竟拖了组织的后腿。这里谈到管理,我跟大家谈谈年轻程序员转管理需要前置深度思考的一些问题以及未来可能的优劣势。
需要自己问自己的几个问题:你的动机(what、why、how)。服务第一,胸怀和管理格局。
深度思考自己是否适合这样的路线?
心理障碍是否能够持续有信心的进行跨越?平级转汇报、管理并帮助资历老的团队伙伴、能力重组等等。我最开始接触技术团队管理,是机遇更是挑战。曾经我也跟很多初级管理者一样,往前担心是深渊,往后担心自己因为怕自己做管理后在市场失去竞争力。我印象很深刻,那段时间我自己有很长一段周期,我每天都在分析我自身的优势和特点,去找我的 Manager 聊问题聊想法。现在回头去看其实是自己跨越自己心理障碍的一种方式。
能否承受最坏结果?并不是所有的跨度路线都是成功 case。
当这些问题都有明确答案的时候,你或许可以考虑转管理岗了。
张灿老师也将在 QCon 上海站上作相关分享。QCon 上海站目前 9 折优惠报名最后一周,2017 年 09 月 17 日前,立减 680 元,这里提供一个 优惠码 给大家【2017SHQCON】,可享更多折扣。除了团队管理,还有更多硅谷人工智能、机器学习、互联网金融(FinTech)、系统架构等前沿技术专题,请多关注。
点击【阅读原文】跟张灿老师面对面。欲购票或咨询问题可联系购票经理 Hanna ,电话/微信:15110019061。
点击下方图片即可阅读
帮助应届生、年轻程序员快速成长的 12 个锦囊