“非计算机专业如何转行做程序员” - 我的经验

前两天在微博上看到关于“非计算机专业如何转行做程序员” 的讨论:

讨论中一片学生的来信,勾起我写一篇博客的冲动:



希望我的经验能影响他,影响徘徊在计算机行业外想进来的人。

 

先做个自我介绍,让这篇博客比较有参考价值:

大学: 2004 ~ 2008 西安工业大学 包装工程

现在公司: 中科大洋 -上海研发部

职位: Java软件工程

工作年限: 4年

工作内容: B/S 架构的企业软件开发, 技术涉及Java, Javscript, iOS;

已掌握的语言: Java, Javascript, SQL, C, Objective C, Ruby

 

1. 程序员这个职业并不是为计算机专业学生专设的

我现在所在的公司,上海这边就有3个大学非计算机专业的同事。除了我之外,一个是09年毕业学建筑的,一个是11年毕业学法律的。如果你想,这条路可行。

 

2. 兴趣是最大的老师。

 

2002年高一暑假,暴雪推出了war3(魔兽争霸3)。我想学编程的想法就从这个游戏开始。

由于暴雪的关系,当时让我觉得做游戏是一件非常酷的事情。03年的一期大众软件,介绍了如何使用war3中的地图编辑器做RPG游戏,从此便迷上了地图编辑器,开始泡各种地图编辑器的论坛。

在当时我只知道照着论坛的帖子改地形,写触发器,写判断语句,后来才知道地图编辑器中使用的语言Jass(war3中的脚本语言)。

从那时起就立下一个目标,“学编程,做游戏。酷!”。

后来高考我并没有考上计算机专业,志愿被调剂西安工业大学的包装工程。不过依然坚定自己的目标:“上了大学自学编程, C语言->C++-> VC -> 做游戏”。

现在想想当时的想法非常天真,就是这个天真的想法让我一头扎进了计算机的世界。

如果你对编程世界充满好奇,恭喜你,他将会是你最好的老师。在整个过程中请牢记:“一切为了兴趣”。在学习过程中碰到不感兴趣的东西,可以先放放,让兴趣指引你去学你想学的东西,那些让你感觉很头疼的东西(比如编译原理,算法等),以后你会因为兴趣将他们拾起来。

 

 

3. 学习是一个循环的过程

发现 -> 感兴趣 -> 学习 -> 实践 -> 成就感 -> 发现 -> ... 请时刻记住这个循环过程。当然你可以总结出自己的一套循环理论。

 

4. 如何开始?

如果你现在很幸运的只知道一门编程语言,恭喜你,直接上手学吧。现在就开始是最好的开始。程序语言的逻辑都很像,只要学会一个其他的都很容易。我在学编程的时候只知道C语言->C++->VC这条路,进入大学后整天泡在图书馆,在没有电脑的情况下手写代码。这段学习经历让我意识到,即刻开始是最好的开始。

 

如果你不幸知道了很多编程语言,并且不知道如何选择,这里我可以给你一些建议:
  • C语言永远是值得学习的一门语言。在犹豫不决的时候不妨先学C语言。如果你能很轻松写出冒泡排序,写出函数的递归调用。恭喜你,程序逻辑方面你已经很优秀了。
  • 如果你对做网站感兴趣,PHP是一个不错的开始。当然还有Ruby, Python。
  • 如果你希望按照传统套路来,Java是个不错的选择,之后可以选择企业开发,Android开发等。
  • 如果你对移动感兴趣并且资金充足,Objective C 觉得很好的选择。iOS开发难点在Mac, iPhone等设备购买上(贵,你懂得)。
  • 最后不要忘了身边的有当程序员的人,他们的意见很值得参考,如果按照他们的路子入门,你将得到一个很好的导师。这将会是一件非常棒的事情。
如何选择书:
  • 选书之前现在豆瓣读书看看书评。
  • 首选图灵出版社的书。
  • 书越薄越好,快速入门是目的。那种跟砖一样厚的书,请忽略掉,除非你有自虐倾向。
一些值得推荐的网站:
  • 编程中国: www.bccn.cn  很适合初学者的网站。我刚开是学编程的是时候,在这里得到很多帮助。
  • 程序员: www.csdn.net 大而全。
  • ITEye: www.iteye.net 前身JavaEye,我常年混迹的网站。建议工作后来这里混。
  • 工作后发现的在学习网站,强力推荐: http://www.codecademy.com/

5. 是否上培训?

我们3个都有上过培训。我是先自学了C,C++,MFC,之后感觉不知道再学什么,机缘巧合选择了培训学校这条路。

在培训学校,我遇见不少优秀的老师,也结识了一帮朋友,这段经历是我最终走上程序员这个职业。

 

能不能不选培训培训?

除非你能找到一个很好的学习环境,比如开源社区,编程论坛。一个好的环境能让你进步很快,在学习过程中结识朋友也会让你很有成就感。

如果你还没有一个环境,或者对自己适应这些社区的能力没有自信,建议选择培训学校。具体能学到什么那就看你的个人主动性。

强烈建议有一定基础后在选择培训

 

