有一位朋友提问,30 岁了究竟是要继续深入搞技术,还是说要提前思考从技术转管理呢?
我思考再三,觉得这个问题应该还蛮普遍的,于是写一篇分享!
一、技术和管理的差异
我相信大家都晓得在稍微正规一点的公司里,提供给技术人的职业发展通道有技术岗和管理岗,通俗一点说就是 P岗 和 M岗。
那技术和管理的差异到底是什么呢?我认为有以下三点:
第一、我认为技术更多是做事,也就是跟机器打交道;而管理更多是和人打交道。需要理解公司战略、做好向上管理、定义团队目标、分解到个人以及跨部门协作并处理各种冲突。
从这个角度来说,技术需要不断学习新的知识,并在具体的应用场景锻炼,并保持自身的技能不断进化,而管理需要更多的思考技术怎么反向 push 业务,掌握产品思维、沟通技能、换位思考、同理心等等。
第二、技术更多是做确定的事,管理通常要面对很多的不确定性。
怎么说?
技术同学的工作,大多是实现产品经理已经定义好的需求,无非是这个需求需要考虑高并发、高复杂、高性能等要求。
而管理团队呢,你是否遇到这种场景,一个迭代正干着,产品经理或老板紧急插入需求,这就涉及到需求的变更和人员工作调整;某一个你心情不错的工作日,你的下属突然就跟你提离职了,但是原计划的研发任务得按时完成呀,你还得平时学会人员备份,这会才能调兵遣将。但这对于一些新晋的管理者来说,我相信已经非常头大了。
第三、技术人能力模型单一,管理者需要能力模型多元化。
技术人的日常大多是实现确定性的需求,他们打交道的人大多是产品经理、测试或运维同学,他们的思维模式认为技术是第一位的,并认为技术可以改变一切,还会跟领导比谁的技术好,这其实并没什么意义。
为什么呢?因为管理者和纯技术人思考的维度不一样,能力模型也非常不同,管理者需要具备更高维的能力。
管理者需要跟不同专业的人打交道,比如业务、市场、财务、或其他部门,甚至其他公司的人,技术此时对于管理者是最基本要求,但还不远远不够,还必须要求管理者具备能力模型多元化(技术、商业、产品、公司战略、沟通等),否则根本无法解决工作中和协作中的难题。
以上,是我总结的技术和管理最核心的差异,你学废了么?
二、对于你该如何选择呢?
我朋友圈有几百位架构师和技术总监级别朋友,我通过观察他们的成长轨迹,我发现有以下原则与你分享:
1、无论是做技术还是管理,技术都不能丢,并且如果你要转管理,建议你的技术至少要到 P6(如何衡量自己是否达到P6,可以看这个阿里技术人才能力模型,如下图) 的水平,最好到达 P7,否则你在关键技术决策很难正确抉择,同时你也很难服众。
2、如果你选择技术通道,那么你得规划未来怎么进一线大厂,至少也得是二线大厂,因为若你没有在一定体量的公司工作过,没有实践经验,技术的深度和广度是有非常有限的。那么纯技术这条道通常走不太远。
3、我接触大部分人转管理,都是没有系统学过怎么做管理,大多是是模仿其领导,但是很显然领导不会系统的教你,更别说你心中有体系化的管理方法了;
讨论这么多,回到今天的主题,如果你 30 多了,我建议得根据的你优势来选择,比如你技术不错且就是喜欢研究技术,也不擅长沟通,那就朝着技术这条路走下去,这条路要想走的远,我建议你进大厂,你将会获得更大的技术视野和认识更牛逼的技术大神,干到 40/50 岁 没有任何问题。
如果你技术并不是最强的,但是你对技术的原理理解深入(技术能力至少P6,最好 P7)、还得保持技术的敏感性、具备很强的同理心、擅长与不同的人群沟通、有产品思维、也敢挑战工作中各种不确定的事,我觉得你更适合走技术管理这条路。。
最后,我想重申一下,我们对于自己未来的职业规划很重要,低头赶路的同时还得抬头看看天。规划得好,可以实现职场跃迁,否则,职场提升缓慢甚至停滞不前。
当然,不管最终你是选择技术路线还是管理路线,技术都是你的必要条件,所以当务之急还是要将技术实力提升到一定层次,自身才具备更多选择。
这里就还给大家分享一套完备的知识体系,整体参照了各家一线大厂高工岗位的招聘要求及岗位技能需求,并且每个具体的知识节点还附带有一整套体系化的学习资料、笔记进行辅助,帮助你把所学的知识点全部串联起来!
如果需要的话,可以顺手帮我点赞评论一下,直接私信我【笔记】免费领取
01.Android必备底层技术:
- Java序列化:Serializable原理、Parcelable接口原理、Json、XML
- 注解、泛型与反射:自定义注解、注解的使用、泛型擦除机制、泛型边界、Java方法与Arm指令、Method反射源码、invoke方法执行原理
- 虚拟机:JVM垃圾回收器机制、JVM内存分配策略、Android虚拟机与JVM底层区别、虚拟机底层Odex本地指令缓存机制、虚拟机如何分别加载class与object、虚拟机类加载模型
- 并发:Java线程本质讲解、线程原理、线程通信、UnSafe类、线程池
- 编译时技术:OOP面向切面之AspectJ、字节码手术刀JavaSSit实战、字节码插桩技术(ASM)实战
- 动态代理:动态代理实现原理、动态代理在虚拟机中运行时动态拼接Class字节码分析、ProxyGenerator生成字节码流程
- 高级数据结构与算法:HashMap源码、ArrayList源码、排序算法
- Java IO:Java IO体系、IO文件操作
02.Framework:
- Binder:Linux内存基础、Binder四层源码分析、Binder机制、Binder进程通信原理
- Handler:Loop消息泵机制、Message解析
- Zygote:init进程与Zygote进程、Zygote启动流程、Socket通信模式、APP启动过程
- AMS:ActivityThread源码分析、AMS与ActivityThread通信原理、Activity启动机制
- PMS:PMS源码、APK安装过程分析、PMS对安装包的解析原理
- WMS:PhoneWindow实例化流程、DecorView创建过程、ViewRootImpl渲染机制
03.Android常用组件:
- Activty:Activity管理栈与Activity的启动模式、Activity生命周期源码分析
- Fragment:Fragment生命周期深入详解、Fragment事务管理机制详解、性能优化相关方案
- Service:Service启动模式分析、Service管理与通信方案、Service生命周期底层详解
04.高级UI:
- UI绘制原理:setContentView()方法下到底做了什么、AppCompatActivity与Activity的区别、UI测量、布局、绘制的底层执行流程
- 插件换肤:LayoutInflater加载布局分析、Android资源的加载机制、Resource与AssetManager
- 事件分发机制原理:事件执行U形链与L形链、事件拦截原理
- 属性动画:VSYNC刷新机制、ObjectAnimator与ValueAnimator源码讲解、Android属性动画:插值器与估值器
- RecycleView:布局管理器LayoutManager详解、回收池设计思想、适配器模式原理
- 高阶贝塞尔曲线
05.Jetpack:
- Lifecycle:Lifecycle源码、Lifecycle高阶应用
- ViewModel:ViewModel源码、ViewModel应用技巧
- LiveData:LiveData源码
- Navigation:Navigation源码
- Room:Room源码、Room+LiveData监听数据库数据变更刷新页面原理
- WorkManager内核
- Pagging原理
- DataBinding:单向绑定、双向绑定、如何与RecyclerView的配合使用、底层原理
06.性能优化:
- 启动优化:系统启动原理、Trace工具分析启动卡顿、类重排机制、资源文件重排机制
- 内存优化
- UI渲染优化:UI层级规范及对UI加载的影响、UI卡顿原因及修复、UI绘制、布局、测量原因以及处理方案
- 卡顿优化:造成卡顿的原因分析、内存抖动与GC回收、回收算法
- 耗电优化
- 崩溃优化:项目崩溃异常捕获、优雅的异常处理方案、如何避免异常弹框
- 安全优化:APP加固实现(防反编译,dex加固)、https防抓包机制(数据传输加载,客户端服务器端双向加密校验)
- 网络优化:serializable原理、parcelable接口原理、http与https原理详解、protbuffer网络IO详解、gzip压缩方案
- 大图加载优化:Glide巨图加载机制原理分析、大图多级缓存实现方案
- 多线程并发优化
- 储存优化:Android文件系统-sdcard与内存存储、Shared Preference原理、MMAP内存映射
- 安装包优化:shrinkResources去除无用资源、合理设置多语言、webp实现图片瘦身、合理配置armable-v7的so库、Lint检查工具实践
如果需要的话,可以顺手帮我点赞评论一下,直接私信我【笔记】免费领取
07.音视频:
- C/C++:数据类型、数组、内存布局、指针、函数、预处理器、结构体、共用体、容器、类型转换、异常、文件流操作、线程
- H.265/H.265:音视频格式封装原理、编码原理、视频流H264的组装原理切片NAL单元、视频流H264码流分析、切片与宏快,运动矢量、信源编码器、高频滤波、帧间拆分与帧内预测、CTU,PU TU编码结构、DSP芯片解码流程、MediaPlayer与DSP芯片交互机制、投屏架构、MediaProjection与MeidiaCodec交互机制、H265码流交换
- MediaCodec:dsp芯片、编解码器的生命周期、解码器中输入队列与解析队列设计思想、MediaCodec中平缓解码解析、MediaExtractor 多路复用、MediaMuxer合成器、MediaFormat格式
- 音视频剪辑:视频剪辑、音频剪辑、音频合成、音谱显示、视频倒放
- 音视频直播:硬编码、软编码、native实现rtmp推流、摄像头预览帧编码NV21转YUV、视频画面封装拼接Packet包、音频流数据拼接Packet包、RtmpDump实时同步发送音视频数据、MediaProjection、Medicodec编码H264码流、rtmp推流
- OpenGL与音视频解码:OpenGL绘制流程、矩阵、Opencv详解、人脸识别效果实现
- OpenGL特效:CPU与GPU运行机制详解、世界坐标,布局坐标,与FBO坐标系、图像镜像与旋转处理、人脸定位与关键点定位、大眼效果、贴纸效果、美颜效果
- FFmpeg万能播放器:FFmpeg结构体、声音播放原理、Surface的渲染、像素绘制原理与对齐机制、音视频同步原理、视频播放器整体架构
- Webrtc音视频通话:WebRtc服务端环境搭建与Webrtc编译、1v1视频通话实现方案、群聊视频通话实现思路、多对多视频会议实现、1V1音视频通话实现
08.开源框架原理:
- Okhttp
- Retrofit
- RxJava
- Glide
- Hilt
- Dagger2
- EventBus
- 组件化、插件化、热修复等
09.Gradle:
- Groovy语法
- Gradle Android插件配置
- Gradle实践等
10.kotlin:
- Kotlin语法
- 扩展使用
- 进阶使用
- 实践等
11.Flutter:
- Dart语法
- UI
- 进阶使用
- 优化
- 实践等
12.鸿蒙:
- Ability组件
- 分布式任务
- 事件总线
- 鸿蒙线程
- UI自定义控件等
如果需要的话,可以顺手帮我点赞评论一下,直接私信我【笔记】免费领取
Android路漫漫,共勉!
声明:我要去上班所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者像程序那样思考所有,原文出处。若您的权利被侵害,请联系删除。
本文标题:(30岁了学什么技术好)(30岁的男人学什么技术)
本文链接:https://www.51qsb.cn/article/m8h6g.html