毕业了!给学计算机朋友的 10 条血泪建议

大家好,我是程序员鱼皮。最近高考结束了,也有很多同学毕业了,首先祝福这些朋友在人生的新阶段一帆风顺。

刚参加完高考的朋友,面临的最大问题就是选专业,这段时间也有一些家长向我咨询:还能不能选计算机啦?怎么才能学好计算机?

其实很早之前我就做了一个网站 框框大学 ,里面有各专业前辈们的学习建议,可以多看看。

https://www.kkdaxue.com

借着这个时间点,我决定写一篇文章,根据我自己以及身边学计算机朋友们的经历和经验,给学计算机的朋友们 10 条 “血泪” 建议,希望能帮助更多想从事这个行业的朋友少走弯路。

对于已经学计算机的朋友,看完文章后可以思考一下:如果再给你一次机会重新学习,有了这些建议,会不会比现在更好?

学计算机的建议

1、慎重选择

相信还是会有很多朋友冲着 “高薪” 的名头选择计算机专业,放到几年前还是合理的,但如今想靠计算机专业轻松拿高薪已经不现实了。

虽然计算机专业并不止于完全饱和,但就业的竞争的确是大大增加,所以千万别幻想学计算机就是月薪过万、年入几十万,要考虑清楚自己是否喜欢计算机、是否适合学习计算机。

如果之前完全没接触过电脑,就不太建议学计算机了,因为大多数学校大一开始就会学习编程语言的,如果你连软件安装都搞不定、打字都打不出来,就已经跟其他同学拉开差距了。

的确勤能补拙,但这是需要一定天赋的,也需要真的热爱。举个真实例子,我大学室友就是很努力的人,但他大学时才接触电脑,打字刚开始都是用单手一个手指一个手指敲的,很多理论知识他能学会,但编程速度就是很慢,学习时的艰辛我看在眼里。

可以提前在网上看一些免费教程自学,如果发现对计算机不感兴趣、或者学习起来很吃力,那么就果断换专业吧。计算机跟数学的关系也是比较大的,逻辑思维能力一般的同学,在学习计算机基础和一些底层原理的时候,会非常痛苦。

2、明确目标和规划

一定要尽早想清楚自己未来要做什么,考研?就业?保研?还是留学?

目标不同,你要付出的行动路径也不同,所以越早明确目标,你走的弯路就越少。

我在网上看到过一些帖子,就像什么考研失败、考公失败、换岗失败之类的,失败的原因有一部分是没有准备到位,在各个选择间徘徊,又怎能到达更远的地方呢?

明确一个目标后,就要根据目标提前做好规划。

比如准备直接就业,那么就要赶紧学好一门编程语言和开发框架,从大一就可以开始加入一些编程相关的社团、学长的开发工作室、老师的实验室等,持续做项目、参加竞赛、准备简历、找实习,给自己增加经验值和履历。有同学说 “后端大三下就要准备实习了”,其实不然,我见过很多学历不高又能进大厂的同学,是从大二暑假就开始找实习了(我自己就是呀)。总之越早学越好,机会是给有准备的人,别等到毕业才意识到时间过得好快。

如果准备考研,从大一大二就可以开始了解了,因为考研每一年都在变化,多了解院校和政策有助于帮你明确目标。考研比较稳妥的话,英语可以提前学起来,但其他的核心学科至少要全力准备一年的时间。

如果打算保研的话,从大一就要开始了解学校的保研政策了,可以多询问学长和辅导员哪些课程好刷绩点、哪些比赛能加分,还要努力修好专业课。尤其是大一,刚开始的绩点如果太差,基本就和保研无缘了。像我大一刚开始的绩点是 3.7,不是很高(满绩点是 5),后来卷了几年、再加上竞赛的加分,才拉到了 4.1 左右,拿到了保研名额。

3、专业和就业的选择

努力很重要,但选择比努力更重要。在专业和方向的选择上,还是要慎重。如果刚开始还不确定自己要进什么样的公司、或者找什么语言和方向的岗位,那么就选计算机科学与技术或者软件工程专业,就业面会更广泛一些,读研也会有优势。

