(点击上方蓝字,快速关注我们)
今天老夫半夜爬起来等着看世界杯预选赛法国vs西班牙的比赛,在新浪微博里看到@程序员的那些事 发的一封粉丝来信如下:
看完还是有一些感触的。作为一个科班计算机系毕业,第一份工作就是软件开发,然后又在咨询和销售领域工作了很多年,再回归到开发领域的老码农,老夫对于该同学的纠结心情是非常理解的。但是,要把一份工作持续地做下去,光有热情是不够的,如果你总是不能把事情做得比你身边的人更好,你的热情就会慢慢地消退,会开始怀疑自己的决定是否正确,自己的坚持是否有意义。所以,我的建议是给自己一段时间打好基础,也借此过程验证自己的决定是否明智,就算最后的答案是否定的,学会一些编程的技术也会对培养自己分析问题的思路有所帮助。 好了,说到正题,非计算机专业的同学如何为成为一个程序员打基础呢?我建议走如下的步骤:
有人看到这里可能要说了,码农对编程语言熟悉就行了,学那么多不相干的又何必呢? 老夫打个不太恰当的比方,离散数学和数据结构就像一个武林高手的内功,编程语言则是招式。内功不行,就算会很多招式,可以吓唬吓唬武功一般的人,但是碰到打硬仗这些花拳绣腿就不管用,会死得很惨。可惜现在很多人不重视内功,不少计算机专业毕业生连堆栈和队列是怎么回事都不知道,更别提二叉树、链表、图结构了。不管碰到什么需求,上来就定义几个大数组,你能指望他编出多高效的代码?比如现在互联网热门的大数据,算法效率是核心问题,如果谁整出个O(n^2)的算法,信不信老板分分钟砍死他? 再说远一点,学会一门编程语言容易,精通很难,难就难在理解它的精髓。有很多开发者热衷于最新潮的技术,今天玩玩NoSQL,明天搞搞Html 5,说起来头头是道,但是都深入不下去,从来没有真正没有理解这些技术的精髓,也就做不出一个能发挥出它们真正优势的产品来。这往往就是因为内功不行而心态又很浮躁。(补充一篇文章:《叶正盛:再次写给我们这些浮躁的程序员》)但是程序员是靠代码说话的,只是善于对某个技术侃侃而谈没有任何价值。Linux和Git之父Linus Torvalds说过:“Talk is cheap. Show me the code.”(空谈无价值。拿你的代码来看看。)所以老夫要说,作为一个程序员,不先练好内功就写不出优雅的代码,这样是走不远的。 怎么学呢?这些不需要花很多钱去培训机构,而且从我面试过的很多培训学校学员的表现来看,绝大部分人学完了连MVC的概念都没搞明白,花半年时间就学会了if…else,何必去糟蹋这钱呢?现在一些大学有旁听的学分课程,花几百块钱就可以听一门课,还可以交作业做实验。建议你尽可能去选最好的学校,不仅仅是老师水平高,关键是同学的高水平会促使你对自己有更高要求,这和培训学校的氛围是完全不同的。 如果你在以上4步都做得很好,那么你应该可以在码农这个行业获得一些机会,剩下的就看你在工作中的表现和积累了。码农的修行是一个长期过程,计算机领域每年都有新技术出现。做了码农,就得活到老学到老,注定一辈子苦兮兮的。如果你喜欢这种感觉,那么你的选择可能就是正确的。 本文转载自:微信公众账号 - 数据库开发,版权归原作者所有! |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|