新手程序员学习与进阶之路

  做技术的同学,都有成为高手的梦想。然而,编程行业出现并不久,你甚至在身边都找不到上一辈的人来指导方向,也很难在身边找到这个行业的人来做指导。绝大多数人,只能依靠学校的培养,非科班出身的还是少。在不同的阶段,应该有一些可行建议,来帮助我们更好、更快的走上编程的道路。我的学校一般,学校只为了就业率,有用的课程就教,打基础的课程很多没开,开了也没有给予应有的重视,想要深入学习,只能靠自己。我现在也不敢自称高手,只是也有几年的经验了,想给后来的学弟学妹们一点点可以尝试执行的小建议。
  普通学校的学生,不要满足于学校的课程安排,很有可能,人家好学校教的基础课程,你们并没有。如CS学生都应该会的编译原理,图形学,计算几何,数值分析等,你能知道现在很火的机器学习的基础是数值分析?那怎么办?在网上就能够搜索到名校的专业培养计划,里面有的课程,都要注意,本校没有的,自己去买书(即使你把缺漏的课程的资料都买了,也买不了十本书,没有多少钱的)。在校的时间真的很多,毕业后三年内再想找自学的时间,难度上升几倍,过五年,找时间的难度上升一个数量级。珍惜时间吧。这些教材比你之后在工作中看的书都要重要的多,底层的知识和技能,需要更多的时间来学习和训练。关于编程语言、工具、框架、软件工程管理、设计模式、方法论等你将来会学习到书籍,它们的难度小不少,不要担心。
  好的学校用的都是英文教材,人家这么做的原因简单:读原版也没有多大难度,又能很快跟进国际水准。难道你不应该对自己提高要求吗?如我在之前的博客文章分析过,这个事情也是需要坚持的,两年的时间,你就能毫无障碍的快速阅读原版教材了。贵在坚持,要想到,无论谁,刚开始读原版教材也可能是需要头疼一段时间的。英语是编程职业路线上重大的一个坎儿,用google和用百度能够导致的效率差距是很大的。熟悉另外一门语言,也会改变人的思维方式。有人总结过编程语言学习的策略,其一就是:不能改变编程思维的语言,不需要学习。更何况高级的多的人类语言呢!
  多读书。无论毕业与否,都还是能够找到很多与工作相关的书籍来学习阅读的。搜“某某方向必读书籍”或“某某方向基础书籍”,肯定已经有人给出了书单了。如果看过刘未鹏的有关招聘的一篇博文,就应该知道”书单“这个东西,比其他很多指标、经验修饰都来得重要。这个是需要下功夫花时间的。难以作假。
  向人学习,向榜样学习。你可以找到你自己感兴趣的方向,web,游戏,Java/PHP,前端,嵌入式,你肯定能够搜到这个方向上有名的前辈。列出一个清单,找10个人,从头到尾看他们的博客,分析他们从学校到毕业后工作的进阶之路,看需要读哪些书,重点需要哪些基础知识,职业的瓶颈在哪里,如何突破。你一定能总结出来一份路线图,对你三年甚至五年的技术路都有一个不错的指导。这是非常重要的。有了方向和具体的任务,才不会迷茫。即使半夜无眠,也能知道自己和高手有着多少本书、多少的代码量、多少个项目的差距。
  写代码,做练习。业余时间,把自己练习的代码好好整理,放到github上,代码简单也无所谓,你会变得牛叉的。现在记录下来,只是为了给自己一个提醒,下过的功夫不会白费。
  写技术笔记和博客。多年以后,你也许会换了几个工作方向,能提醒你曾经不断努力的,便是那些笔记本和写出来的文章了。怕写的东西没有营养?没有关系,慢慢来,一篇一篇的练,会越来越好的。给自己定一个简单的标准,每周一篇,甚至每两周一篇都是可以的,需要持续的做下去。
  我说的这些点,都是可以执行的,可以被测量的。



你可能感兴趣的:(笔记)