就业需要考虑企业规模、行业、个人兴趣等等。

如果你的目标是公务员、好的央企国企、或者一流大厂,那么最好去读个硕士研究生,当然也不是说不读研就进不了大厂了,只不过机会更少一些。很多的私企小厂,对学历也没有特别严格的要求。

再聊聊行业,大部分学计算机的同学都是去做开发,所以首推以计算机技术为主要驱动力的行业,比如互联网、通信、游戏、软件公司等。还有一些以计算机为主要支撑力的行业,像机器人、新能源汽车、智能制造、物联网等,对于开发岗位也是很友好的。

当然,除了开发之外,计算机专业的同学还有很多可以选择的岗位,像算法科研、技术运营、产品经理、项目管理等等,这些岗位或多或少会和研发同学打交道,有计算机相关的知识背景,求职的成功率会更高一些。

4、自主实践

记住一句话 “只跟着学校学计算机,大概率是找不到工作的”。计算机是一个理论和实践都极为重要的学科,对大多数不搞研究的同学来说,甚至实践比理论更重要。你哪怕不会什么算法,能写出代码也一样可以干活。

所以,自主性很重要。一定要多利用网上的资源自学,而不是每天到点听课就以为能够找到工作了。学校的课反而不是什么都要听,有很多课对你找计算机工作没有任何帮助,比如一些文化素拓、大物实验课之类的。我对这一点的印象太深刻了,我就属于刚开始跟着学校老师的 ppt 学习,后面意识到跟其他学校同学的差距后,疯狂自学,能不听的课绝对不听,专心写我的 Bug。

有同学会好奇了:你这样不会耽误绩点和学分么?

别担心,完全不会!老实说,只要你利用网上的资源自学好,再回过头来听学校的一些专业课,会发现真的很简单。比如我们大三上了一个前端 web 开发课,因为之前我已经写了 2 年的前端,所以这个课从来没听过,结果最后考试的时候,5 分钟左右我就第一个交卷了,98 分。拜托,考试的那些题目跟公司的面试题比起来,连个零头都算不上!

除了自学之外,前面也提到了,要多做项目、参加竞赛、参加一些工作室、还可以参加一些开源项目来实践。像我是大一就加入了学校的网站建设工作室、大二成为负责人,这段经历是我找工作的一个重要加分项,也为我后面带团队做项目、自主创业打下了基础。

5、持续学习

学计算机,千万不要三天打鱼两天晒网,必须每天学、坚持学。

尤其是刚开始学编程语言的时候,大部分同学的学习模式还没转变过来,可能还跟高中似的背书呢,很有可能就是学了忘、忘了学,所以哪怕只间隔一天,你都要花更多的时间把之前学过的内容捡起来。

做项目也是一样,过个一两周自己之前写的代码估计都不记得了,所以最好还是投入连续的实践学习,效率更高。

大家也要珍惜机会,大学是为数不多能让大家专心学习的地方,千万不要摆烂,要让自己每天都有事情做。

唉,实话说我真的很怀念那段时间在教学楼、图书馆、实验室自习的时光,不用处理各种各样的消息、也没有对未来的恐惧。

6、走对圈子跟对人

拒绝无意义的社交,而是要向优秀的人靠齐,抱团取暖。

比如可以向学长请教学习求职经验、找队友一起参加竞赛、找老师争取一些项目资源等等。当然,谈恋爱也很重要,不过不要强求缘分哦,你变得优秀了,自然能吸引到更优秀的伴侣。

我见过很多同学,就是没有走对圈子,被各种负面情绪所影响了。比如整个寝室都打游戏,你也很难抵挡住诱惑,就摆烂了。像我当时的室友经常晚上打游戏、追剧之类的,我为了防止被同化,就在实验室待到 23 点多才回来,也才能有今天的一些收获吧。

现在网上的信息也越来越充斥着焦虑,这种时候更要找到积极向上的同学,跟着他一起学习进步,千万不要自我放弃。必要的时候,千万不要心疼金钱上的投资,自己的时间比什么都宝贵。

