一个国企十年全栈工程师之"死"

事件

去年年底,公司来了一位工作十余年的工程师,据说是个全栈,应聘的岗位是Android高工。比较巧的是,这位工程师是我上一家公司隔壁部门的同事。

我们均来自大厂,但是是国企,二线城市。所以尽管他在前公司工作十余年了,在国企这个环境下,其工资在行业内也不会太高。以我对两家公司工资水准的了解,他跳过来的工资应该是原来的两倍多。

所以对于这位老哥来说,这次跳槽得到的工资应该还算满意的。但是,好景不长。。今年过年回来不久之后就被裁了。。所以他从我的前同事变成了现同事,又变成了前前同事。。。

起初我还以为是他嫌工资太低了自己离职,毕竟十年工作经验应该不只这个价。当时我挺羡慕他的,因为我觉得有十年工作经验就可以这样为所欲为,想来就来想走就走。

后来,我错了,从同事的小道消息得知,他是被裁的,试用期没过。他去年年底过来,过年回来正好干满试用期3个月,试用期没过只能走人了。

这个现实给我敲了一次警钟:在程序员这个行业,三十五岁就算是“老人”了。这是必须承认的一个事实,可以多看一些公司的招聘要求。

这位十年经验工程师被裁的事引发了我的思考:为何被裁?

我觉得有些事情能早点想清楚就该早点想清楚,早点想对策。防止一些糟糕的事情降临打我们个措手不及。

至于为何被裁?有朋友可能会觉得是受疫情的影响导致公司经营不善才会被裁的。

应该不是这个原因,因为公司各个岗位都在不停的招人,而且招进来的能进入试用期的员工基本都可以转正,除了极少数的要求真的达不到的才会不能按时转正。

所以大概率的原因是这位工程师的能力没能达到上级的要求,因此被辞退。

如何防止被淘汰?下面我分享一下我的几点看法:

思考

1、学习能力

随着行业的发展,技术都在不断地进步,我们只能不断地学习来提高自己的核心竞争力。

在保证已熟练掌握现有知识、技术的前提之下,可以多涉猎其它方面地相关技术。既要保证自己的知识深度,也要保证自己的知识广度,横、纵同时发展。

与此同时,不断积累行业经验,“努力做到拥有n年工作经验的工程师,而不是一年经验用了n年的工程师。”

上级招十年工作经验工程师应该是想着招过来可以起到技术指导性、领导性的作用,而这位工程师并没有能起到这样子的作用,没有表现出一些十年工作经验工程师该表现出来的东西。

2、自律、思考能力

在这个比较浮躁的社会里,我们可能需要多一份自律,多一点地思考。

我上一份工作的环境算是比较安逸的,每天上班8个小时、住小区(需付少量网费、电费)、每天公司班车接送,加班极少,除了极少数技术骨干常常自愿加班之外,其他人基本上五点半到点下班,我就是属于这一类人。。。

待在这种安逸的环境之下(温水煮青蛙),很容易让人失去了斗志。

在这种环境下,靠的就是自己的自律了,自己有没有额外地进行充电,还是把闲暇下来的时光都给挥霍掉了。

那位老哥在这样的环境下工作了十年,如果只是靠工作环境来推动自己,那这十年工作经验估计就得大打折扣了。

总之,“我们就是要不断地学习、不断地思考,思考行业、思考方向,保持着一颗前进地心。如果我们可以踏踏实实地走好每一步,我相信我们一定可以很好地越过35岁这道坎。”我也还在起步期,不知未来如何,但我觉得我35岁时应该还在做着技术。

分享

说句实话,如果我选择在上一家国企待着,是完全不用担心所谓的35岁的危机的,工资虽然完全比不上现在的公司,但也足够养家糊口。之所以还是选择了跳槽出来,说的官方点这叫“跳出舒适圈”,说简单点就是“我觉得我可以挣的更多”。

事实也如我所愿,国企有一个非常好的好处就是,能给我足够的学习时间,这些年的学习我都做了笔记整理,如果你也是一名Android开发者,想要做些改变而又暂时找不到一个方向的话,或许我这能给你一些启发。

学习路线及笔记分享如下:
(需要pdf笔记文档的同学可以私信我来要)

  • 架构师筑基必备技能

目前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
  • 自动化构建系统Gradle

4、项目实战

  • 启动速度
  • 流畅度
  • 抖音在APK包大小资源优化的实践
  • 优酷响应式布局技术全解析
  • 网络优化
  • 手机淘宝双十一性能优化项目揭秘
  • 高德APP全链路源码依赖分析
  • 彻底干掉OOM的实战经验分享
  • 微信Android终端内存优化实践
360°全方位性能调优
  • Android框架体系架构

Android框架体系架构(高级UI+FrameWork源码) 这块知识是现今使用者最多的,我们称之Android2013~2016年的技术。

Android开发者也往往因为网上Copy代码习惯了而导致对这块经常“使用”的代码熟悉而又陌生:熟悉的是几乎天天在和它们打交道, 天天在复制这些代码 ;陌生的是虽然天天和这些代码打交道,但是并没有深入研究过这些代码的原理,代码深处的内涵。

本篇知识要点:
1、高级UI晋升
2、Android内核组件
3、大型项目必备IPC
4、数据持久与序列化
5、Framework内核解析

Android框架体系架构
  • 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、机器学习

NDK模块开发
  • Flutter学习进阶

2019 年无疑是 Flutter 技术如火如荼发展的一年。

每一个移动开发者都在为 Flutter 带来的“快速开发、富有表现力和灵活的 UI、原生性能”的特色和理念而痴狂,从超级 App 到独立应用,从纯 Flutter 到混合栈,开发者们在不同的场景下乐此不疲的探索和应用着 Flutter 技术,也在面临着各种各样不同的挑战。

本篇知识要点:
1、Flutter跨平台开发概述
2、Windows中Flutter开发环境搭建
3、编写你的第一个Flutter APP
4、Flutter Dart语言系统入门

......

Flutter学习
  • 微信小程序开发

微信小程序作为现在比较火的编程开发应用场景之一,深受市场的青睐,这让不少开发者眼馋不已。但是对于初学者来说,就完全摸不着头脑了,不知道微信小程序开发制作需要学习那些知识,有需要的朋友可以参考本篇。

本篇知识要点:
1、小程序概述及入门
2、小程序UI开发
3、API操作
4、购物商场项目实战

微信小程序开发
  • Android相关源码解读
    只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。
Android相关源码解读

Android相关源码解读部分内容

最后,珍惜我们的黄金十年,我们一起努力成为不被裁掉的那个人,甚至可以成为拥有裁员能力的那一类人。共勉!

你可能感兴趣的:(一个国企十年全栈工程师之"死")