有关“非计算机专业如何转行做程序员”的一点思考

今天老夫半夜爬起来等着看世界杯预选赛法国vs西班牙的比赛,在新浪微博里看到@程 序员的那些事 发的一封粉丝来信如下:

创新互联建站是由多位在大型网络公司、广告设计公司的优秀设计人员和策划人员组成的一个具有丰富经验的团队,其中包括网站策划、网页美工、网站程序员、网页设计师、平面广告设计师、网络营销人员及形象策划。承接:网站设计、网站建设、网站改版、网页设计制作、网站建设与维护、网络推广、数据库开发,以高性价比制作企业网站、行业门户平台等全方位的服务。

XXXX:员员好,我是12届的大学生,读了一所还可以的大学,但所学专业我很不喜欢,我因为性格较内向同时又感叹编程的神奇,所以很想进入这一行,但 我去面试几家后发现就算是实习岗位也需要一些基础,虽说大学学过C语言但感觉也基本不会用,那些面试单位是建议我去学习这方面知识再去找他,但我又对这些 培训机构不太放心,怕花费了一大笔学费结果却不好,现在我有些迷茫不知道该去找找其它工作(人才市场很多都是些销售和工厂的一些岗位)还是去学习,希望广 大的员员们给我些指导,非常感谢。

看完还是有一些感触的。作为一个科班计算机系毕业,***份工作就是软件开发,然后又在咨询和销售领域工作了很多年,再回归到开发领域的老码农,老夫对于该同学的纠结心情是非常理解的。但是,要把一份工作持续地做下去,光有热情是不够的,如果你总是不能把事情做得比你身边的人更好,你的热情就会慢慢地消退,会开始怀疑自己的决定是否正确,自己的坚持是否有意义。所以,我的建议是给自己一段时间打好基础,也借此过程验证自己的决定是否明智,就算***的答案是否定的,学会一些编程的技术也会对培养自己分析问题的思路有所帮助。

好了,说到正题,非计算机专业的同学如何为成为一个程序员打基础呢?我建议走如下的步骤:

  • 1. 学会一门编程语言。随便什么语言都可以,其实python很适合初学者,有本书叫《与孩子一起学编程》用的就是它。不过考虑到步骤2,还是选个流行的教学语言吧,比如C++或者Java。
  • 2. 非常非常非常非常非常非常认真地学习《数据结构》这门课。你作为程序员功力几何,很大程度上取决于你在这方面的造诣。
  • 3. 学好离散数学,重点是高等代数、数理逻辑、集合论、图论,***再学会概率论。计算机科学的本质是离散数学,不掌握这些知识你如何能真正理解矢量、逻辑运算、最短路径、涂色算法这些概念呢?
  • 4. 自己做一个小项目,尽可能把你学会的东西都用上。这不仅能向招聘者展示你的功力,也是一个把所学知识融会贯通的过程,只有做了一个项目,你学的知识才真正变成为了你掌握的技术。

有人看到这里可能要说了,码农对编程语言熟悉就行了,学那么多不相干的又何必呢?

老夫打个不太恰当的比方,离散数学和数据结构就像一个武林高手的内功,编程语言则是招式。内功不行,就算会很多招式,可以吓唬吓唬武功一般的人,但是碰到打硬仗这些花拳绣腿就不管用,会死得很惨。可惜现在很多人不重视内功,不少计算机专业毕业生连堆栈和队列是怎么回事都不知道,更别提二叉树、链表、图结构了。不管碰到什么需求,上来就定义几个大数组,你能指望他编出多高效的代码?比如现在互联网热门的大数据,算法效率是核心问题,如果谁整出个 O(n^2)的算法,信不信老板分分钟砍死他?

再说远一点,学会一门编程语言容易,精通很难,难就难在理解它的精髓。有很多开发者热衷于***潮的技术,今天玩玩NoSQL,明天搞搞Html 5,说起来头头是道,但是都深入不下去,从来没有真正没有理解这些技术的精髓,也就做不出一个能发挥出它们真正优势的产品来。这往往就是因为内功不行而心态又很浮躁。(补充一篇文章:《叶正盛:再次写给我们这些浮躁的程序员》)但是程序员是靠代码说话的,只是善于对某个技术侃侃而谈没有任何价值。Linux和Git之父Linus Torvalds说过:“Talk is cheap. Show me the code.”(空谈无价值。拿你的代码来看看。)所以老夫要说,作为一个程序员,不先练好内功就写不出优雅的代码,这样是走不远的。

怎么学呢?这些不需要花很多钱去培训机构,而且从我面试过的很多培训学校学员的表现来看,绝大部分人学完了连MVC的概念都没搞明白,花半年时间就学会了if…else,何必去糟蹋这钱呢?现在一些大学有旁听的学分课程,花几百块钱就可以听一门课,还可以交作业做实验(比如:http://zhidao.baidu.com/question/245256206.html)。建议你尽可能去选***的学校,不仅仅是老师水平高,关键是同学的高水平会促使你对自己有更高要求,这和培训学校的氛围是完全不同的。

如果你在以上4步都做得很好,那么你应该可以在码农这个行业获得一些机会,剩下的就看你在工作中的表现和积累了。码农的修行是一个长期过程,计算机领域每年都有新技术出现。做了码农,就得活到老学到老,注定一辈子苦兮兮的。如果你喜欢这种感觉,那么你的选择可能就是正确的。

原文链接:http://blog.jobbole.com/36918/

网站栏目:有关“非计算机专业如何转行做程序员”的一点思考
本文链接:http://www.gawzjz.com/qtweb2/news27/29377.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联