7、学好一门技术

注意关键词是 “一门”,没错,不要求多,只要学好一门编程语言和框架,能做出项目就行了。

我见过不少大一的同学什么都学,Python、Java、PHP、前端等等,我自己当时就是这样的,以追求会的编程语言数的多少来衡量水平。现在回过头看还是有点浪费时间了,其实先掌握一门编程语言,积累了足够多的看文档能力、解决 Bug 的经验后,再学其他语言根本就是洒洒水啦~

刚开始学纠结语言很正常,大一的时候多探索也未尝不可;但如果你学了好几年(等到大三甚至大四的时候),还在纠结选择什么语言,那就不太好了。

对于科班的同学,学校刚开始就是教 C 语言和 C++,可以先全力把这门语言学好;如果是自学编程做项目,那么可以选择 Java 或前端;如果是出于兴趣学习编程,想从事产品、算法方向的工作,可以先从 Python 学起,比较简单易上手。

8、别背代码

学编程最忌讳背代码,而是要多写代码去理解。

我在最开始学习 C 语言的时候,也是敲一次忘一次,很痛苦。但我又不想放弃,于是强迫自己去记忆代码,渐渐地把学编程变成了背单词。但花了很多时间,好不容易把单词背下来了,却还是写不出代码,考试连个链表都做不对,这就让我逐渐怀疑自己是否适合学计算机了。。。

后来和前辈们的交流中,我发现记不住代码是很正常的,倒不如说能记住代码的人 “不太正常”(太聪明、记性好)。

我之前专门写过 一篇文章 ,给大家分享 “编程不忘大法”,还整了个思维导图:

但其实说这么多,总结下来就一句话:多敲、多记、多练、多查。

看完跟着敲,关键知识做好笔记,多做项目多练习,不会和忘了的知识就查。就这么简单~

记忆力不是你学不好编程的理由,我说的。

9、重视基础

计算机基础知识有很多,最核心的是三大件:数据结构和算法、操作系统、计算机网络,当然计算机组成原理、密码学、编译原理也算是基础,只不过相对前几个,实际开发应用的机会更少了。

基础知识是区分科班和非科班同学的重要因素。很多同学不注重基础,以为把代码写出来、项目做几个,就稳能找到工作了。几年前可能还行,但现在大多数公司面试都会考察计算机基础,手写个算法题,甚至有些让你手撕红黑树、手撕 B+ 树等等。为什么要考基础?虽然平时开发项目不一定会直接用到,但有了基础后,你写代码遇到问题的概率会降低、出了问题更好排查,而且能想到更多更好的技术实现方案。

注意,有同学觉得工作用不到算法,很可能只是因为你没有学过算法想不到更好的方案罢了。

举个例子,你熟悉操作系统,就知道线程池的核心参数怎么设置能提高并发性能;你熟悉计算机网络,就知道怎么优化请求性能;熟悉算法,就能写出时空间占用更低的程序。

但有一点必须要强调,我发现目前流行一股风气,把计算机基础看得过于重要了。可能一个项目都没有,就天天背操作系统的八股文、刷什么图论之类的算法,这就有点本末倒置了,没有项目连简历关都过不去,背再多题目又有什么用呢。找工作能干活是前提,而基础好是一个加分项。

另外有一点,基础不是靠突击就能巩固好的,如果是科班的同学,建议从大一开始,就通过看一些书籍和视频接触些基础知识。等之后要找实习前几个月,可以开始每日刷算法;距离找工作一两个月左右,可以再重点巩固八股文,而不是背了就忘。

10、软实力的提升

大学就是一个真实社会的缩影,在这里不仅要学会技术,更要学会为人处世之法。

比如沟通交流能力、责任心、表达能力、信息收集能力、问题解决能力、工作拆解能力、复盘总结能力、组织管理能力等等。

我也是在大学期间参加了各种竞赛、作为工作室的负责人、甚至还开过打印店,锻炼了自己的上述能力,也建议朋友们有机会的话,一定要多跟同行交流、多作为负责人带队参加竞赛,大学期间如果能积累到一些人脉和物质资源,必然是极好的,可能会终身受益。


