惨遭社会毒打,公司倒闭突然失业,程序员该如何在下次危机对准时狠狠还击?!
作者:互联网
一、程序员现状
去年年底,我同行朋友的小公司辞退了10多个程序员。
近3个月过去了,大概一半的人找不到合适工作。大家聊起时正在感慨这两年好多行业都不景气,朋友说,他的前同事们不少非科班出身,半路参加培训机构后就转行了。
那时公司急着找人,业务相对简单,薪酬要求不高,一下招了好几个。
学习能力强的,后面接手了更核心的研发任务,或是自己找到更好的机会后跳槽;学习能力平平的,就做些重复性的常规需求。
这次暂停了大部分业务,团队里最终只留下5、6个比较厉害的程序员合并到另外一家公司,原先的小公司关闭了。
当然,被裁时有很多原因。老板找员工面谈时,有时为了让员工相对容易接受(说白了就是想让你尽快走人),会说公司效益不好要倒闭了、大环境不好、行业趋势下滑,而唯独不会告诉你:
你的能力或许不行。
乔布斯曾经在演讲中提过:“过去我认为一个出色的员工能顶2名平庸的员工,现在我认为能顶50个。”
听起来有些夸张,可现实中对多数雇主方来说,宁可花更多的钱找一个厉害的员工,也不会用便宜的价格找一个水平偏差的员工。
据统计中国有近700万软件从业者,知乎上有个问题:中国的程序员数量是否已经饱和或者过剩?
有网友用了万能的12字总结:
高端稀缺,中端平衡,低端饱和。
我以前提过一个理论,叫“高山洪水”。
每当危机到来的时候,就像发大水。大水首先淹没的是山脚下的那些人,等水淹到半山腰时,那里的人就完蛋了。只有水一再涨,一直淹到山顶上,山顶上的人才完蛋。
这几年程序员越来越多,但有个真相是:
你站得越高,越不容易被外界冲击,越在山脚,越容易被冲刷。
就好比不管内卷外卷,所有卷都是从边缘开始。
二、程序员危机
今年初,有条#六成应用开发不需要程序员#的消息上了热搜。
据权威IT咨询机构Gartner最新报告,2024年,全球约65%应用程序涉及低代码开发。所谓低代码,就是不懂或略懂代码的人就能快速搭建应用程序。
消息一出,不少网友就问,人人都能做开发者?这是不是意味着将有大量程序员失业呀?
某大厂低代码技术专家表示,这就像智能炒菜锅不能取代专业厨师一样,低代码平台其实是解放程序员,帮忙做一些重复机械的事情,让他们专注在人工智能、算法等高精尖领域。
实际上这话有句潜台词——
假如你做的都是重复性的代码任务,未来就很可能被这类平台替代。
很多人觉得程序员的门槛相对高,然而单纯敲代码并没有什么难度,套用现成框架、搬运代码、再调几个参数,可这些通常属于低含金量的事情。
要知道,低含金量的事情做多了,你个人的价值含金量绝不可能高上去。
什么样类型的工作最容易被取代?
不太需要动脑的工作。
三、全面发展
因为本职在IT圈的关系,我周围有许多程序员同事,其实接触几次就能大致知道水平。
厉害的程序员,需求理解到位、代码逻辑清晰,做事时有一定全局观;糟糕的程序员,写起代码来千篇一律,不管什么样的模块总想着复用,最好能应付了事。
有些程序员碰到麻烦时喜欢说,我只会写C/写JAVA/写PHP,其他的我不管。
这种想法往往让人故步自封。
为什么?
无论什么编程语言都只是工具,只懂使用工具,那叫工人。懂得用工具加上方法去解决问题的,才叫工程师。
道理不难理解:
只会用PS的不等于是设计师;
只会做菜的不等于是餐饮店老板;
只会修路搭桥的不等于是桥梁工程师。
同志们,我们做事不能真的只是“做事”呀,尤其是年轻人,要尽可能给自己设一个高目标。
有两个拓展戏路的方向。
1、纵向多维性
你掌握的工具越多,对问题理解得越全面,解题思路也就越丰富。
2、横向多维性
很多人有个误解,以为某一项特别出众就能立于不败之地。
实际上这种单一优势,竞争力并没有想象中那么无敌。
千万别指望达到行业top1%水平就能人生开挂。
先不说实现极其困难。就算实现,能匹配你的地方、或者说需要的场合也很少。
企业绝大多数时候需要的是A+B+C+D的技能组合型员工,而不是A+++的单一型员工。
四、技术迭代
如果你留意的话会发现,无论哪个领域,越来越多的重复性工作在逐渐被替代。
不少人以为只要努力就能翻身,殊不知,只有努力,不会翻身。
不定期抬起头,被社会毒打后汲取经验,然后该折腾就折腾、该学习就学习,才能在下回危机准备对你下手时狠狠地予以还击。
进入高薪行业只是起点,而非终点。
这世界没有什么是一成不变的。
同一个技能,或许过几年就派不上用场了。
所以说,要关注我们世界正在发生的变化,所在行业发生的变化,所处环境发生的变化,主动刷新自己的知识和认知。
每对世界多了解一些,看待事物的眼光总会变化几分,自然,也能更理解这个社会的运转规则。
如何提升 Android 实力,突破能力瓶颈?
接下来分享的系统学习资源以详解各大互联网公司的 Android 常见面试题为主线,从面试的角度带你介绍必备知识点,以及该知识点在项目中的实际应用。
帮你在现在的基础上,重新梳理和建立 Android 开发的知识体系。无论是你短期内想提升 Android 内功实力,突破自己工作中的能力瓶颈,还是准备参加 Android 面试,都会在这份资料中有所一些收获。
从架构基础开始,分了8个模块来逐步从基础进阶到架构师的环节:
多余的话就不讲了,接下来将分享面试的一个复习路线,如果你也在准备面试但是不知道怎么高效复习,可以参考一下我的复习路线,有任何问题也欢迎一起互相交流,加油吧!
架构师筑基语言基础
目前Android APP开发主流语言就是Java语言,Java语言最大的特性就是提高了软件的交互可能性,可以说安卓手机几乎所有应用程序都是利用Java语言来进行编写的。
知识要点:
1、深入理解Java泛型
2、注解深入浅出
3、并发编程
4、数据传输与序列化
5、Java虚拟机原理
6、高效IO
设计思想解读开源框架
随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,插件化技术应用而生。如果没有插件化技术,美团、淘宝这些集成了大量“app”的应用,可能会有几个g那么大。
所以,当今的Android移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。
知识要点:
1、热修复设计
2、插件化框架设计
3、组件化框架设计
4、图片加载框架
5、网络访问框架设计
6、RXJava响应式编程框架设计
360°全方位性能调优
在不同层次的开发工程师手里,因为技术水平的参差不齐,即使很多手机在跑分软件性能非常高,打开应用依然存在卡顿现象。
另外,随着产品内容迭代,功能越来越复杂,UI页面也越来越丰富,也成为流畅运行的一种阻碍。综上所述,对APP进行性能优化已成为开发者该有的一种综合素质,也是开发者能够完成高质量应用程序作品的保证。
知识要点:
1、设计思想与代码质量优化
2、程序性能优化
启动速度与执行效率优化
布局检测与优化
内存优化
耗电优化
网络传输与数据储存优化
APK大小优化3、开发效率优化
分布式版本控制系统Git
自动化构建系统Gradle4、项目实战
启动速度
流畅度
抖音在APK包大小资源优化的实践
优酷响应式布局技术全解析
网络优化
手机淘宝双十一性能优化项目揭秘
高德APP全链路源码依赖分析
彻底干掉OOM的实战经验分享
微信Android终端内存优化实践
Android框架体系架构
Android框架体系架构(高级UI+FrameWork源码) 这块知识是现今使用者最多的,我们称之Android2013~2016年的技术。
Android开发者也往往因为网上Copy代码习惯了而导致对这块经常“使用”的代码熟悉而又陌生:熟悉的是几乎天天在和它们打交道, 天天在复制这些代码 ;陌生的是虽然天天和这些代码打交道,但是并没有深入研究过这些代码的原理,代码深处的内涵。
知识要点:
1、高级UI晋升
2、Android内核组件
3、大型项目必备IPC
4、数据持久与序列化
5、Framework内核解析**
NDK模块开发(音视频开发系列)
NDK(Native Development Kit缩写)一种基于原生程序接口的软件开发工具包,可以让您在 Android 应用中利用 C 和 C++ 代码的工具。通过此工具开发的程序直接在本地运行,而不是虚拟机。
在Android中,NDK是一系列工具的集合,主要用于扩展Android SDK。NDK提供了一系列的工具可以帮助开发者快速的开发C或C++的动态库,并能自动将so和Java应用一起打包成apk。
知识要点:
1、NDK开发之C/C++入门
2、JNI模块开发
3、Linux编程
4、底层图片处理
5、音视频开发
6、机器学习
Flutter学习进阶
2020 年无疑是 Flutter 技术如火如荼发展的一年。现在这门技术也依然非常有价值。
每一个移动开发者都在为 Flutter 带来的“快速开发、富有表现力和灵活的 UI、原生性能”的特色和理念而痴狂,从超级 App 到独立应用,从纯 Flutter 到混合栈,开发者们在不同的场景下乐此不疲的探索和应用着 Flutter 技术,也在面临着各种各样不同的挑战。
知识要点:
1、Flutter跨平台开发概述
2、Windows中Flutter开发环境搭建
3、编写你的第一个Flutter APP
4、Flutter Dart语言系统入门**
……
微信小程序开发
微信小程序作为现在比较火的编程开发应用场景之一,深受市场的青睐,这让不少开发者眼馋不已。但是对于初学者来说,就完全摸不着头脑了,不知道微信小程序开发制作需要学习那些知识,有需要的朋友可以参考本篇。
本篇知识要点:
1、小程序概述及入门
2、小程序UI开发
3、API操作
4、购物商场项目实战
Android相关源码解读
“编程语言是程序员的表达的方式,而架构是程序员对世界的认知”。所以,程序员要想快速认知并学习架构,读源码是必不可少的。阅读源码,是解决问题 + 理解事物,更重要的:看到源码背后的想法;程序员说:读万行源码,行万种实践。
主要内含微信 MMKV 源码、AsyncTask 源码、Volley 源码、Retrofit源码、OkHttp 源码等等。
Android BAT高级开发面试题及答案解析
面试前夕,刷题冲刺
面试的前一周时间内,就可以开始刷题冲刺了。请记住,刷题的时候,技术的优先,算法的看些基本的,比如排序等即可,而智力题,除非是校招,否则一般不怎么会问。
最近有一些小伙伴,让我帮忙找一些面试题资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!
以上内容均免费分享给大家,需要完整版的朋友,点这里可以看到全部内容。
上面链接打不开的话点击这里~
挑战中,总是蕴藏着机遇;大浪淘沙,留下来的必定都是顶尖人才。这个系统学习资源一定可以帮你在技术发展的路上走的更轻松一些。
标签:还击,代码,毒打,程序员,源码,开发,Android,Flutter 来源: https://blog.csdn.net/weixin_44339238/article/details/115013987