第一部分 工作目标

2.发展方向:项目组长线

几年前流行一个词,叫全栈,什么意思?简单地说前后端全搞。然后,近几年出来了一些框架,比如WTM,这是个AspNetCore框架,前后端一把梭;然后也出来了Flutter,不管安卓还是水果,一套代码一把梭……生产方式的革新造就了更高的生产效率。假如十五年经验的JSP开发者和一年经验的全栈开发者相同要价让老板选,选哪个?很明显,选全栈。35岁职场这个坎,其实很大程度也怪自己,明面上看十几年经验,实际上是半年经验用了十几年,不被淘汰才怪了。

之后流行一个词,DevOps(开发+运维,Dev and Ops),说得好听是开发与运维的结合,说的不好听是运维滚吧,开发一个人搞定。

再然后流行个词,SRE(可用性工程师,Site Reliability Engineering),说得好听是开发能在用户量暴增时维持分布式系统正常运行,说的不好听是项目大了也不招人了,你一个人搞定。

最近新流行一个词,TA(技术美术,Technical Art),说得好听是美术懂开发,能最优化方式调整图片参数,说的不好听设计是你,画画是你,代码是你,其他那啥还是你。

我的意思不是让大家都去追寻流行趋势啊,但无论如何,得对自己的职场生涯得有清晰准确的定位,如果没法定位,那么流行趋势还是追一下比较好,毕竟大多数人都这么走,自己这么走总不会出错。现在,假如没有对自己有明确清晰的定位,又不追逐流行趋势,有什么后果?35岁职场这坎,看到了吧?

总是追逐流行趋势其实不是最优解,因为会的人越多,那么越没议价权。我们想要获得最大的成功,首要目的之一,是分析出,这些流行趋势具体代表什么含义?为什么会有流行趋势?

上面这几条,说到底,还是在于,老板想让一个人解决尽量多的人的领域问题。假如一个公司需要解决20个领域的问题,市场上每个人只会一门技能,那么得招20个人。假如这都是公司的老人呢?新毕业的开发每个人会3个领域的问题,那么只需招7个人就行了,其他人全部劝退。再假如有个天才,一个人掌握30个领域,不仅能解决公司所有问题,还能解决公司以后发展过程遇到的其他问题,那么招谁,显而易见了,招进来作为项目组长,有几个人的活让他安排几个人,完全不用老板们自己操心。

所以对于开发者们来说,是不是说,学的越多越好呢?并不。假如你学的都是过时的技能,比如全部处在一维,那么一个二维空间的人随手一个二维技能就对你的所有技能进行降维打击。

同时,就算最新流行技术,区块链,大数据,人工智能,啥啥啥,也不是出来个啥就学个啥就没错。假如一直追逐最新的东西会有什么后果?管理大师彼得·德鲁克说过:“大多数人穷尽一生去弥补劣势,却不知从无能提升到平庸所要付出的精力,远远超过从一流提升到卓越所要付出的努力。唯有依靠优势,才能实现卓越。”。用到这里就是说,虽然新技术都会,但由于时间原因,学的总归不是很好,使得掌握的这门技能成就的价值不高。

再然后,离得太近的技术也不行,比如一个人同时擅长Android java原生开发,Kotlin,Xamarin,React Native,Flutter……看起来都和安卓相关,但这样的技术体系最后一个完全碾压前面所有的内容,并没形成1+1>2的优势,反而使得自己的核心优势降级为纯Flutter开发。

好了,现在知道了吧,只会一个不行,贪多不行,离得太近太远也不行,只要不懂原理,那么这就是非常多的坑,坑死了一帮开发者。

最终的解决方法是什么呢?本章的标题,多维度发展。可能有点绕,既不能贪多,也需要多维度发展,什么鬼……

多维度发展,实际指的是,相关联的两个技能,在解决问题的时候,会产生1+1大于2的效果,这样的技能,并不是什么风马牛不相及的两个技能。比如,网站全栈+Flutter,会了这两个技术栈,你就能完成一个APP及网站到搭建的所有技能;比如,FFmpeg+OpenCV,会了这两个技术栈,你就能做到各种视频特效的处理;比如游戏开发+人工智能,这个用来开发游戏里的NPC时,NPC不会傻傻的只说句“直到我的膝盖中了一箭”。

你可能还是疑惑,两个技术栈,两个人的活,一个人学会之后,也开发不过来呀?那么你换个思路,这个项目所需技术栈你全会了,你是不是就具有了主场优势,理所应当的由你来带队开发项目(情商问题除外),假如你这队伍突然有人离职,一时招不上来,你就能直接顶上去,不需要让老板操心工期……

我个人看好的多维度:

  • 应用软件方向:Web全栈+移动端全栈+DevOps
  • 工业4.0方向:5G+物联网+智能设备(嵌入式)
  • 人工智能方向:各种推理框架(TensorFlow这类)+自动推理库+音视频(FFmpeg+OpenCV)
  • 音视频方向:FFmpeg+OpenCV+rtmp+m3u8+webrtc
  • 虚拟现实方向:游戏框架+VR+AR+MR+FFmpeg
  • 架构师方向:Web前后端+大数据+云计算+分布式+微服务+DevOps+SRE
  • 编程语言方向:LL+LR+llvm/clang+x86+ARM+mips+riscv+树莓派/单片机

注意我都没指出具体的编程语言。具体编程语言这个,按我的想法,至少深入了解2门(汇编及C++,对Java或Python系开发者也是这俩),其他任一语言能做到一天就能接手项目。

多维度发展,实际是普通开发者最容易达成的方式了,可以说,这是成功的最佳捷径。

results matching ""

    No results matching ""