浅谈如何成为程序员

前几天有学妹问我如何学计算机编程,我刚开始想告诉她:多动手去实践就行。然后细细琢磨,貌似遗漏了太多东西没有告诉她,然后把自己的想法整理成这篇博客,以便供给那些同时也很迷茫的同学一个参考。

先简单介绍一下博主:普通院校计算机科学与技术专业毕业,做2EE企业级开发已经两年有余,对自己的定位是业务型程序员。每天的工作就是把需要文档和页面原型对照着数据库相应的表做增删改查,当然了还有一些简单的逻辑计算之类的。所以这篇博客只能作为你进入这个行业的指南,并不能使你成为大神。这篇博客适合还在象牙塔渴望融入这个行业的学生,同时也适合那些正在网上看着技术博客和视频教程,想早一步跨入这个传说中的:钱多话少死的早的行业(自嘲,勿当真)。

首先聊一聊程序员这个行业的薪资:其实这个行业的薪资是很听神秘的,由于信息的不对等,所以薪水多少都是靠网传或者从同学的同学那里听来,或者同学的同学那里听来,这其中裹携着真真假假,傻傻让人分不清。同样是程序员,不同行业,不同出身薪资待遇肯定不一样。比如某就读于西安电子科技大学的初中同学,毕业季恶补了一下Java和算法,就签华为了offer。而很多普通二本挤破头脑也顶多是以外包的形式进华为。其次即便是同一家公司,面谈的时候薪资不一样,拿到的工资也是不一样的,在写代码之余我也经常私下打听我们组组员的工资情况,其实大部分持平,但是个别拿的比我们多一两k。之前我一直持怀疑态度,想:技术水平和我差不多啊,为啥拿得比我高?某日到发工资日期,我终于忍不住了,特意交换了工资短信看,人家确确实实比我多2k啊。所以说即使在同一家公司,干同样的事,薪资也可能不太一样的。在北京,我见过拿6K的,后来跳槽之后涨到8K的。有见过刚毕业去互联网就拿10K的,有应届生进来拿7K的,后来跳槽去互联网搞前端拿14K的。最神器的是,一学机械工程转Java的哥们,干了半年之后去了互联网搞前端,拿到20多K的,而之前所在的公司税前也就7K。高薪就是在适当的时节,你遇见他,而他也刚好需要你。

程序员的工资差别这么大,总之只要你肯干,肚子里有货,不怕找不到吃的。那生在大学的你或者正在自学的你如何进入这个行业呢?我的答案当然是回到博客开头的那句:coding,coding加coding。计算机届邮局名言:

Tell me and I forget. Teach me and I remember. Involve me and I learn.

大意是:给我讲过,我很快就忘记;给我讲解,我会记住;让我参与,我真正学会。

白话版就是:实践出真知!

记得我的第一门计算机编程语言是从C语言开始的,那时候老师讲课的方式是在黑板上用粉笔写代码,很多同学起来都是一愣一愣的,大部分都处于蒙逼状态。我当时就在那窃喜,老师提的很多问题我自然而然也答得上来,然后莫名其妙成为了同学心中的大神。其实我的诀窍并不多,也不独特,就是他们只靠听,而我靠的是写。在老师讲的每一课:变量,常量,单分支结构,开关语句,循环,数组等,下去我都写了一遍,首先不参考任务资料,凭着自己的想象,想怎么来就怎么来,报错,输出错误,在一遍一遍的检查看看哪里出了问题。其实新人对写程序具有一中恐惧感,由于是程序报错没人帮忙解决带来的绝望,如果你学会使用搜索引擎,把最初的报错都给解决了,也就战胜了你对代码的恐惧感。于是你就快一步于你的同学,于是在你心中建立起一中自信,这种自信和自豪会鞭策着你继续学习,形成一个良性循环。所以,大一下学期期末结束的时候,我已经用C语言编写一些小程序,如:百钱买百鸡问题,筛选100以内素数问题,约瑟夫环问题,折叠纸片问题等,弄清楚了C语言的数组和指针,并知道他们其实就是同一回事。这是身为学生的你跑赢其他同学的方式。我比较不推崇背代码这种学习方式,代码是死的,人是活的,同样需求,我可以用多种方式实现,如果你是用背代码这种方式来学习编程的,下学期开学你就会把程序和代码忘的干干净净,当你面对着IDE还是无从下手。