培训能带来的东西:
  • 一个适应当前潮流的学习计划,比如我06年上培训,当时Java SSH框架很火。培训的流程就是Java -> Java Web -> SSH 框架,中间伴随项目实战。
  • 有人指导,在学习中碰到障碍,很快能得到解决。这样不会使学习过程有很强的挫败感。
  • 结识朋友,相互交流,这种学习环境会让人感到很快乐。
  • 就业指导,现在培训基本都以工作为目的,就业指导会给你找工作带来不小的帮助。(培训学校目的让你找到工作,好坏看个人想法和能力)
培训中的不足:
  • 培训学校本质是盈利,并不像普通学校有一定义务性,这会导致有些做事方法可能会让人不爽。在去之前自己需要做心态上的调整,一个卖服务,一个买服务,各取所需。
  • 培训比较急功近利,课程设置方面以实战为主,仅仅按培训学校的课程学出来,基础一般都很薄弱。基础方面需要自己补,例如数据结构,算法,OOP原理等等。
上培训需要注意的事情:
  • 课程时间,如果求职压力较大建议选较短时间的,先工作,之后在充电。如果时间充裕建议选择时间较长的,你可以有很长的时间学习。
  • 课程设置,注重项目实战。一般每一阶段学习都会有一个实战项目,项目实战越多越好。
  • 学习期间做项目,尽量不要选择培训教材中的项目,这样不会因为思维惰性去copy书本上或者老师提供的代码。
  • 如果分学习小组,请力争做小组组长。组长做实践项目时会充当Team Leader的角色,这方面的锻炼对成长很有帮助。

6. 如何找工作?

  • 用心做一份简历,朴实,不要弄虚作假。弄虚作假是应聘大忌,一旦发现绝对忽略掉。(至少我在看别人简历的时候会这么做。)
  • 请忽略招聘中“计算机或者相关专业”条件,那些都是很死板的,模板式的招聘要求,大胆的把简历发过去,是否邀请你面试是他们的事情。
  • 保持耐心,由于是非计算机专业的缘故,你需要比计算机专业的学生付出更多的努力。
  • 用项目说话,面试时请带上你的项目。我当时找工作的时候就是这么干的,结果就是:我轻松找到了工作。
  • 如果实在找不到工作,可以先找实习职位。找实习职位需要多泡论坛,招聘网站上的个人感觉不靠谱。(有很多人都再抢,你懂得。)

7. 工作后该如何继续学习。

  • 保持对行业的关注非常重要。推荐几个博客:  
  • 不要将Google作为IDE的一部分。如果没有Google你不知道如何解决问题,你的水平可能只停留在初级的水平。多思考,多总结,开一个博客很有必要。
  • 申请一个Evernote账号。时刻记笔记,知识积累很重要。
  • Github, stackoverflow 如果你还不知道这两个地方,赶紧去看。
  • 我以前写过一个《构建网络工具箱》的PPT,希望能对你有所启发。
  • 优酷上有很多视频教程,如果你只拿它来看电影,那实在太非专业了。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

非计算机专业如何转行成为程序员?我用亲身经历教你用这三种方法 Github上有很多开源的项目可以供你学习,你可以学习其他人的代码,了解编程的实际应用场景。当然,这些资源只是帮助你入门,更重要的是你要有一个学习计划和学习方法。在学习编程的过程中,你需要掌握一些基本的编程概念和技术,比如算法、数据结构、面向对象编程等等。你可以选择一些经典的编程书籍来学习这些概念和技术,比如《算法导论》、《数据结构与算法分析》、《Java编程思想》等等。最快的方法是一边一边学,多动手编程,利用搜索引擎,不要太抠细节。你不要在乎工资的多少,应该先入行,先一份工作入行,慢慢会好起来的。 阅读详情

相关推荐

非计算机专业如何转行成为程序员?我用亲身经历教你用这三种方法_非计算机专业如何转行程序员

非计算机专业如何转行成为程序员?我用亲身经历教你用这三种方法_非计算机专业如何转行程序员

xiangxue666的博客 2082

非科班如何丝滑转码农?从其他专业走向编程之路

转行成为“码农”是一条充满挑战但也富有机遇的道路。务实、可操作的策略和努力是成功的关键。从明确方向到持续学习,每一步都需要用心去规划和实施。相信凭借你的努力和决心,一定能在计算机领域到属于自己的位置。

wly55690的博客 1483

零基础、非计算机专业,如何转行成为程序员

近年来,随着IT行业的薪资连续赶超金融行业,位居行业首位,以及新一轮科技革命和技术革命的到来,有越来越多的人开始关注IT行业,并萌生出转行学习编程成为程序员的想法,但大家知道程序员工作属于技术活,没有专业知识,是行不通的。所以,大家不免开始自我怀疑:“我是零基础、非计算专业,对代码啊、语言呀,还一窍不通,这样我还能学习IT ,成为程序员吗?”

xx16755498986的博客 968

非计算机专业如何转行程序员

