当前位置: 华文问答 > 数码

学计算机类,当程序员,真的是吃青春饭,存在中年危机吗?

2024-01-15数码

不只是存在中年危机,还可能连青春的饭都吃不了!

你这让我想起了每年高考季结束后,虽迟但到的那个问题:「计算机专业为什么那么多人劝退,是不是真的前景很差」。

本质上和你的问题没什么差别。

说真的,这种话看看就得了,还真往心里去啊?

如果你愿意动动手查查随便一个别的专业,你就会发现:「 每个专业每个行业每个工作,都在劝退 」!

也是年年都有,可以说一波接一波,前赴后继,生生不息。

你会觉得他们每个人说的是那么的情真意切,就好像心肝肺都要掏出来给你看,每个人都说很像那么回事。

为什么会出现这种情况?

咱祖国实在是太大了,拿计算机专业来说,每年的毕业生加上在校生这么也得个几百万,一个班三四十号人,就算一个班只有一个觉得计算机是青春饭的,那在全国也得有大几万人!

这就叫「 再小的概率事件也怕碰上大基数 」。

当然了,程序员的青春饭,中年危机存在吗?这也确实是存在的,但是你不能直接是说程序员的整个群体,而是前面加个「绝大数」。

造成这种情况出现的成因也很简单,两个方面:「行业因素」和「个人因素」

第一个,行业因素。

程序员是一个「团队作战」的工种。项目全部由团队来完成,每个人只需要完成其中的一小部分。

领导者将项目的技术架构和工作规范都规定好,程序员们在这个框架下完成自己的工作,用的技术用的工具全部是高度封装 和组件化的。

再加上绝大多数公司做的其实都是外包项目。你在一个普通的开发岗位上,一年又一年的完成同样技术水平的工作。

呆在这样的岗位上一年又一年的重复,工作内容和你几年前刚入职的时候差不多,但是工资随着工龄在变多,反而体能在下降,工作以外的牵扯太多,相比于同样能做你工作的,薪资低又能干的年轻程序员,年纪大的程序员的性价比太低了。

第二个,个人因素

程序员这个职业,大多数人入行的水平其实差不了多少,但是 工作个两三年以后,其实是会有不同的走向的

我就拿「写代码」来说,这是一个严肃且综合性高的动作,既需要逻辑思维能力,又需要动手能力,稍微马虎就会出问题。

随着编程能力的提高,适合做技术的程序员因为掌握了更高效的编程技巧,养成了更好的编程素养,开始逐渐找到感觉,迈向更高的技术层面。

但大多数程序员还是在停留在初级程序员 的境地,坐着刚入行的时候就在做的事,bug 就在眼前就是找不出来,所以就会觉得写代码就是枯燥的搬砖,然后拼命的熬夜找 bug,拼的是体力。

这就把程序员这个职业硬生生的变成了一门「青春饭 」。

走到程序员能吃上青春饭的还算好的,还有些在大学没有好好学习没有好好规划自己大学生涯,毕业即失业的不也比比皆是吗?

所以,选专业固然是一件很重要的事,也不要一昧的陷入「比较未来」的怪圈,任何专业都有好就业的人存在,那也就存在不好就业的。

其实不管对于什么专业,以后从事什么职业,对于任意的职业来说,有一个算一个, 对于身处其中的绝大多数人来说,工作经验越久,价值都是在持续走低的。

所以, 上大学并不是说你在填报完志愿以后就完全把自己的命运交给了学校或者专业 ,不管是什么好的专业或者是坏的专业,这都不能成为你一劳永逸或者躺平的理由。

如果看到这,你已经被我「忽悠」的还想继续学计算机专业,或者以后从事计算机相关行业,那你可以继续往下看。

