写在前面
Written by OchiaMalu.
这份指南以我自身的编程学习经验为基础,且参考互联网中很多人的经验,构建了相对完整的学习体系,且没有过多的废话,相信可以给从0学习编程的小伙伴提供帮助,让更多人的编程之路不再迷茫,找到更好的工作,更快地适应工作。
分析起点
在中国几乎所有500强企业都告诉你学历不重要,但是他们不会去齐齐哈尔大学招聘 —张雪峰
学历重要吗?当然重要!如果有人告诉你学历不重要,那么他一定在安慰你。有人说计算机行业只看重技术,不看重学历,放在几年前可能确实是这样,但是放在现在,你没有一个好的学历你可能连实习的机会都没有,现实就是这么残酷, 学历是敲门砖,你必须先把门敲响别人才知道你来了。
那么到底学历到什么程度才算够用呢?答案是至少二本,如果你的学历是三本及以下,提升学历才是你的第一要务 ,以下是来自重庆某三本和广东某三本学生的真实对话:
因为前两年疫情的原因,很多企业倒闭,老板甚至国家都没有钱,计算机的平均薪资一降再降,现在连岗位都变少了很多。
什么?我看BOSS直聘上岗位还是非常多啊?
你去投简历就知道了……面试官要谢谢你帮他完成了KPI。
规划路线
少儿编程
不管怎么样至少也得是两岁以上,街边的少儿编程机构基本都是两周岁才收,刚开始就是玩乐高,大颗粒->小颗粒-> Wedo,这个阶段就是培养兴趣,搭建+简单编程,看看孩子有没有继续学习的兴趣,如果没有兴趣就别谈了,兴趣才是最好的老师 。但说句实话,所谓少儿编程还是和真实的编程相差甚远,机构的老师也不一定是计算机专业 ,如果真的想让孩子走编程这条路还是不要拔苗助长,等几年让孩子的大脑发育一下再做打算。
学习编程的最早时间
想当年我读小学的时候是三年级才有信息技术,那时候进机房还要穿鞋套,不知道现在还是不是这样,我记得清楚的课程有金山打字王、修图(有一个很炫的软件忘记叫什么了),还有就是 Scratch,相信很多人都玩过或者见过这只狐狸。
他虽然是图形化界面,但作为检验孩子有没有编程的天分还是非常有用的,如果连图形化的界面都没有兴趣那真的别强求了。
如果有意让孩子走编程这条路,一到三年级让他接触scratch,如果还想继续学,从四年级开始学习C语言,初一 开始学习C++。循序渐进,大脑完全发育成熟的年龄在25-30岁,年龄还是个位数怎么可能学得了高深的东西。
这部分内容有机会的话我也会免费为大家公开资源,让孩子在家里就可以学,不要在外面找机构花冤枉钱!
高中时期
高中阶段如果还是零基础的话,一定不要碰,一定不要碰,一定不要碰,高中阶段除了选考技术的,学习考试的内容,在这之外的所有东西,全都不要碰,全都不要碰,全都不要碰!好好学文化课,985的毕业证书一定是最有用的东西!
大学时期
专科
大一大二可以专心学技术,大三开始准备专升本 ,不用担心完全来得及,如果没上岸那就没办法了,专升本考试那是一刀两断,高考和考研有很多次机会,专升本只有一次。专科学历想找计算机的工作现在几乎不可能,可以考虑去当少儿编程的老师。
本科
简历中有三块内容至关重要,学历、实习经历、项目经历 。三本和二本还是建议优先提升学历,大一大二专心学技术,能参加老师的项目尽量去参加。JB-ICPC(以前的ACM) 可以了解一下自己学校以前校队的成绩,如果没拿什么奖的话就别去了,只是浪费时间,用比赛经历通关面试的本来就就是凤毛麟角。
大三开始在寒暑假找找实习,这个在简历上很加分,也是通往大厂的敲门砖。如果你是211及以上 那么恭喜你,到达了大厂实习的门槛,在大四的时候可以投大厂实习了,如果进了可以努力转正,没进的话准备秋招和春招,**金九银十,金三银四 **。
如果你特别特别优秀,不仅在大厂实习转正成功,还被学校保研,这个时候个人建议留在大厂,因为升学的最终目标就是就业,既然拿到了梦寐以求的 offer 为什么还要拒绝,而且大厂的经历不比研究生学历差。
明确目标
升学有升学的升法,考公有考公的考法,求职有求职的求法,一定要想好自己想去哪,你得先有目的地才能给你导航。
个人建议:除双非一本及以上的,优先考虑提升学历。专科必须提升学历。
确定方向
岗位选择
目前和编程相关的主流岗位如下:
- 前端开发工程师
- 后端开发工程师
- 全栈开发工程师
- PC 客户端开发工程师
- 移动端开发工程师
- 软件测试工程师
- 运维工程师
- 网络工程师
- 算法工程师
- ……
编程语言选择
Python
这是2023年9月的编程语言排行榜,可以看到排名第一的是Python。
那我就学Python!
可以这么说,如果你只会Python,那是找不到工作的 ,Python基本上是把它当做小工具去使用,就不要把它作为自己的主语言,除非你是主打人工智能,数据分析,或者说产品岗位,或者说大数据,数据科学、数据挖掘之类的。后台开发?真的有人用Python开发后台吗?PHP现在小公司还是有在用的,Python还真没听过有公司用它来搞。
为什么Python能这么火?Python入门简单,这是最大的原因,他也有很多现成的库,因此在工作中适合编写小脚本,像文件表格处理,能提高办公效率。但它是 解释性语言,运行效率是真的低,比C++能慢上100倍。
Python现在还是浙江高考信息技术的语言(以前是VB),这些都反映了 Python 的重要性和易学性,真的是每个人都可以学 Python。
C
神中神,如果只能存在一种编程语言,那么一定是C语言!
如果你不着急找工作,且想要在计算机领域达到一定的高度,那么一定要将C语言作为第一门语言 !因为它足够底层,底层到所有的操作系统都是用它实现的。在学习的过程中也能接触到更多的概念,日后学习其他语言一定有很大的帮助。
C++
如果没有C语言,那么C++就是神中神,它是C语言的超集,也就是说用C语言的语法执行C++是可以的,但是C++比C多了一些东西,最明显的就是C++是面向对象的编程语言(C语言虽然是面向过程,但是也可以实现面向对象),常用于后台开发、桌面程序、框架开发等。
Java
Java可以说是岗位最多的语言,也是求职第一个考虑的语言,但如果用一个字概括它,那就是“卷”!
丰富的应用场景和生态,后端、桌面程序、安卓 APP都可以用它开发,数不胜数的框架可以让我们更快速的完成开发,也是**培训机构最喜欢 **的语言。说他不好吧,那岗位是真的多,说他好吧,说实话现在入场Java汤喝不喝得到还真说不准。
C#
读作C Sharp,虽然最近几年 C# 不怎么流行,但如果要从事游戏开发,那么C#是必学的语言。
PHP
曾经的神,但是现在已经衰落,部分小公司还在用,如果想求职的话还是不要接触了,但如果是自己开发网站,那PHP还是非常快的。
Go
语法简单,且天然支持高并发,但目前只有大厂在用,没有太多的岗位,不建议作为第一语言。
JavaScript
前端之神,前端必学,虽然现在有了TypeScript但是依旧无法撼动它在前端的地位(TypeScript现在有大佬开始唱衰)。
总结
如何选择第一个编程语言
只是兴趣->Python
学生、有充足时间、想深入学习->C语言
快速就业->Java