就聊到这里吧,毕竟写了 4000 多字真的很累啊!以上仅个人观点,有帮助的话给鱼皮点个赞吧~

可访问我的 Github:https://github.com/liyupi ,了解更多技术和项目内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/26552.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人脸匹配——OpenCV

人脸匹配 导入所需的库加载dlib的人脸识别模型和面部检测器读取图片并转换为灰度图比较两张人脸选择图片并显示结果比较图片创建GUI界面运行GUI主循环运行显示全部代码 导入所需的库 cv2:OpenCV库,用于图像处理。 dlib:一个机器学习库&#x…

基于深度学习视觉算法的多模型文件融合检测系统设计与实现及优化(工人姿态检测+安全帽佩戴检测系统)

1,融合pose.pt(姿态检测)(安全帽佩戴检测)效果图 实时检测优化后FPS可达20 2,原理介绍 YOLOv5是目前应用广泛的目标检测算法之一,其主要结构分为两个部分:骨干网络和检测头。 输入(Input): YOLOv5的输入是一张RGB图像…

定档6.20,创邻科技图数据库先锋版发布会来了!

6月20日 14:00 ,创邻科技将重磅召开 2024 Galaxybase银河图数据库先锋版发布会,戳此预约! 书于竹帛,镂于金石,琢于盘盂。历史长河中,数据通过不同形态承载着人类文明,人们在数千年中始终保持着…

使用Python和Matplotlib绘制复杂数学函数图像

本文介绍了如何使用Python编程语言和Matplotlib库来绘制复杂的数学函数图像。通过引入NumPy库的数学函数,我们可以处理包括指数函数在内的各种复杂表达式。本文详细讲解了如何设置中文字体以确保在图像中正确显示中文标题和标签,并提供了一个完整的代码示例,用户可以通过输入…

找不到xinput1_3.dll文件要怎么修复?有哪些有效修复xinput1_3.dll文件的方法

要解决xinput1_3.dll文件缺失的问题,首先我们需要对这个文件有所了解。理解了这个文件的性质和作用后,才能更科学、有效地解决因其丢失而导致的问题。那么接下来,让我们不浪费时间,直接深入研究如何修复xinput1_3.dll文件的最佳方…

震坤行亮相2024成都工博会,赋能产业新发

为期3天的成都工博会于2024年4月23日在成都国际会展中心完美落幕。震坤行再次紧跟西部智能制造产业发展步伐,亮相现场,实力“圈粉”,为西部地区的制造企业带来打造了一场工业互联网盛宴。 本届成都工博会成功举办,展会聚集了各个国…

在ubuntu中恢复误删除的文件

1、安装 TestDisk 在 Ubuntu 上,可以使用以下命令安装 TestDisk: sudo apt-get install testdisk2、查询你删除的文件所在那个分区 #查询分区 df -h #我这里是/dev/sda2 #也可以使用下面命令查看具体哪个分区 lsblk3、查询该分区是什么系统类型 sudo …

java:【@ComponentScan】和【@SpringBootApplication】扫包范围的冲突

# 代码结构如下: 注意【com.chz.myBean.branch】和【com.chz.myBean.main】这两个包是没有生重叠的。 主程序【MyBeanTest1、MyBeanTest2、MyBeanTest3】这两个类是在包【com.chz.myBean.main】下 # 示例代码 【pom.xml】 org.springframework.boot spring-boot-…

java采集微信公众号数据

需求背景: 最新需要调用微信公众号api 去微信公众号采集 发布文章数据。 (本片文章的意义:根据自己开发的方案来提供思路,当然那不会提供代码。代码是最没有 含金量的东西。) 1:遇到的坑:首先 想到的是调用 https://api.weixin…

科技项目验收测试必须进行吗?软件测试公司推荐

科技项目验收测试是指在科技项目开发周期中,对项目完成后进行的一种测试和评估工作。它的目的是验证项目是否达到预期的要求,并确保项目交付给客户前达到预期的质量标准。 一、科技项目验收测试的必要性   科技项目验收测试是项目管理中不可或缺的一个…