下面的内容我会具体从 3 个方面来讲:

  • 第一,计算机专业的同学应该如何规划自己的大学四年
  • 第二,计算机专业毕业的同学如何提前准备找工作
  • 第三,初入职场,要怎么做才能避免「青春饭」和「中年危机」?
  • 内容应该会很长,建议瞅准 @Rocky0429 , 分批次食用。

    第一,计算机专业的同学应该如何规划自己的大学四年?

    作为现在这个环境下的同学,我希望你清醒的认识到:

    计算机专业学习的难度和需要掌握的内容也在上升,市场上对于计算机毕业的同学也会要求越来越高。

    在怀有敬畏的基础上,你也可以放宽:

    计算机专业 是个只要你努力,就会给你正反馈 的专业,而且网上的学习资料是那么的多那么的全面,学习路线是那么的明确。

    这里有 12 条我自己的总结,都是实打实总结的经验!一定会对你未来 4 年产生巨大的影响!

    0、摆正自己的心态

    你要清醒且坚定的认识到:大学,和你之前上的那十几年学完全是两码事!

    你还拿之前十几年的学习经验照搬照套进大学,会吃大亏的!

    我记得当时大一的时候,我们宿舍有个高考成绩比我高不少的同学,从进大学的第一天我晚上就没见过他人,白天睡不醒晚上蹲网吧,大学四年除了拿了十几个挂科,结果啥也没剩下。

    很多同学在上了大学以后在很长一段时间内会很不适应,主要还是因为他们把观念还停留在自己是一个「学生」,而不是一个「大学生」的身份上。

    这是绝大多数刚上大学的同学们的「通病」。

    1、没有计算机编程经验照样能学好计算机!

    大家对于自己是编程零基础这件事不要过度担心 ,每个人都是从编程零基础开始学的自己第一门编程语言。

    唯一的区别是有的人接触的早,可能初中就开始接触,有的人接触的晚,可能到了大学因为选了计算机专业才开始学。

    我就是后者,上了大学才开始接触的第一门编程语言,你只要后天多努力,多向别人请教,绝对没问题!

    2、学会自学。对于计算机科班的学生来说,大学计算机 主要靠自学。

    我们从小学初中到高中,绝大多数情况下都是处于一个被动学习的状况,老师说学啥我们学啥,说做啥我们做啥,时时刻刻拿着小鞭子 在后面抽着,时间都是被上课和自习填满。

    这一套照搬到大学来,是远远不够的。

    大学的自由时间太多了,上课只是占大学四年极少数的时间,平均一天能有个三四节课撑死,不会有人干预你几点起床,几点回宿舍,老师也不会过度逼着你学习,爱学就学不爱学拉倒。

    大学的自学时间太多了,仅仅是靠上课听一下肯定是不够的,而且上课你不睡觉我都算你是条好汉!

    当然对于自学这件事,需要能耐得住寂寞,需要长久的坚持, 这个坚持不是一天两天 ,不是一个月两个月,而是以年为单位

    如果看到这个回答的你,是还没有进入大学的准大一新同学,那你可以从现在开始就培养一下自己的自学能力。

    不要把这么长的两个月暑假给浪费了,计算机专业这么热门,卷的厉害,要提早卷起来。

    至于要学啥,不太清楚的同学们可以看我下面这篇回答:

    3、认真思考未来。大学所有的努力都是为你所想的未来服务的。

    不要像我一样到了大三才给想好自己后面要干啥,结果前面两年没有侧重点的学习,导致后期要多花时间补上来。

    首先要明白,其实你大学所有的努力,是为你所想的未来服务的。

    大学生涯和中学生涯不同,要多思考。

    所以,在上大学之初,应该立马先思考一件事,在上大学的初期,想明白自己之后想要干啥。

    认真思考未来,这个动作越早做越好,毕竟目标导向。

    最好及早决定自己是要毕业直接工作还是要考研 ,因为虽然在学习内容上相差不大,但是重点努力的方向 还是不同的!

    4、多读点书。没有人会对代码本身感兴趣,有趣的是代码背后的故事。

    刚进入计算机懵懵懂懂的时候,需要建立起对计算机的概念,这个时候可以读一些【逻辑的引擎】【黑客与画家 】【编码】这种计算机的科普书 ,提升兴趣,计算机背后还有很多的有趣的东西,这些被遗忘的历史,还在诉说着它们的故事。

    基础不牢地动山摇,任何的学习都要把基础打牢,大一大二要多去读一些计算机基础的书,打好地基,后面事半功倍。

    再往后,我们就要对培养良好的编程思想和素养,比如编程的素养,良好的代码风格等等,就如一个人的价值观有问题,那这个人肯定会有问题,同样 编程思想和素养有问题,你学再多的东西也白搭。

    根据这些,下面我给大家推荐一些各个阶段我觉得不错的书籍,大家可以根据自己的兴趣和需求选择。

    5、学会 Google 搜索。程序员必备,谁用谁知道!

    有问题找 Google,查资料找 Google,你会发现 Google 出来的才是你想要的,至于某度啥的,那都是广告!

    当然如果你实在上不去 Google,尝试一下 bing 也不错。

    6、多参加计算机竞赛!

    多参加 ACM、CCPC、蓝桥杯、Kaggle、阿里天池这种计算机竞赛,这是大学期间含金量比较高的。

    一方面可以锻炼自己的编程能力,重要的是可以拿奖,这个不管是你保研考研或者是找工作都是超级加分项,非常香!我就是 ACM 出来后来进入 985 读研的!

    7、 学好数据结构与算法 、计算机组成原理 、操作系统、计算机网络 、数据库这几门计算机核心基础课。

    基础不牢,真的地动山摇,我就是个很好的反面教材 ...

    计算机基础一定要好好学,不管以后面试找工作还是保研、考研都很有用。

    我写过关于计算机基础得学习路线,跟着整没问题!

    8、熟练掌握一门编程语言 !

    这个是必须的,根据自己的规划,无论是 C++、Java 还是 Python 都行,无论你以后是不是用这门语言,这都是你找工作的敲门砖!

    我当时选的是 Python,因为考上研究生准备搞数据挖掘 ,提早准备。

    其实最后就是一边看书看视频补充理论知识 ,一边练习加强编程能力。

    当然很多同学就会有一个疑惑:编程语言这么多,我应该学习哪一个?

    我在大一的时候学习的 C 语言,相信到现在绝大多数学校给学生准备的第一门编程语言依然是 C 语言。

    这个时候可能又有疑惑出来,为什么是 C 语言?C 语言工作这么少,我为什么不去学更流行的 Python,Java?

    我不想说一些长篇大论去列举 C 语言入门的好处,毕竟我列一条,可能会有人拿起键盘回我一百条,但凡是观点,都会带有自己的主观。

    我想告诉大家的是, 大家不要被编程语言框住

    我们在后期当然是要有一门比较擅长的编程语言,但并不是我们在做任何事情的时候都只是用一种编程语言来做,比如我搞数据挖掘用 Python 舒服的一批,搞硬件用 C 语言 YYDS!

    我们学习编程语言不是为了学它而学它,而是 通过编程语言的学习,打好基础,使我们具备编程的基本思想和理念

    基础打好了,以后学什么别的编程语言都快。

    不管你选择了哪门编程语言,都是先去学习它的基础语法 。

    对于刚开始接触编程语言的初学者来说,就是视频搭配着对应的编程语言书来学,在这个过程中肯定会有看不懂理解不了的地方,在这里就不需要拿出死磕的精神了,看不懂记不住先过。

    先看会能看会的,至于看不会的,在之后的实践中再去慢慢理解,至于如何实践,我在下面会讲到。

    我写过一些编程语言学习路线的推荐,大家在学习的时候可以看看:

    Rocky0429:这才是你最想要的 C 语言学习路线!

    Rocky0429:这才是你最想要的 C++ 学习路线

    Rocky0429:这才是你最想要的 SQL 学习路线!

    9、多练习编程!

    编程能力是我们吃饭的家伙什,没事的时候多敲点代码,当个熟练工,才能显得你牛x!

    其实不论在什么时候,去提高自己,无论是编程能力或者是其它的什么能力,都是有路线可循,难的是 你有提高的想法,以及为了达成这个目标你会努力到什么程度

    具体如何去做,下面这篇回答写的很清楚了:

    10、多做项目!

    有机会跟着学校的老师或者进入到实验室做项目,一定要坚决跪舔,一定不要错过这样的机会,如果没机会,学会上 GitHub 找项目,尽可能多折腾,积累项目和实战经验,为将来找工作打好基础!

    当然刚开始的时候可能有点不太适应,不知道项目怎么去搭建,怎么去规划,这个时候你也要尝试和有意识地多去读一些优秀项目的源代码 。

    看看人家 是怎么写出高质量的代码,这个过程很重要,这是一个拔高的过程,区分普通程序员和高级程序员 的界线。

    11、英语要好好学。

    当回事,以后要学会多看国外的资料和文献,一手的新鲜资料一般都是英文的!如果不想当回事,最好大一就把英语四六级过了,因为大一可能就是你这辈子英语能力的巅峰了!

    很多程序员被英语搞的死去活来。

    可能你在询问别人的时候,有人会告诉你学个毛的英语,且举例「我的 xx 同学四级都没过,你看现在在 xx 大厂月薪 xx 万」等诸如此类,真的, 碰到这种不摆数据不讲客观就想当然拿个例来扩散到整个整体的人就是在耍流氓,趁早离他远远的,这种人就是坏…

    如果你看完上面的内容觉得有了方向,但是具体的顺序又不太清楚,我结合上面的内容,也有一个路线的回答,想再加深印象的可以一看:

    第二,计算机专业毕业的同学如何提前准备找工作?

    找工作需要提前做的准备工作有很多,尤其在当前的环境下,更是如此。

    充足的准备可以大大提高找到一份合适工作的概率,作为过来人,我会尽可能多的告诉你需要提前做好的准备。

    主要从下面几个方面来准备:

    至于每一部分具体的方式方法,限于篇幅原因,可以看这里:

    第三,初入职场,要怎么做才能避免「青春饭」和「中年危机」?

    作为一名以「程序员」身份踏入职场的过来者,我回想了一下几年前我以应届生身份入职的点点滴滴,不得不说,遗憾还蛮多的。

    我甚至偶尔还会回想「 如果当初我 xxx,现在是不是就不同了呢 」?

    可惜没有后悔药可以吃。

    这里有我总结的 10 条经验,相信对你会很有启发:

    这里我想再多补充一点:那就是「副业」。

    大家在当前的环境下,在本职工作以外,去探索可以多增加收入的可能性,这个无可厚非,而且还值得夸奖,这能提高自己抗风险的等级。

    而且程序员经常和互联网打交道,更容易发现一些值得做的东西。

    但是一定要分得清主次!

    你要明白,副业不是一件好做的事,你看到的所谓那些做副业成功的,你也不知道他们在之前到底是怎么痛苦的熬着才熬到现在。

    不管是主业和副业,本质的核心是赚钱。

    当前的副业对你来说是一件虚无缥缈,存在概念里的事,而你本身事有一份本职工作,这份本职工作能保证你现在能吃饱饭,那你就要先把这份工作牢牢稳定住。

    干好你该做的,然后在这个基础上去拓展你工作所需要的更泛化的技术。技术在手,哪里都能去。

    作为程序员,技术应该学,这是我们安身立命之本,但是技术的学习不需要特别卷,就是自己非得到达这样那样的高度,怎么说呢,不现实。

    对于大多数人,他的技术天花板是肉眼可见的,我们要接受这个事实。

    副业肯定不是不去搞,而是在保证本职工作的基础上,最好是根据自身的喜好,或者是自己的职业,去探寻可能副业的线索。

    平常心去看待这件事情,反而最后能有意想不到的收获。

    不知不觉的写了这么多,希望大家没有嫌我啰嗦。

    最后我想分享一句我最喜欢的话给你:

    人这一辈子,就那么些事,哪个你自己能决定的了?出生在哪,爹妈是谁,长的好看不好看,智商多高,机会好不好,通通决定不了,就能决定两件事:
    第一,你此刻的心情;
    第二,就是你为了什么事情能拼尽全力。
    仅此而已。

    祝你一切顺利。

    我是 @Rocky0429 ,生活从来不是选择,是热爱!