程序员如何提升编程真本领,写给觉得自己技术比较菜的人.
1. 解决问题是工作的首要目标
不管你是用 Google 也好,还是 GitHub,还是请教别人,还是摸索出来的,总之,能解决问 题,就是一名称职的员工,这是一项能力,而且是不可多得的能力,我甚至鼓励大家要多使 用 Google,多使用 GitHub,在解决一个个的问题的过程中,你的能力其实在不自不觉中在提高。
2. 为什么总觉得自己没什么进步
我之前说过,只要你埋头工作,多做项目,你的能力一定会随着时间提高的,但是这是有时间周期的,最多也就在工作的前两年左右,你会觉得有进步,但是紧接着,你会发现,不管 你再怎么努力工作,你就没这么感觉了,所以这个时候就要适当的进行系统性的学习了。 举个例子,我们开发中会使用各种开源项目,一开始只要会用,能解决你项目的问题,这就 ok 了,但是你不应该只满足于只会用,你要有了解其原理,阅读其源码的好奇心,不追求使用的每个项目都要花时间阅读源码,只需要有针对性的阅读 1、2 个开源项目就行了,我知道,这在一开始会很难,你会不知如何下手,会看不懂,没关系,就针对这一两个项目,硬 着头皮去看,即使看不懂,也要追求把整个项目都看一遍,看完一遍看不懂,再看第二遍, 还看不懂,再第三遍…第四遍,逐渐的你会发现,你好像能看懂一点了,然后你大概知道他的 原理了,也理解了源码实现的一些设计上的精妙之处,这期间,别贪,就抓着这一个项目 看,看懂了,再有针对性的去看第二个项目,慢慢的,你会发现,你的进步会比努力工作的 那个阶段更快。 所以,最初阶段,多使用开源项目解决问题是没问题的,因为一是你没能力,二是即使有能 力,你也没法每使用一个开源项目都有精力弄懂其原理,只要有针对性的抓住一两个你感兴 趣,并且对你的技能互补的开源项目研究下,后面只会越来越顺。
3. 系统性的补习基础知识
我相信大部分人一开始从事开发职业,其实都还没怎么搞清状况就进入这个行业了,可以说 是在懵懂的状态下工作的,我们会利用各种搜索引擎、工具帮我们解决问题,但是等我们到 了一个阶段,会发现你的基础知识不足,因为我们在进入工作之前还没有进入系统性的学习,你也许说你在大学是计算机专业,系统性的学过,但是那算不上系统,因为那个时候你 还不知道到底哪些基础是有用,哪些是无用的,而工作一段时间后,再系统性的去补习基础 知识,你会很有针对性的知道自己缺乏什么,自己需要补习什么,比如,我工作 2 年多的时间,突然发现,我 Java 基础较弱,于是专门从头看了一遍 Thinking In Java,这个时候再回 头看,和我当初刚自学 Android 的时候看是完全两种收获,很多之前你疑问的地方,很可能 再次回头系统学习的时候,解开了。 这就好比,当你到了高中的时候,回头看初中的课本发现很简单,有些在当时看起来非常难 的数学、物理也一样很简单,因为你所在的 level 已经不一样了,这个时候再回头复习在当初 看起来很难的定理很容易就理解了。
ok,以上就是我作为过来人的一点见解与建议,希望对部分人有帮助。
大家好,我是gaolhjy.
传统行业转行的互联网人。 前期从事Android开发。现技术管理。平时运营微信群"职场提升&副业有道",经常每天发现有价值的信息,坚持每周至少一篇原创分享。
来源:oschina
链接:https://my.oschina.net/u/4395251/blog/4458259