许多朋友对于在大学所选择的的专业不是很满意,或者是工作上需要IT技术方面的进修,那么应该如何选择适合自己的学习方法和教育机构呢?非计算机专业如何转行程序员?去哪里学习好呢?准备转行程序员的非专业人士,应该好哪些准备?转行后又如何能快速的成为一名优秀的程序员呢?非计算机专业人士转行程序员,首选第一步就是选择一门要学的语言,如果你现在很幸运的只知道一门编程语言,恭喜你,直接上手学吧。程序语言的逻辑都很像,只要学会一个其他的都很容易。C语言永远是值得学习的一门语言,在犹豫不决的时候不妨先学C语言。

m0_58477260的博客 1463

金御GM-AFM应用层流量控制

  金御GM-AFM应用层流量控制    

bjxhzy的专栏 925

非计算机科班如何丝滑转码?

不知不觉入行也有十余年了,或许和你一样我自己本身也并非计算机专业的,也可能是个未入行小白,并非所有人都适合当程序员。不乏带同事朋友入行的经验,由于一些客观原因他们不说走到了多高的高度,但至少在程序这个行业中站住了脚,所以我觉得这话话题有一定的“话语权”,哈。非科班出生相信很多人与当初的我一样,有:基础不扎实、学历或专业被面试官嫌弃、不知道怎么学习等问题。 以下皆个人看法,或许和学校里说的“人人可教,皆可成材”的看法有所不同,仅供参考:

盖子的博客 589

非科班出身如何转行程序员

非科班出身是指那些大学专业为非计算机相关专业的人群,多数人对于计算机基础了解比较少,甚至零基础。这部分人群中有相当多一部分处于对于编程的兴趣和外界了解的印象想转行成为一名程序员。非科班出身与计算机科班出身相比有着天然的劣势,在计算机基础和编程认知上缺失,但如果合理规划这些劣势都是暂时性的,在这里以个人“半路出家”的经验为参考分享下半路出家路上注意的那些事。

xx_nm98的博客 960

非计算机专业进入IT行业的三个方法,你是哪一个?

其实很多的IT大佬之前也不是专门学计算机的,都是后期转行的。而且大学学什么专业,对后期的工作真的没有太大关系,这也是现在高校的教育现状。有80%的学生都是通过临时抱佛脚,考前冲刺拿到毕业证书的。但是在考虑如何进入IT行业之前,应该考虑清楚“为什么要转行”。我们应该保持自己的主见和独立思考的能力,不应该什么火就去学什么,也不应该哪个行业薪资高就去学哪个,应该根据自己的兴趣、实际情况、专业的发展情况而定,不可盲目跟风。

Python84310366的博客 1810

半路出家:转行程序员你需要知道的五件事

如果你想要成功地转型成为程序员,那么你需要从选择一门编程语言开始,接着选择一个合适的学习途径。此外,你还需要学会如何有效地学习,包括掌握科学的学习方法、寻适合自己的学习资源以及不断反思和总结自己的学习过程。一旦你掌握了必要的技能和知识,你就需要为自己的面试好充分准备,包括编写简历、准备面试题和进行模拟面试等。最终,当你成功地进入了程序员的职业道路,你还需要规划自己的未来职业发展,以确保职业生涯的长期成功。

qingkahui24689的博客 1245

如何从一个非科班生转行成为一名合格的程序员

好随着互联网的高速发展,市场对程序员的人才需求也日益增加,包括很多非计算机相关专业的人也想转行IT行业,但又担心,自己非科班零基础转行,将来工作会有困难。那么对于非科班出身的程序员来讲,毕业后会不会很难工作呢?

m0_70486148的博客 977

计算机专业的学生怎样项目,以提高自己的编程技能?

我从大一开始开始自学后端,过很多后端项目,上一份工作在阿里也参加过一些后端项目 都知道想学好编程,提高简历含金量,平时一定要多刷项目算法题敲代码! 除了题主之外,之前我也听到很多学弟学妹有项目方面的困惑,总结下来最常出现的有两种情况: 不知道查方法的:不知道从哪个渠道项目,病急乱投医。 不到适合的:网上搜集了一大堆,各种类型不同学习路径的都有,不知道哪个适合自己。 其实作为一名在校大学生,及时你没有实习经验项目还是有很多途径的,就我个人的学习路径而言,一下几种形式效果还不错: 课堂大作业

九章算法的博客 4038

不是计算机专业的,可以转行学IT吗?

相信有这样疑惑的同学不在少数,随着互联网的快速发展,越来越多的人想要转行到IT行业,可又担心自己的专业不对口,影响将来的发展,那么究竟不是计算机专业的可以转行IT吗? 当然是可以的,其实很多的IT大佬之前也不是专门学计算机的,都是后期转行的,专业也是五花八门的。相比于其他职业,IT类岗位更关注的是你的技术能力和实践解决问题的能力,而不是以一纸证书或者某一专业进行衡量的。比如比尔盖茨是学法律的,扎克...

程序员生活 2498
上一篇: 从Java Programmer到iOS Developer (一) 如何起步?
下一篇: 使用Java编写基于命令行的程序
lvjian700
博客等级 码龄15年 14粉丝 13原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值