灵魂拷问!双非渣本程序员,是考研二战还是先找个工作混着?

大家好,昨天有同学微信找我问了一个灵魂问题。

简单介绍一下这位同学的情况,他目前大四,学校不是很好。大学期间有参加过一些比赛,也有一些小厂的实习经验。但是在今年的考研当中发挥不是很好,专业课压线,国家线没过。由于临近毕业,他现在非常烦恼,不知道是如何选择是应该二战考研呢还是应该先找个工作干着。

了解之余,他也给我看了他的简历。结合他的简历以及经历,我看到了一些问题。这些问题好像也不是他个人的问题,很多同学会有这样的问题。所以有了今天的文章,给大家一些我的思考和分析,也希望给更多还在修炼的同学一些启发。

大学一定要偏科

看完这位同学的简历,我最大的感受是经历非常丰富,但是没有重点。简而言之就是我不知道他到底想要擅长什么,对什么感兴趣,又想要做什么。

举个简单的例子,他在简历上写了研究方向是软件技术,偏后端,但是他的简历当中完全没有任何和软件技术相关的描述或者是经历。简历当中的经历主要是一些网页制作和实习,网页制作偏前端,实习参与的却是Android开发。实习期一过,就迷茫了,自己到底要去搞哪块开发呢?

这里的问题并不表面的简历写得不好的问题,核心的本质是他整个大学期间没有一个明确的核心,不知道自己的大学究竟有着一个怎样的目标。这个也不仅仅是他的问题,我觉得一大半的责任应该是现在的大学教育问题。因为现在的大学里的课程只负责把课程灌输给你,但是不负责告诉你学了这个东西之后究竟有什么用,能从事什么职业。

这个问题很关键,几乎可以这么说,所有人最终都会找到这个问题的答案,只不过不同的是有认识主动探寻,迎合自己的兴趣,有人是随遇而安全凭命运的安排。并不是说随遇而安顺其自然就一定不好,但如果一开始就目标明确可以节省很多探索的时间

就比如这个同学,如果在大一的时候就明确了自己以后要从事Android开发,那么完全可以在大一的时候就开始了解相关的技术领域。四年下来,不说成为这个领域的专家,但至少已经了解非常深入了。试想一下,以屏幕前每天工作的你空余的学习时间,攻克一门技术整整4年,可以修炼到何种的程度,更何况是作为一个每天只需要修炼的学生。有那个技术深度,还会在毕业的时候迷茫不知道自己该去从事怎样的工作吗?

另外一点是,不论是考研还是工作,我想在面试当中都一定会更喜欢目标明确的人。因为目标明确的人往往更愿意努力,他们会很清楚自己想要什么,也会很清楚因此需要付出的代价。所以上司和导师也很更倾向栽培这样的人,因为他们往往更愿意努力和吃苦,也更愿意付出。简单换位思考一下,如果你去当家教,你是更愿意教励志要考上985的孩子,还是教一个考什么学校无所谓,爱咋咋地的孩子?

有的同学会说我已经大四了,或者是我已经毕业了,再说这些还有什么用呢?

其实有用,亡羊补牢为时未晚。就比如这个同学,现在才大四还没毕业,好几十年的职业发展才刚刚开始。也许和大一就清楚自己的理想,并开始努力的同学相比固然晚了几年,但相比于绝大多数人已经算是早鸟了。尤其重要的是和他自己相比,永远不算晚。

校招、社招进大厂哪个难?

看完了简历之后,我又和这位同学聊了聊目标的问题,我问他你的目标是什么。

他的回答很干脆,进大厂,要么是考研然后校招进大厂,要么是先工作社招进大厂。

这句话要是早两年问我,我肯定会告诉你当然是社招简单。因为校招名额少,竞争大,太内卷了。而社招不那么看重学历,缺人的时候也会经常放低门槛,显然是社招容易。但我现在想想又不绝对,大厂的招聘标准其实一直没怎么变,无论是校招和社招都是一样的。看起来很多校招没有机会的人靠着社招进了大厂,显得似乎后者容易。但反推过来,这群人当年校招的时候同样竞争力不菲。

二战考研到一个不错的学校通过优异表现进入大厂,和先进入一个不知名的小公司,在各种加班当中提升自己的能力,跳槽去大厂。从可能性上来说,好像都有实现的可能,从概率上来讲,也真的很难说哪个概率更大。所以纠结这些意义不大,你看看其他前辈的事例,看多了之后你会有这样一个感觉,就是人对了,无论他怎么选都不会错,人不对,怎么选都选不出正确结果来。关键的其实不是选择,而是选择背后的东西。

说白了,你得变成正确的、能成事的人,在牛人眼里没有错误选项。之前讲过光头哥的故事,从大专开始,一路读到博士,最后成为人工智能专家。也听说过工地小哥的故事,一个工地搬砖的小哥,自学编程去找工作,一路做到技术总监。

人生不能只做简单的事

说了这么多,关键点已经浮出水面了:这两个选择本身都是可以的,但也都不容易。

说白了,无论怎么选都是一堆困难险阻,一堆苦要吃。这个时候再去纠结哪一个更容易已经没有意义了,有一句英文名言我很喜欢,叫做Hard choices, easy life. Easy choices, hard life。翻译过来就是看似简单的选项背后往往是困难的人生,而困难的选择过后,往往是坦途。

巴菲特也说过,慢就是快,人生没有捷径,没有容易的选项,没有随随便便的成功。二战考研也好,硬着头皮找工作也罢,都不容易。但不管如何选择,决定了就把之后的路走好,做好迎接挑战的准备,开始属于你的征程。当你费劲千辛万苦终于做成了一件事情之后,你会逐渐适应应对挑战,逐渐越来越强。

注定要“活到老,学到老”

我自己做Android开发已经是第8个年头了,见证了太多人的起起落落,印象很深一个同事,跳槽阿里薪资直接double,但也看到很多人镀着“大厂”的金四处碰壁,终究还是倒在了技术上

以下分享一下我几年来具体的学习路线及笔记文档,希望能帮助到有心提升技术的朋友!

以下完整学习笔记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相关源码解读部分内容

由于篇幅原因,如有需要以上完整学习笔记PDF,可以点击这里免费自取!!

结果重要,过程也有意义

最后,我想说的是,结果很重要,但不能只盯着结果。

我可以很肯定地告诉你,在你进入大厂之前你觉得大厂千好万好,可能一辈子都不会跳槽。但如果现在就给你offer,入职不出三个月,你之前的所有憧憬都会忘的一干二净。你想的只有工作、业绩、加班,不会再记得当初自己拿到offer的喜悦,也不会记得得偿所愿的感受。

人就是这样,容易念想也容易遗忘。所以不要把你所有的心思都寄托在那一个虚无缥缈的结果上,结果固然重要,但过程也同样有意义。无论是读研还是工作,你在这个过程当中同样得到了切实的成长,这些收获都是实实在在属于你的。大厂的背景固然可以给你加持,但你能力还是基础还是这些收获,offer和奖杯一样,只是实力赢来的荣誉,而不是实力本身,千万不要本末倒置了。

写到结尾好像也没有给出一个定论,因为我希望有这个疑惑的同学看到这里心里都会浮现出属于自己的答案。听取别人的建议很重要,但找到自己内心的渴望同样关键。加油吧,少年们,未来在等着你们努力。

今天的文章就到这里,感谢您的阅读,喜欢的话可以给我一个三连,让文章分享给更多人~

posted @ 2021-03-30 15:09  Button123  阅读(138)  评论(0编辑  收藏  举报