Maven认识与学习

1. Maven介绍 1.2 初识Maven 1.2.1 什么是Maven Maven是Apache旗下的一个开源项目,是一款用于管理和构建java项目的工具。 官网:Maven – Welcome to Apache Maven Apache 软件基金会,成立于1999年7月,是目前世界上最大的最受…

Linux C语言:变量的作用域和生命周期(auto、register、static和extern)

一、变量存储类型-auto 1、auto变量的说明 变量在程序中使用时,必须预先说明它们的存储类型和数据类型。 变量说明的一般形式是&#xff1a; <存储类型> <数据类型 > <变量名> &#xff1b; <存储类型>是关键词auto、register、static和extern<…

湘江早报专访惟客数据李柯辰:湖南伢子返湘玩转“AI+金融”

来源 |《湘江早报》 记者 | 黄荣佳 ​ 随着数字化浪潮的到来&#xff0c;AI的风吹遍了各行各业&#xff0c;金融作为对新兴技术最敏感的行业&#xff0c;前沿技术的赋能&#xff0c;让金融科技成为行业发展的“新赛点”。作为一家以大数据和AI人工智能技术驱动的新一代数字化…

多源最短路径算法 -- 弗洛伊德(Floyd)算法

1. 简介 Floyd算法&#xff0c;全名为Floyd-Warshall算法&#xff0c;亦称弗洛伊德算法或佛洛依德算法&#xff0c;是一种用于寻找给定加权图中所有顶点对之间的最短路径的算法。这种算法以1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特弗洛伊德的名字命名。 2. 核心思…

加码多肤色影像技术 这是传音找到的“出海利器“?

全球化时代&#xff0c;市场竞争愈演愈烈&#xff0c;产品差异化已然成为了企业脱颖而出的关键。在黄、白肤色长期占据人像摄影主赛道的背景下&#xff0c;传音就凭借独一无二的多肤色影像技术走出非洲&#xff0c;走向了更广阔的新兴市场。 聚焦深肤色人群拍照痛点&#xff0c…

怎么把flv转换成mp4格式?介绍一下将flv转成MP4的几种方法

怎么把flv转换成mp4格式&#xff1f;flv和MP4是两种常见的视频格式&#xff0c;它们在网络媒体和数字内容中都扮演着重要的角色。flv格式通常与在线视频播放和流媒体服务相关联&#xff0c;而MP4格式则更广泛地支持于各种设备和平台。然而&#xff0c;在某些情况下&#xff0c;…

(四)React组件、useState、组件样式

1. 组件 1.1 组件是什么 概念&#xff1a;一个组件就是用户界面的一部分&#xff0c;它可以有自己的逻辑和外观&#xff0c;组件之间可以相互嵌套&#xff0c;也可以复用多次。 组件化开发可以让开发者像搭积木一样构建一个完整的庞大应用 1.2 React组件 在React中&#xf…

SECS/GEM 底层协议解析

SECS是什么&#xff1f; SEMI电子半导体联盟,为实现设备与工厂系统的快速对接数据,状态,配方,程序的标准化协议,SECS具有多个版本,本文主要介绍E5协议 HSMS通信方式,设备端的处理流程(Passive模式)。 SECS关键字 Host 主机一般指向工厂控制系统EQP 单机设备Active 在Tcp通信…

Oracle 打开钱包 ORA-28368: cannot auto-create wallet

ORA-28368: cannot auto-create wallet 开启钱包抱错&#xff0c;看下钱包信息 SQL> select * from v$encryption_wallet;WRL_TYPE -------------------- WRL_PARAMETER -------------------------------------------------------------------------------- STATUS ------…

Java开发者也能看懂的大模型应用开发实践!!!

前言 做AI大模型应用的开发其实Java也能写&#xff0c;那么本文就一个Java开发者的立场&#xff0c;构建实现一个最基础的大模型应用系统。 而大模型应用系统其实在目前阶段&#xff0c;可能应用最广的还是RAG领域&#xff0c;因此&#xff0c;本文也是通过在RAG领域的基础架…