大家好,我是菜鸡安酱。
我入职公司已经小半年了,慢慢的开始做了许多需求。特别是最近一段时间,需求接连不断的抛到手头上,感觉一直围绕着需求做事,沦为完成需求的工具人。
总是处于这样连轴转的状态,让我感觉过于仓促,缺少了一点自我复盘和整理的时间。不过也让我开始思考这样一个问题,到底应该怎样去面对应接不暇的需求?
我们知道,需求产生的原因,是产品的不断更新换代,是业务方向的持续探索和迭代。为了获得产品在业务指标上的可靠提升,往往需要大量的不同粒度的需求来构造指标上升的阶梯。
所以一旦业务处于快速发展的过程中,就会产生大量的需求来保证版本的顺利迭代。而在这个过程中,我们开发工程师大概就会成为最直接的工具人了。
这样一来,就会产生互联网打工人最主要的思想矛盾:整天忙需求,却没有时间提升自己技术。
1
相信这是大多数初入职场的技术人都会经历的一个矛盾。如果你还没经历职场,那也得提前做好自己的职业规划了。因为技术和业务的矛盾会贯穿整个技术生涯。
我们在找工作的时候,关于意向公司的两样东西基本一定会看的。一看是否是业务核心部门,二看技术能力是否行业领先。
大家都想去大公司的核心且技术领先的部门,比如微信,淘系,抖音等。但事实上即使在这些部门,更会存在明显的业务与技术之间的矛盾。
说到这,会不会有些同学不太明白啥是业务,啥是技术。不会真有同学觉得程序员只要是在写代码就是在搞技术吧。
不过吧,这两者很多时候可能真的很难完全隔离开来。
简单来说,业务可以看作是面向用户的一系列的活动,无论是所谓的ToB还是所谓ToC,业务的目的都是为了让用户使用以及更好的体验你的产品。
这就会涉及到用户体验,交互优化,用户心智用户感知培养等各个方面。当然这里的业务主要指的是目前互联网领域的产品迭代过程。
所以很明显,业务是直接面向用户的。这个时候,技术的实现对用户而言都是无感知的。用户在意的是功能逻辑的稳定和可靠,是交互的自然和便利,是视听感官上的享受或冲击。
而技术是什么?同一套功能逻辑可能有十几种技术方案,同一行代码可能有好几种调用方法。虽然可能最终的结果都是一致的,但是在技术层面却有着天壤之别。
技术的直接服务对象是工程系统本身,在保证系统稳定性的前提下才为用户提供各种可靠的服务。技术支撑,技术支撑,大概就这么回事。
2
那对于咱们这些所谓的技术人,难道做的还不是技术上的事吗?技术人的业务就不是技术了吗?
拿我自己的经历来举例子。入职四个月,我接触的都是业务相关的事,毕竟本身就是一个业务小组。我所经手的各式各样的需求,对其评判的意义是看其对业务指标有没有最直接的提升。比如APP的DAU,业务深度,业务渗透等等。
那对于一个新人来说,在做这些业务侧的需求时,实际上就是熟悉项目工程的过程,同时也是为了加强对于业务方向的感知。但是,这个时候离实际的技术还是有点远的。
可能有些同学会表示不理解,做那些需求难道不需要技术,不需要编程能力的吗?其实我说的这些业务啊技术啊并不是针对某一个需求,或者是某一个项目而言,更多的是一个发展的方向。
这个方向就跟你读不读博一样,是读博走学术道路,还是毕业去混工业界。这不是非一不二的选择,但是却对于你今后的职业道路至关重要。
因此,到底是走业务方向,提升产品思维,培养领导意识;还是醉心技术,钻研底层,提升硬实力,这都是需要考虑的职业规划。
一个很现实的问题在于,天天被吐槽的35岁是不是真的一个坎,是不是真的可以写代码写到40岁。
如果无法确定,我觉得就是时候考虑考虑这个问题了。一般大公司对于人才的培养都会有两条路线,一条是所谓的技术工程师进阶之路,一条是技术管理者的掌权之路。这二者就像是读博去当科学家,和搞技术去当工程师的区别一样。
在我看来,一直走技术这条路意味着你需要去不断钻研技术底层,性能优化,系统架构等方向的东西,同时还需要一定的开源项目,全方位提升技术实力和技术影响力。
追求技术的目标可以是架构师,技术专家等,最终估计就是成为像阿里某扫地僧,腾讯某高T大佬的存在,只在某些危急关头出现,咔咔咔几下解决系统突然爆发的历史遗留问题。
不过不要想太多,大多数实际上都不会一直坚持走技术的路子,毕竟这还是需要一些天赋和超前意识的。绝大多数人在人到中年的时候,基本上技术能力已经触及个人的天花板,这时候往往需要的是灵活的转型。
最常见的选择估计就是从技术转向业务负责人。技术这种东西是有时效性的,随着系统的复杂度提升以及项目工程的逐渐庞大,总是需要被迫引入新的技术体系。
而技术的更新换代肯定是建立在新的业务场景之上。说实话,如果业务没有爆发式的发展,我相信许多系统也不需要考虑架构调整以及性能优化等问题。毕竟这是牵一发而动全身的事。
这就引出了业务负责人和技术专家在终身学习的过程中不同的侧重点。也就是上面说了一堆的业务和技术的区别。
3
扯了这么多,有点说远了。对于我这种刚工作的弱鸡,根本还没到可以选择去当业务负责人还是技术专家的地步。像刚入职或者即将入职的同学来说,现在要先把自己的基础能力磨炼得扎实才行。
但是这篇文章的意义其实在于,提醒一下大多数同学,不要盲目追求技术,不要忽视业务上的意识培养和软实力的提升。
一个简单的例子就是,在做需求的时候,要除了从技术角度上寻求最优的解决方案,还需要从业务的角度多多去想想PM提出这样改动的背景和意义。不能沦为接需求的工具人。
我自己认为最好的学习方式是以某个技术领域为针尖,慢慢辐射到其它相关方向。提升以及编程硬实力的同时,也不能忘了接触其它方向的东西。
扎实的技术能力会决定你的下限,而业务能力,管理能力以及更多的软实力构建起来的综合能力才决定着你的上限。所以千万不要盲目地去为了学技术而学技术。
4
好吧,又讲了些虚无缥缈的东西。这些都是我最近的一些思考吧,谈不上有多么大的指导意义。但是我估计新人应该都会陷入类似的困扰中。所以就顺便分享一下我的感悟之类的。
就酱,拜了个拜!
作者简介:我是安酱,一个稀里糊涂地进了大厂的业余码农。讲解全栈技术,分享菜鸡的打怪升级之路。关注我,一起进阶!
本文转载自微信公众号「业余码农」,可以通过以下二维码关注。转载本文请联系业余码农公众号。