当然了,上诉只谈到了你如何跑赢别人的第一步,并没有谈到如何成为一名程序员。其实要想成为一名程序员,光是靠学校的课程安排是不够的,大学四年学到的只是计算机知识体系脉络,并没有传授给你能够在这个行业生存下去的技能。要想成为一名程序员,道理极其遥远,最重要的技能是:自学。很多互联网公司招应届生的时候,并没有太过于看重他们的项目经验,当然你有项目经验肯定会给你加分,但是他们校招的时候更看重的是你牢固的专业知识和快速的学习能力。其实互联网的技术都是快速迭代的,不要说学校不会有相应的课程安排了,就算在行业内嗅觉比较灵敏的培训机构,他们出了课程不久,市场又换新的架构了。所以,能让你在这个行业继续呆下去的技能就是学习能力。

目前来说,学习途径不外乎几种:

  1. 找相关经典的书籍来看
  2. 阅读官方教程
  3. 下载培训机构免费教程视频
  4. 在线编程的一些网站和论坛

上面那种方法好呢?其实各有利弊,
第一种方法:Java编程相关的《Java编程思想》《Java核心技术》等,这是都是Java基础相关的,如果你想看实际开发的书籍就可以参考参考《第一行代码Android》或者《J2EE各种实战》之类的。当然,前几本书我只看过《Java编程思想》前几章,这种方法适合有大量时间的同学学习方式,如果你认真的看完,并写了一遍的代码,我相信达到入门水平不难。

第二种方法:阅读官方教程,其实这里不仅仅包括官方教程。众所周知IT新技术都是从国外传如国内的,所以如果你要阅读官方教程就会有语言的障碍,很多同学硬着头皮读下去了,确实很好,以前在学校的时候我也测试读原版的文档和技术书籍,最后选择放弃,这就是牛人与普通人的差别。其实不读原版教程无没关系,读中文翻译版也无妨。这里想说一下,有些同学喜欢动不动就推荐经典著作或者圣经之类的,甚至我看到百度知道有人提问有没有Java教程中文版,被高赞者回答说:没必要,只要把Java两本圣经啃下来就行了。你推荐别人读经典著作当人可以,但是不要阻碍别人去读官方教程。众所周知,每当新的技术出现的时候,官方都会配套相应的教程,会告诉你如何使用和配置这些文件,如何编写你的HelloWord等,例如MyBatis官方文档,Struts官方文档,Hibernate官方文档等,这些文档和教程算是这门技术的最权威的东西,没有谁写的书会比官方文档更权威。这种学习方式不太适合初学者,比较适合已经读过许多官方教程的程序员。

第三种:下载培训机构免费教程视频。一般来说,像我们学校这种二本院校,到大四的时候都会有培训机构到我们学习来招学生去培训,老师也知道现在就业压力过大,大学四年并没有培养出一毕业就能用的学生,所以也就同意了培训机构进校招人。然后很多培训机构在其官网是提供有免费的教程视频的,我当初也是靠着培训机构的视频入门Java的,并一直看到J2EE的三大框架。这里推荐几个培训机构,黑马/传智播客,尚学堂,尚硅谷,当然这三家都是本人看过的视频教程,并觉得质量可以才推荐的,我只是推荐你看他们的视频自学,而不要入了他们培训的坑。看视频教程这种方式比较适合有大量时间,缺乏编程经验的同学。

第四种:在线编程的一些网站和论坛,以前我学习汇编的时候经常去小甲鱼论坛看文章和教程。当然现在也有一些网站每天都出一些免费视频和课后习题等,这些都是一些不错的学习途径,比如我学Linux的时候就可以参考刘椽老师的《Linux就该这么学》,最后还买了他的书。

第五种:经常去IT社区交流,其实这条应该和第四条一个意思。要想进入这个行业,可以先去这个行业的社区看看他们都在说些什么,都在想些什么!国内的csdn,cnblogs,oschina,segmentfault等可以经常去逛逛,提问之前先读一读QFA,先百度一下看看有没有人已经提问过类型的问题了,免得到时候你回答会被嘲笑或者调侃之类的。

总之,实战是最重要的,实践出真知。每当你学完一个阶段,就可以按照课本或者教程写一个阶段性的例子,这样才使你刚学到的知识点融会贯通。要想入程序员这个行业其实也不难,但需要你有一定的毅力,自制力和忍耐力。当你入了行了之后,你会发现做开发就如同打拳一样,套路总是相似的。

寥寥草草写了这么多,也不敢确定是否全是对的,如果赞同我的观点请给个顶,如果不赞同请一笑谂之。

猜你喜欢

转载自www.cnblogs.com/shizongger/p/9576567.html