转行IT行业的人,经常对以下几个问题感到迷茫:
非计算机专业0基础能学会技术吗?
非计算机专业如何转行到IT行业?
非计算机专业怎样学习编程开发?
没有项目经验如何准备面试?
总体来看,大家对于跨专业学习IT领域的技能存在很多疑虑和疑问。这里我就我个人的理解,跟大家表达一下我个人的观点。
有兴趣最好,培养自己的好奇心
兴趣是最好的老师。大家都知道,坚持不懈地学习任何东西都需要兴趣去支撑;如果没有兴趣,则很难长久。
对于想跨专业转行的同学,可以先问问自己是不是真的对这个行业感兴趣,如果答案是肯定的,我觉得这种尝试是没有问题的(毕竟这个行业正在以前所未有的速度飞速发展,并且至少在未来二十年是值得期许的)。对于那些兴趣不是那么大,但是由于各种原因需要跨专业的朋友,我的建议是未尝不可以试试。
其实对于大多数人来说,找到真正自己感兴趣的东西去做确实很难,这种事情可遇不可求;在没有太好的目标选择的情况下,如果有决心进入这个行业,我认为也是可以的。但是我还是需要强调,在进入这个行业之后,大家需要保持一颗好奇心。因为只有这种好奇心才会驱使你坚持不断的去学习,去进步。
IT行业与其它行业相比,它的技术变更更加快速,可能每天都会有新的技术出现,你每天也都会接受到新的名词、新的技术、新的架构体系。身处在这个变化如此之快的行业,快速学习的能力变得非常重要。比如一个新技术出来,你的老板可能需要你用一个月的时间用这个新技术完成一个项目,一般这种情况下,你最多只有一周时间完成对这个技术基本入门,后面就是一边用一边学。
说到学习能力,我需要特别强调一点的是英文的阅读能力。其实作为程序猿,英语能力是不可或缺的。毕竟计算机这整套体系都是老外创造出来的,所以我们在学习新技术的时候面对的大部分都是英文文档。这个时候,就特别需要我们有一个良好的英语阅读的能力,这样我们才能更好的快速掌握相关的技术信息。
学习新技能的时候,除了阅读文档,另外我们需要做的就是多动手实践,多写代码。很多学员在交流的时候都会跟我反应一个问题,就是说跟着老师的视频会写代码,但是自己写就写不出来。其实写代码也是一个熟能生巧的事情,代码敲的多了自然而然的就会写了,如果写不出来说明代码还写得不够多。反复练习,积累达到一定的量就会有一些写代码的灵感,进而就会产生一种质变。总而言之就是,纸上得来终觉浅,绝知此事要躬行。
注重基础,抓住核心
前面提到IT领域技术更新很快,我们需要有一个快速学习的能力。对于一个初学者来说,面对纷繁复杂的各种技术,很多人都会一时手足无措,不知道从哪里下手,很多跨专业的同学都会遇到这个问题。我这边需要说的是,虽然这个领域技术繁多,新的技术也都层出不穷,但是有一句古话,万变不离其宗,这句话就是强调我们需要去抓住所谓的那个宗,也就是我们所指的技术的基础与核心。
作为非计算机专业的同学,我不建议大家一开始就去学习Java或者C语言,还有所谓的各种框架。由于没有对计算机专业知识进行系统性的学习,对计算机基础知识缺乏了解,所以在遇到一些涉及到计算机底层的一些东西的时候就会不知所措。比如计算机网络通信、数据库的设计规范、数据结构的优化、多进程多线程编程等等,这些都是非计算机专业的同学欠缺的知识。就好像盖房子,在没有打牢固地基的情况下就开始添砖加瓦,最后轰然倒塌是必然的。
作为跨专业的同学,建议大家先学习一些计算机相关的知识,这里推荐一些书单。如果大家能把这几本书都能够完整的自学一遍,我想也就可以算是计算机入门了。
《计算机体系机构》
了解最基础的计算机硬件知识
《计算机操作系统》
了解整个操作系统的实现和编程环境
《编译原理》《计算机网络》
了解编程语言的原理和网络原理
《数据结构与算法》
了解编程中常用的数据结构与经典算法
这里打个比喻,如果大家先将计算机专业的知识体系建立起来了,就好像先练就了一身九阳神功,后面再学任务其它武功就是易如反掌,这样才有可能做到我之前提到的快速学习。
勤写技术博客,与牛人多交流
写技术博客是一种可以快速提高的方法,我们可以分享自己总结的一些经验,也可以分享自己的体会。一样东西在你大脑里,并不代表你已经掌握了,如果你能说给别人听,或者用文字表达出来,那才算真正掌握了。
大家在刚刚写技术博客的时候不要担心自己分享的东西太low,只要你认为是有价值,都可以写出来,这不仅可以给别人提供知识,同时也能够整理自己的思路,有时候还可以得到网上朋友的意见和反馈,跟大家一起交流。
在IT这个领域,你会发现周围有很多技术牛人,他们都身怀绝杀武功,通常他们都很低调,低调到你都很难发现。如果你发现周围或者网上有这样的同事或者朋友,就可以多跟他做一些技术交流和讨论,在这个交流和讨论的过程中你会学习到他思考问题的思路和方法,同时也会加深对知识的理解,这样也是一种快速提高很好的方法。
最后当我们内功都已经练好准备要出去面试的时候,经常会被问到项目经验的问题。因为作为一个成熟的企业,它肯定希望招到的人能够快速为公司产生价值,这里不管是对于校招或者社招都是一样。但是对于大多数跨专业的同学,这就是非常大的难题。这里给大家支两招:
开源项目
最简单直接获取项目经验的方法就是参与到开源项目的开发中,我们可以先到开源中国或者github上找一些不是那么复杂的开源项目开始练手,当然如果你自己有创意,可以自己建立一个开源项目,动手实践。
无偿工作
有时候可能开源项目的需求不是那么明确,跟实际的项目还是有一定差距;那我想说的是大家可以去找一些无偿工作的机会,普通的企业通常可能并不想雇佣经验少或没有经验的人,但是非盈利的机构通常会愿意雇佣这样的人;只要有合适的项目,最后能够获得项目经验,锻炼自己成长,有没有报酬都是无所谓的。
世上无难事只怕有心人。我想对于非计算机专业的同学,只要能够按照一定的方法坚持学习,动手实践,时刻保持对知识的追求和渴望,有朝一日一定可以成为这个行业的佼佼者。
就像上文所说的那样,学习的道路上除了自学外,另一个好方法就是找牛人交流,借助他人的经历获取高效的学习方法和快速进阶的方式。这样就能更快更简便的入门IT行业,也会节省时间,并且也能从技术牛人的身上学到一些经验技巧,这是转行学习技术必不可少入门诀窍。
作者:彭阳(部分内容有删减)
6月云计算免费训练营
时间:
6月21日 - 6月27日 (为期5天,22/23日休息)
课程内容:
什么是Linux、云计算、虚拟化;
KVM虚拟化实战;
Linux操作系统由来;
企业级Linux服务器安装方案;
破解Linux系统密码;
Linux命令行格式;
Linux下目录和文件管理;
FTP服务器演示;
Web服务器演示;
DNS服务器演示;
初识网络工程;
Linux云计算行业发展前景等等。
地点:达内全国各中心校区,就近选择。
讲师:行业大咖,技术大牛面授课程。
免费报名方式:长按下方二维码即可免费申请▼
*本次免费训练营异常火爆,座位有限,各位童鞋抓紧时间,先报先得。
PS:记得查收小编送你的免费大礼包呦~
福利 | 一万多套PPT模板等你免费来拿!无条件领取!
免费送 | 1000多套简历模板免费拿,附赠简历制作教程!
免费领 | 《Shell脚本 100例》电子书免费拿,运维必备干货~
▼▼点击【阅读原文】,22大互联网热门课程任选免费学!