首先穷学计算机,本人对编程没兴趣,就是听说挣得多,就来干了,程序员适合出身不太好的普通人来干,是一个宽容度很高,最容易逆袭的一个行业,数学好点(逻辑思维好点)就可以了,只认编程水平,其他方面都不看。不看出身,只看真本事,真的是一个让你靠打工,靠自己,在还不错的城市里买车买房过着很舒服的小日子的职业了。但是超过28岁不建议干程序员了,快30岁中年危机了,入行也就干初级开发,公司都爱找25以下的初级程序员,年轻给的钱还少。
在选择编程语言时尽可能要选一个有市场的,好就业的编程语言(毕竟先找个工作活下去最重要),然后每个编程语言可以有几个方向去选择,尽可能以找工作为需求去学习,考虑时间成本,学习成本和未来薪资等。不知道如何去选择编程语言的话,就去网上找各种培训机构,要过来各个方向的学习路线(基本都是免费的),每个学习路线基本都有学习周期,时间表,可以自己去b站找相应的课程试着学学,对哪个方向更感兴趣,选择一个方向深耕,不要今天学这个,明天学这个,一个方向一个方向来,稳扎稳打。
个人认为如果自制力强,自己可以去b站自学,到了做项目的阶段,可以买一些网上带讲解答疑的项目课来学习;如果自制力不强,也确定好要干程序员这行了,再去报班,然后趁早跟着培训班把课程学完,别拖,有的人大一报班,大四还没咋学,也不要听培训班给你画大饼,什么内推进大厂,包就业等都是噱头,关键在于自己的技术能不能达到企业的标准。
能选线下的选线下的,选个学习氛围好的培训班(学习氛围不好的真的别去,比如自习时间打游戏的,班主任不咋管课堂纪律和个人学习情况的等),同时也能结交很多优秀的志同道合的伙伴,在入行之前积累一些人脉,以后没准会用到(比如找工作内推,或者创业),平时不会的也能和人多交流,选择线上的培训班价格会更加便宜,适合自控力强的同学。尽可能选牌子比较大的培训班,看他们b站的视频播放量就可以判断出一些了,然后再听听试听课,有的老师讲的你不一定能听明白,但是他明白他在讲什么,这一点相信大家都懂,然后培训班基本是交完钱就退不了了,需要签合同,大家谨慎报名就好。
目前来看,本科学历干程序员绝对够了,研究生的比例干程序员的很小的,大多数IT公司里都是本科生和大专生,如果能考上211和985名校或者计算机强校的双非硕士的话,值得去考,普通双非的研究生就没什么含金量,不如出来工作干程序员,三年经验比三年水硕有用的多,而且考研备考就要花上大概一年,还不一定考上,考研的话大概四年的时间成本,工作的话,大三结束基本就可以实习了,就拿程序员这行说的话,一个有三四年的工作经验的本科生比应届硕士吃香的多,但是应届硕士读研期间也得自学找工作的技术,学校基本是不可能教的,基本都是给导师打工,现在进大厂和国央企基本都是211硕士起步了,应届本科很难进了,最后如果考研能给你带来更好的工作,很有考研的情节就去考。
任何企业里的员工都存在35岁危机的,我们能做的就是不去担忧不确定的明天,减少内耗,多去做,脚踏实地过好每一天。程序员这行有这么一句话:业务第一,产品第二,技术第三。要做能有技术积累的岗位,当你可替代性越小时,35危机就不会存在的。学习的速度跟不上技术迭代的速度,但只懂技术是不行的。程序员的高薪资是因为技术有业务场景,封装成产品,产品推广出去得到很高的利润,回头发给程序员。所以程序员以后要么深耕技术,走技术路线,当架构师。要么走管理路线,项目经理或者产品和售前工程师。当然也可以去培训机构当讲师,或者编程老师和创业等。如果你从22岁毕业干到三十多岁中年的时候被裁员,那你这些年攒下的工资也至少有100万了,回老家找个编制啥的,就相当于在60岁法定退休年龄(2023年新规男性的)前提前退休了,个人认为也挺好的。然后,职业危机跟选的行业赛道也有关,在互联网公司的程序员可能职业寿命会短一些,因为互联网公司需求变化太快,大多数都加班严重,公司喜欢要年轻人,有精力还便宜,而传统行业公司和国央企外企里的程序员相对来说很稳定,因为做传统工业软件,航天航空军工软件等的程序员基本都需要硬件支持,一个产品上线周期很长,而且大多数都是国家需要的资源,国家在背后撑着,中年危机真的不怎么大。国央企基本都是要研究生应届毕业直接签了,总体上也很稳定,很少听说国央企倒闭。外企相对来说企业文化不一样,不提倡加班什么的,进去以后被裁的可能性也小。
在平时学习时可以多了解一些常见的编程网站(强推b站),博主,公众号,加入一些QQ技术交流群等,平时不懂的技术和找工作相关相关的事情都可以在QQ群里提问(真的会有人给你建议的),好的技术社区是自己成长的助推器,很多b站up主评论区都有免费的讲义、源码、网课分享。还有一种方法就是找培训机构说你要报班(骗他们,要不然可能不会多跟你说话的),把学习资源尽可能的要过来,再进行整合。
在学编程迷茫找不到方向的时候,就先好本职工作,尽人事,听天命,多去做,结果慢慢就会找到你的,不会的知识多去听几个人讲解,还不会先放下,过一阵回来再看没准就懂了,勤能补拙,自学编程的误区就是不要闭门造车。
代码命名要规范,写的代码要有好的注释,工作日志要规范,要认真看发布流程,认真听需求,考虑需求变化,验收标准,数据文件要常备份代码能跑通只是有60分,要考虑时空复杂度,代码风格;写代码一定要多思考,理解清楚知识点,然后大量的敲代码,学好编程最好的方法就是实践,实践出真知!多修炼内功,多总结,多分享,多输出,可以把自己的学习笔记写成博客。经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去,记录下在和别人交流时发现的自己忽视或不理解的知识点。每学到一个C++难点的时候,尝试着对别人讲解这个知识点并让他理解,你能讲清楚才说明你真的理解了。在任何时刻都不要认为自己手中的书已经足够了。别指望看第一遍书就能记住和掌握什么,请看第二遍、第三遍。
学习编程最好的方法之一就是阅读源代码。学习编程的秘诀是:编程,编程,再编程。编程难在敲得太少,语法不熟,随着敲得越来越多,学着别人的代码,举一反三,就简单了。总之,学编程最难的是长期坚持实践和不遗余力的博览群书。
不重要! 数学主要是考验一个人思维的逻辑能力如何,数学决定程序员的上限有多高,但是90%的程序员很少要用到数学的,所以数学一般,大可不必担忧,很多项目中代码跟数学基本没什么关系,大多数都是跟业务相关的代码。
不重要!英语是程序员的软实力,但是大多数程序员写项目的时候很多不认识的单词就是那些常用的专业词汇,看见了就查,用多了也就熟悉了,但是如果能轻松阅读相关英文资料,用英语跟人对答如流,那岂不是工作效率更高,总之,人各有志,对英语没有兴趣也可以不用太在意,英语不好对编程影响真的不大。
重要!本人是计算机科学与技术专业,科班出身,大学主要学了高数,线代,概率,电路分析,模电,数逻,离散数学,计算方法,C++程序设计,Java程序设计,汇编语言,数据库,软件工程,计算机系统概论,计算机体系结构,编译原理,数据结构,算法设计与分析,计算机网络,操作系统,嵌入式系统等。大学的教学培养方案广而不精,感觉整个大学学了下来没有什么收获,就是应试期末考试,用不到其他地方。我想多数人都是这个感觉,因为大学是综合素质教育,大学不会管你毕业去干什么方向,企业也不会关注你是谁,来应聘时只关注你能不能干活,其他都是扯淡。但是工作了以后,发现学校里学到的东西大多数都用不到,我们要面向工作编程,以点去突破,哪里不会去学哪里,最后有空再合成整体,形成知识体系。我承认现在大学很多都是拿着陈旧的教材和PPT给计算机专业学生上课,完全与企业脱节了,但是这些知识都是前前人留下的基础,我们要利用课余时间去学习感兴趣方向的先进技术,不能被学校牵着鼻子走,要不然就真的毕业即失业,在工作中有时候不一定在哪个点上用到一些知识的时候,理论多的人还是占优。
要会使用Github阅读大型源码,Github主要服务于中高端程序员,大多是工程的代码,全英文的环境,GitHub的star数量是最好的认证,国内版的Github叫Gitee(码云),CSDN对初中级程序员比较友好,可以快速看一些知识,大多数是帖子,知识可能没有那么权威。Visio画图工具(比如程序流程图,用例图,架构图,甘特图等),Notpad++记事本(用于方便阅读不同平台的代码,转换为UTF-8格式),Typora笔记本(支持Markdown语法,程序员记笔记首推软件),XMind(做思维导图的),Snipaste(本人用过的最好截图软件工具,支持很多标记),VMware虚拟机(装其他操作系统,如Linux环境的一个虚拟机软件),Navicat(数据库管理工具),SVN/Git(版本控制工具),还有就是熟悉自己常用开发的工具(个人学的Qt方向,常用Visual Studio,Qt creator)。
面向百度编程,自己如果遇到实在不懂的问题时候,就去百度,技术社区,论坛,QQ群,身边的人,如果这些问题都得不到解决,那就先留着(肯定不是一个一般的问题),不要为了这个问题专牛角尖,先按照原来的学习计划去学。
说现实一点,毕业如果不读研的话,大家都应该工作了,而现在大学的教育模式,学生学了四年下来,不自学的话不可能达到企业的用人标准的,所以要尽早的去招聘网站(强推Boss直聘,其他的招聘软件作为辅助)去关注自己想找的工作的用人标准,把相应的技能学会,学扎实,再尽可能在毕业前多去实习,夯实自己,丰富自己在毕业求职能写在简历上的东西。
当你的你脑子在输出东西的时候,也是在学习,在网上写博客(推荐用CSDN)是很好的锻炼方式,用你的语言去写文章,写笔记,写教程,能让别人看懂,再根据他人的反馈情况,去改进,反复精进自己,这样你的文字能力和独立思考能力会越来越高,当然,如果你的文章写的很好,也可以把你写博客的经历写在你的简历上面作为一个加分项。我自己最后悔的就是学习的时候,没咋记笔记,有点记在书上,有的记在平板上,很乱,导致学点忘点,所以有一个好的写博客习惯也方便你用来温习学过的知识。
我会先找好一个方向的学习路线,按照相应的技术栈去学习,分配好时间,去b站找课,然后主要是看视频(挑自己听着最舒服的听,人生不要听建议,适合自己的最重要),然后记好笔记,用自己理解的话讲给自己,把视频中的代码都去自己跑通一遍,然后不懂的地方多看几遍,多练几遍,平时有空的时候回来看看笔记,多复习,要不然也会忘掉的。多去跟视频做项目和看大型源码,熟悉一门编程语言,学习一些常用的设计模式,软件工程思想,网络通信技术,数据库技术,Linux常用命令等,会一些常用的数据结构和算法就可以了,能看懂代码就行,数据结构是能学完的,算法是学不完的,找工作的时候大多数看做项目能力如何如果要找工作的话就要把学习的重点放在项目上。最后,不管是科班还是转行的同学,在校期间一定要学好408(计算机专业课考研代码)专业课,对未来有非常大的帮助。选择一门语言以后,深耕,在精不在多,能够熟练使用它的API并了解它的各种框架。找工作前数据结构+算法,多刷题,力扣简单中等难度的题能平趟。面向对象设计学明白,各种常用的设计模式,系统设计学明白。找到一切机会实习,把项目做好,找商业级硬核项目,充实好自己的简历。
一般都是金九银十,金三银四的时候,都是面向每年大四学生的最佳找工作时机,当然如果你大一就能找相关专业的实习就去,多积累履历,早点去企业里锻炼,薪资不重要,重要的是能学到一些知识,认识到自己的不足,回到学校后再弥补不足,为了毕业进大公司打下基础。
我会了解自己专业的就业前景,看是否喜欢,喜欢的话,就去制定相应的面向企业用人标准的学习计划,准备相应的实习,按部就班的去学习,不喜欢的话就准备转专业,尽可能去喜欢的专业。喜欢上的课坐前排好好听讲,不喜欢上的课坐在后面学自己感兴趣的东西。平时不呆在寝室,白天有空多去图书馆自习室或者去运动,多去旅游,长见识,不要以没钱的借口没法去旅游,做兼职攒钱去旅游,参加义工旅游,穷游的方式也很多。报社团要慎重,一个热爱的圈子足以。四六级趁早考。杜绝无效社交。能遇到喜欢的人就大胆点勇敢点的好好谈个恋爱。做好生活作息规划,早睡早起,饮食健康,学习穿搭护肤,找到适合自己的衣品和发型。多去尝试一些新鲜的事物,挑战自己,每学期学会一个小技能,比如摄影,吉他等。不要自卑,一定要自信,尤其是男人!最后我想说大学四年不要赶路,要好好感受路,感觉至上,趁早找到自己喜欢的事情,而去大胆的尝试。
个人的一些拙见,希望广大的网友们不喜勿喷,有建议的可以评论区一起讨论。