分享

放弃了技术优势的程序员,居然也能挣大钱?

 山峰云绕 2022-07-18 发布于贵州

https://m.toutiao.com/is/2S4jqQB/?=放弃了技术优势的程序员 


直接说事实哈,我身边年薪百万以上的朋友,不管是架构师还是技术总监/CTO,他们突破圈层,赚大钱的逻辑居然是放弃自己的最大优势-技术。

那他们靠什么绝技?答案就是业务和管理!

具体一点就是要么成为熟悉某一个行业专家(业务架构/基础架构),要么管理 50人或以上团队。

不过不管是哪种,都是自己所在行业的业务专家。多说一句,基础架构也一样,你也必须了解公司的行业的业务,否则那基础架构在公司要么推行不下去,要么做不好。

你看看你公司的架构师和大领导是不是这样,下文进行深入剖析!

1、为什么业务/管理这么值钱?

有同学说,我是搞架构的,技术对我很重要啊,对的,你说的没错,但是你要清楚你做技术方案依赖对业务的理解的深度和广度,否则你的技术方案肯定不是最优的或者说很随意。因为架构的本质是取舍,而取舍的本质是在了解各个技术方案优缺点之后,做出的选择。

架构师为什么值钱,不管业务架构还是基础架构,本质是技术他不一定是最牛的,但是他是最懂业务的,两者加一起就非常稀缺,那么必定很值钱。

另外,对于那些做管理的总监/ CTO 们,除了管理大型团队的这个能力很稀缺之外,对业务的熟悉程度,也就是业务能力一定是最重要的能力。否则,根本没有办法和产品经理沟通需求的合理性和优先级,也没办法真正的理解业务让技术去解决业务的难题,只能当个工具人。这是多么可悲啊!

所以,不管是架构师/管理者,对行业业务理解有多深,就值多少钱,这是事实!

2、我们应该怎么做?

大家不要误解,不是说技术不重要。而是要除了技术之外,再者你从业7/8年之后,你会发现技术的深度很难突破了,所以一定要培养出自己的第二个能力,那就是业务能力!

那么如何提升业务能力?

这有三个不同层级的理解,理解到哪一层,你才能跨越到哪一层的高度。

第一个层次是通过自己思考也好,和产品经理、业务同学直接沟通也罢,都可以快速学到相应的业务知识。

第二个层次是搞清楚自己做的产品全貌是什么样的,目前业务发展到了什么阶段,这个阶段的业务瓶颈是什么?如何在技术侧发力促成问题的解决,在问题解决之后如何配合业务上下游的同事,把产品功能的价值最大化,这是更高阶的业务能力的要求。

第三个层次是要求能够在宏观上看到业务发展趋势从而进行有效的技术侧布局,在微观上看到当前业务阶段存在的问题给出合理的解决方案,另外还需要具备拆解复杂问题的能力,将问题进行多维度的拆解,理清业务涉及到的客户、产品、技术、业务等各自的核心点,并将多方的诉求结合起来,根据业务发展前景制定合理目标,并且带领团队做好执行实现目标。

所以,我建议大家选一个朝阳而非夕阳行业,然后深耕这个行业,然后按照以上三种对业务能力的理解和层次,未来必定可期!

当然,在走到足够高度之前,技术始终还是最重要的。如果缺乏技术,大厂不要你;如果缺乏技术,你不能出众;如果缺乏技术,晋升轮不到你……

这里也分享一些珍藏资源,面试简历模板到大厂面经汇总,从大厂内部技术资料到互联网高薪必读书单,以及Android面试核心知识点(844页)和Android面试题合集2022年最新版(354页)等等,这些资料整理给大家,希望踩过的坑不要再踩,遭遇的技术瓶颈一次性消灭。

如果需要的话,可以顺手帮我点赞评论一下,直接私信我【笔记】免费领取

部分内容展示如下

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自定义控件等

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多