本文从一个功利性的角度,分析,如何成为一个程序员。有自己的梦想的,各位大牛请绕路
我理解的所谓的及格,养得活自己。意思大概是,毕业不会失业,无论是网络招聘,或者是自己找实习,或者是内推,又或者无论是大公司,也或者无论是小企业,能够得到一份匹配得上自己的能力和水平的薪水,养得活自己吧
如何成为一个程序员这个问题太难了,我肯定回答不好
如何成为一个能够找得到养得活自己的程序员,我还是有方法的:去看看各大公司的招聘广告啊,腾讯、360、阿里巴巴……
方向一:
首先,无论是不是程序员,在当今的IT行业,都需要具备的能力:
PhotoShop(无论是正事,还是自己P图做表情包,这个都很重要)
Office的三件套:PPT,Word,Excel,越熟练越好(项目或者各种演讲,装逼必备的技能)
绘声绘影等处理视频、音频的软件
英语的能力!!!!!!(这个其实应该是对于程序员的很重要的一部分,很多公司宣传的自学能力,很大一部分就是能够读懂英文,然后去写代码)
方向二:
前端设计:包括安卓/IOS,WEB等方面
需要学习的东西就多了
做前端一般是与用户进行沟通的,那么需要尽可能满足大众的审美和各种习惯问题。最好带有美学设计的吧(自己YY的)
php这类脚本语言一般少不了
python这种语言神器,什么都能干的也可以学学
Java应该也是需要学习的
然后自己喜欢哪个方面,就往哪个方面去发展的
比如WEB前端的话,肯定要去学习WEB的各种框架设计
方向三:
网络安全:这个也包括很多方向
对程序的逆向能力:也就是reverse能力
对系统漏洞的分析和利用能力:windows下,linux下的shellcode编写,shell脚本会不会用,OD和IDA这类工具玩得6不6等等
WEB安全方面:XSS注入,SQL查询之类的
还有很多很多不每个都举例了
方向四:
网络搭设、算法、大数据、机器学习方面的
ACM选手适合的:因为抽象建模能力强,代码功底好
大数据之类的研究:比如各类网购软件的推荐,根据你买的一样东西,通过大数据分析,猜测你可能还需要哪个
方向五:
真正励志于大牛的培养方法:从底层往上开始钻研,不要为了工作,不要为了所谓的打比赛获奖之类,不要为了学分绩点,修炼内功(我自己不属于这一类,但是这种方法坚持下来是肯定很厉害的)
推荐几本比较好的计算机的专业书籍,有的甚至是英文原著,读下来,理解了,就不是谈月薪年薪的问题的事了(不要意思又俗气了)
去研究各种底层的协议,好在哪儿,有可能哪些地方有问题
计算机网络,清华大学出版社,第五版(大黑书)
数据通信与网络(英文原著,第五版,最新的)
深入理解linux内核(linux是开源的操作系统,200万代码在大学深入研究1%,其实就是毕业的大神级别)
PS:所谓的IT行业的强大的自学能力
就是给活给你,逼着你去学东西的时候,可以很快上手。要求学习面比较广,以前接触的各种乱七八糟的东西多,想学的时候很快。而且愿意加班逼着自己去好好学习,因为有东西有项目逼着自己必须在deadline之前完成
自学能力,就是逼着自己在多长的时间限制学会某样东西,而且做出一个成品
PS:所谓的IT行业的合作能力(自己YY的,不对请见谅)
一方面是对于各种编程语言很熟悉,能够马上接触各类项目并且做贡献
另一方面是写代码有很好的风格,比如空格,回车,Tab键,有强迫症一般的对齐;有良好的注释风格
PS:程序员确实不好当
建议是:从一开始给自己定个方向,一定得逼着自己学,给自己见到成品项目的动力是很多程序员最开心的事