小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路

(1) 2024-09-14 13:23

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路,希望能够帮助你!!!。

作者:程军

最近有位北京的小公司程序员说自己最近投了多个大厂简历,但是结果却非常不尽人意。

80% 的大厂没有任何回应,有几个回应的问了几个问题然后就没有然后了,比如你公司多大规模?公司的技术团队多大?只有寥寥无几的公司给了面试机会,但是都是一面挂,感觉自己工作 7 年了,技术也不差呀,咋就因为自己在小厂被大厂一次又一次鄙视了呢。

在听完这位朋友的诉苦之后,想起我曾经在小公司也有一样的窘境,今天就来聊一聊这个话题。

一、为什么小厂的程序员会被鄙视?

其实这个问题很容易解释,原因就两个:其一是小厂业务/用户体量小,其二是小厂需要你什么都会(广度可以)但是深度有限。

针对第一个原因,小公司做技术无外乎是项目或者产品,众所周知,做项目对人的成长会比较慢,因为一个项目交付了然后就没有后续了或者反馈周期很长。而对于产品,通常情况下小厂的业务体量/用户量相对大厂要小得多,所以程序员不用使用太高深的架构/性能优化就能轻松应付业务高峰/增长的压力。

针对第二个原因,本质还是因为小公司分工没那么细/真正的人才也相对少,所以才会出现程序员在专业领域广而不精的结果。

怎么办?我们继续。。。

二、小厂程序员如何破局?

我也曾经在小公司,我把我的经验分享给你,主要就是如下三个关键点:

a、为什么要去大厂?

这里最核心的原因就是因为大厂有头部效应,且因为拥有更大的品牌/资本/人才/护城河,所以大厂会越来越强,而小厂想成为大厂是非常小的低概率事件,一句你熟悉的话总结:选择比努力更重要!

通常来说,个人要快速成长需要这三个要素:方法论 + 刻意练习(目标 + 专注 + 找位好的老师 + 复盘和改进) + 富有不断挑战的/复杂的业务实操场景,但是这些在小厂里只能满足一个条件或者一个都没有,这是导致很多程序员在小厂成长缓慢的根本原因。

b、多步策略

为了更好地说明问题,我们先来定义一下头部,所谓的头部就是你所在的赛道里的高价值且有优势的领域。所以,如果你在小公司,你通常在如下图的三/四象限。

小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路_https://bianchenghao6.com/blog__第1张

那么,你要做的是逐步从三/四象限迁移到第二然后第一象限,这并不是一步就可以完成的。这就是我说的多步策略,有一些朋友身在第三/四象限妄想一步迁移到第一象限是很难的,请使用多步策略,螺旋式上升原则,我相信这个问题就迎刃而解了!

c、内求和外索

最后一个要聊的是,我们在专业能力/认知提升过程中,一定要学会「内求」和「外索」。

所谓的内求就是先在公司内部找到你所在领域的高手,向他们学习,当然人家不会轻易教你,多注意方法,毕竟是人家吃饭的东西也是多年经验之谈,至少先主动和别人做朋友吧。多做一些对别人有帮助的事,这样别人才能有理由来帮助你。

当然,也有可能在你所在的公司里专业能力比你强的人不多或者没有了,这个时候就需要「外索」并打开自己,也就是找到公司之外的高手,不要傻兮兮加了人家大佬的微信就说我要跟你学习,还不怎么认识就各种问题不断,这种行为真的很傻。一般来说大佬一般都很忙,哪有时间和你闲聊天,系统化的教你那就更不可能了,所以我建议主动付费咨询/付费学习。

真正的知识和一线的实战经验书面里学不到,在如今这个社会,就是很值钱,当对你很纠结的问题在别人那已经研究了一百遍了,用钱/大佬喜欢的东西换自己成长的速度,这个买卖真的很划算。

像之前我根据各大博客的大佬输出整理了一些技术资料和面试题集,供大家提升进阶

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

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

部分内容展示

小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路_https://bianchenghao6.com/blog__第2张

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文件操作
小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路_https://bianchenghao6.com/blog__第3张

小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路_https://bianchenghao6.com/blog__第4张

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渲染机制
小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路_https://bianchenghao6.com/blog__第5张

小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路_https://bianchenghao6.com/blog__第6张

03.Android常用组件

  • Activty:Activity管理栈与Activity的启动模式、Activity生命周期源码分析
  • Fragment:Fragment生命周期深入详解、Fragment事务管理机制详解、性能优化相关方案
  • Service:Service启动模式分析、Service管理与通信方案、Service生命周期底层详解
小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路_https://bianchenghao6.com/blog__第7张

小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路_https://bianchenghao6.com/blog__第8张

04.高级UI

  • UI绘制原理:setContentView()方法下到底做了什么、AppCompatActivity与Activity的区别、UI测量、布局、绘制的底层执行流程
  • 插件换肤:LayoutInflater加载布局分析、Android资源的加载机制、Resource与AssetManager
  • 事件分发机制原理:事件执行U形链与L形链、事件拦截原理
  • 属性动画:VSYNC刷新机制、ObjectAnimator与ValueAnimator源码讲解、Android属性动画:插值器与估值器
  • RecycleView:布局管理器LayoutManager详解、回收池设计思想、适配器模式原理
  • 高阶贝塞尔曲线
小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路_https://bianchenghao6.com/blog__第9张

小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路_https://bianchenghao6.com/blog__第10张

05.Jetpack

  • Lifecycle:Lifecycle源码、Lifecycle高阶应用
  • ViewModel:ViewModel源码、ViewModel应用技巧
  • LiveData:LiveData源码
  • Navigation:Navigation源码
  • Room:Room源码、Room+LiveData监听数据库数据变更刷新页面原理
  • WorkManager内核
  • Pagging原理
  • DataBinding:单向绑定、双向绑定、如何与RecyclerView的配合使用、底层原理
小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路_https://bianchenghao6.com/blog__第11张

小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路_https://bianchenghao6.com/blog__第12张

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检查工具实践
小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路_https://bianchenghao6.com/blog__第13张

小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路_https://bianchenghao6.com/blog__第14张

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

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音视频通话实现
小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路_https://bianchenghao6.com/blog__第15张

小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路_https://bianchenghao6.com/blog__第16张

08.开源框架原理

  • Okhttp
  • Retrofit
  • RxJava
  • Glide
  • Hilt
  • Dagger2
  • EventBus
  • 组件化、插件化、热修复等
小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路_https://bianchenghao6.com/blog__第17张

小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路_https://bianchenghao6.com/blog__第18张

09.Gradle

  • Groovy语法
  • Gradle Android插件配置
  • Gradle实践等
小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路_https://bianchenghao6.com/blog__第19张

小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路_https://bianchenghao6.com/blog__第20张

10.kotlin

  • Kotlin语法
  • 扩展使用
  • 进阶使用
  • 实践等
小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路_https://bianchenghao6.com/blog__第21张

小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路_https://bianchenghao6.com/blog__第22张

11.Flutter

  • Dart语法
  • UI
  • 进阶使用
  • 优化
  • 实践等
小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路_https://bianchenghao6.com/blog__第23张

小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路_https://bianchenghao6.com/blog__第24张

12.鸿蒙

  • Ability组件
  • 分布式任务
  • 事件总线
  • 鸿蒙线程
  • UI自定义控件等
小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路_https://bianchenghao6.com/blog__第25张

小公司出来的程序员被大厂鄙视怎么办_程序员35岁以后出路_https://bianchenghao6.com/blog__第26张

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

Android路漫漫,共勉!

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复