如果你是菜鸟,或者迷茫,想做程序员,但是不知道如何做,请把文章看完。如果有经历相同的大牛,请为我点赞,我们都是一群不容易的人,要惺惺相惜,我们大多数出身农村,大学普通院校,没有名师指导,靠着自我摸索,找书实践,突破玄关,有幸得到大公司伸向的橄榄枝。
首先,如果你大学出色,有名师指导,做过很多项目,有很厉害的编程经验,那么恭喜你,你进入BAT的可能性比很多人都要大,如果你还是研究生,那么你的职业也会比别人顺利,而且更有机会进入Google,或者亚马逊,facebook等高端企业。但是呢,作为一般学校的我们,也不要灰心,通过自身努力,也是有机会滴,真的没有什么不可能,我就进去了啊。
告知你几个真相,其实呢,程序员呢,最难的就是入门,只要入了门儿,你就知道整个圈子里大多数人都是low逼,包括我自己,绝不是危言耸听,而且BAT里面专科生程序员也是存在的,企业的员工其实都是普通人嘛,没啥神秘的,工作能力也许还不如未来的你呢,所以啊,只要下定决心,好好学相关技术就行,不要想太多,纯粹是自寻烦恼。为什么程序员这么多呢?主要还是因为时代的发展,国内互联网的崛起嘛,市场的供需关系决定的,从业者顺势而为,当然在这个行业早期发家致富的也就很多了,现阶段混个温饱还是没问题的。
解决了你心理问题,还有对企业的认知,你这下只需要考虑的是:“你如何从菜鸟变成一个能够适应工作需要的人?”,毕竟只有工作了,有了平台,你才能有所发挥嘛,混技术组长,架构师,技术经理都是后话了,有这个想法固然好,还是要解决好当前问题,你才能上位不是。
根据我的经历来说,大概是这么做的,仅仅是建议啊,希望能适合菜鸟的你。
1.先找一本简单的C语言的书,语法很少,几十页就够了的那种,或者入门视频,看着练习,把简单的语法知识先学会。
2.学会了简单的语法知识,但是还是很多疑惑,不理解,而且C语言奇技淫巧太多,这个时候你需要搜索,问大神,帮你解惑,到了这个时候,你就进了一小步了。
3.开始学习操作系统,推荐Unix环境高级编程,以及从哲学的观点看操作系统,不需要都看懂,尽量看懂能看懂的,这样你就会对linux操作系统 和C有了一些理解。
4.开始学习数据结构,还是一样,从简单的数据结构学起,学习使用数组,字符串,链表的使用,动手实践,书上有例子,看懂再实践,实践完再调试,调试完再看书,敢于怀疑,树上写的是不是恶心,如果你觉得恶心,你又进步了一截。
5.这个时候你已经是一个初学者了,会了很基础的理论知识,也会写一个斐波拉契数列,或者冒泡排序了,你可以学习一些简单的常见的排序算法了,等你掌握了快速排序的时候,你的算法算是启蒙了,不要停,这个时候,你已经很优秀了,快多学点别的算法,因为程序=数据结构+算法,告诉你一个秘密,你算法越好,大公司越喜欢你,给你钱越多,你也越来越努力,变得更聪明不是,你会一丢丢算法的时候,你的编程能力已经起来了,你还担心什么呢?你接下来要做的就是什么呢?很简单,两个字,“刷题”,推荐你买本剑指 offer,或者下个leetcode,把上面的题目做一遍,掌握个六七十吧,你绝对能超过你们学院一半的人,前提是掌握了啊。
6.上面不是说了,你看了操作系统这本书嘛,你肯定需要会装系统不是,你呢就下个最新的centos系统,照着网上的教程安装一下,然后熟悉一下,买本书,或者电子书,关于linux 操作系统的,或者直接网上搜就行,关于linux 命令的使用,和vim 的使用,找视频也可以的,我没买过书,都是搜电子书,或者看视频,学会了很多技巧。告诉你一个秘密,互联网公司的操作系统都是linux,而且用的是centos。你熟悉的话,不是优势更多嘛。
7.接下来,可不要骄傲啊,你已经入了门了,可是要去工作,干活还是不行滴,你需要学习网络知识,这个时候,你应该把计算机网络学会,教材可能比较老,你需要网上搜啊,或者看视频,知道计算机网络到底是咋回事,最好看tcp/ip 详解,卷一,学会linux 下投网络命令,抓包啥的,最重要的还是对基础知识的理解,操作系统也是,不理解的话,理解多少是多少,放在哪,到了某一天你会理解的,你会了网络的基本知识,你应该应该可以写一些简单的通信程序了,你再厉害一点,再实现一下网络聊天也是可以的嘛。如果你能理解epoll,select,poll等模型的话,你也许到时找工作的时候,能够亮瞎面试官的狗眼,因为这个问题他们也可能不理解,一辈子都不知咋回事,只是知道这个东西。
8.看我是不是越写越多,妈蛋,我都不知道我这么厉害,大学竟然积累了这么多的知识,其实啊,艺多不压身啊,我会的还是很少的,你不知道有的人,到底是人生的,还是鬼生的,厉害的一逼,恰好你身边有这样的人,你就给她介绍个女朋友吧,不多说,还是说你接下来学什么,你要学点数据库的知识了,学了数据库了,你就能做一名curd工程师了,因为啊,上到BAT,小到小企业特么都在curd,虽然你会curd了,但是呢,你还是不能傲娇,你还是学生,你的知识,跟生产环境的用法还是有区别的,这就是经验,你还不具备。此时,你可以基本的增删改查了,能设计表了,也算够用了,不过有时间你可以看看数据库基础知识,最重要还是对基础知识的理解。
另外想要成为一个优秀的、有能力程序员的话,有一个学习的氛围跟交流圈子特别重要!这里我推荐一个C/C++交流扣裙,–先5692;后68376,不管你是大牛还是小白,大家都一起成长进步。
9.说了这么多了,基础知识就这么多了,多实践的基础下你需要做的还是尽量更多的理解基础知识,如果你喜欢做网站的话,建议你学洗html,css,js这些东西,做做网页也挺好的,方法还是看书,找视频,搜文档,没多难。
10.现在你具备所有的基础知识,你的知识网络也建立起来了,能做一个软件工程师了,你需要做的就是融会贯通啊,并且再学习,学C++,或者python,或者java,掌握其中一个就行,你就能面向对象编程了,会了面向对象,你的思维肯定上升了,用前面说的知识,融合,实践,咋实践呢?其实整个过程中,你多少知道一些网站设计啊,数据库设计,程序设计,服务部署等等,这个时候的你,仅仅会一些简单的操作,融汇贯通需要你做一个完整的项目,这个时候,你可以还是看视频,搜项目,尽量简单的那种,不要代码托管忘记利器github,你可以去上面找一个简单的项目,研究学习(希望你有时间能多看几个,或者把原理搞清楚),看一下完整的项目是如何搞出来的,你心里多少有个谱了,再看看软件设计这本书,所有的理论知识,都在工程实践当中,看你具体理解多少了,说白了,现在你需要还是实战机会了,这个时候相信你会了很多东西,也有一些项目的认知,接下来咱们可以找一些有实习岗位的公司,去实习实习嘛,实习你需要的做的就是准备一下你的简历,找一个学长,老熟人啥的,做一个好的简历,学习一些面经,这个只要性格没有缺陷,长得不难看,会说话,你还是不要担心别的了。
11.准备好了之后,做了简历了,你的学习成果都在简历上,切忌写你擅长的技术点,还有如果你成绩优秀,过了四六级也写上,拿了程序竞赛奖也写上,加分呢,去大公司招聘网站上投实习岗位的简历,或者BOSS直聘也挺好用的,找对应的岗位投递就是了,一定去大公司,或者知名的公司,实在不行就靠谱一点的公司也可以,多面几家,面不过,总结经验就行,切忌不要你,不代表你不优秀,相信自己一定会有offer的,一定会有更优秀的企业等着你,你就面试,总结,坐等offer就行,等拿到offer之后,一般也会有实习工资,你就大胆的去实习吧,向公司的大神学习,有了实习经验了,你不就更优秀了嘛。
12.有了实习,你参加校招也就如鱼得水,如果没有得到实习机会也不要泄气,我当时也没有,参见校招就行,还是面试,总结,等更好的offer,多抓住大企业的机会,相信自己准备这么多东西,一定会去BAT的,就算没去的话,去一个TMD,或者其他厉害的,你认可的也是可以的,你也是没辜负自己啊。
最后啊,如果有机会读研,就好好学算法,机器学习,深度学习这些算法吧,我是不可能呢,算法毕业薪资起点老高了,可替代性还很低,比码农高级,码农搬砖啊,算法牛逼啊,毕竟,路都是自己走出来的,我现在搬我转的砖,我也工作的很开心。
加油呀!能不能成菜鸟变成凤凰就看你自己了!有兴趣学习C/C++编程的小伙伴可以关注笔者加笔者简介群一起来学习呀!相信经过你的努力一定可以去到自己心仪的公司!
本文来自投稿,不代表商川网立场,如若转载,请注明出处:http://www.sclgvs.com/peixun/35750.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。