一、自我修养路线图
如图,这是笔者所走的路。且不论这路走的对不对,这个过程中行业环境会影响到你,大可不必钻牛角尖。附上这张图的目的是为了说,如果你想成为一个优秀的程序员,那么你一定要有规划。当然,别想着一毕业就能规划的很远,很难,而且也不可能。因为这个过程中行业环境会影响到你。有一点是要做到的,毕业一年左右,一定要有一个相对远一点的规划,这时候你已经对行业环境和一些常用技能有了相应的积累。规划一下接下来1-2个阶段(或者更多)要达到的水平和时间点,然后倒排期(尽量详细),一步一步走下去,水到渠成。再往下,你肯定就有自己的想法了。一般,关注几个时间点是:毕业3年、毕业5年。再往后笔者也要摸索。总之,一定要有规划,循序渐进的规划。附录中有些文章也许对你我有帮助。
二、程序员知识图谱
不管你用什么方式(思维导图、图表、文档等)一定要有自己的知识图谱。为什么?
- 知识网络:知识之间发生反应,有利于更快的利用知识解决问题;
- 良性循环:知识体系->知识漏洞->知识学习->知识体系...
三、优秀程序员的几个特质
- 自学能力强,互联网行业知识的更迭速度快,没有很强的学习能力和主动学习能力,会越来越力不从心,最终...
- 逻辑思维能力强
- 同样的业务逻辑,别人用50行代码实现,你却用100行,为什么?
- 知识面相同,为什么别人可以借助这些知识找到问题的解决方法,而你却不可以?
训练方法:
- 技能实践,一项技能,不单单只是学会就行了。多实践,工作中无法体现,也要构造场景来实践。印证其使用场景、优势和劣势。
- 问题复盘,别人用你知道的知识解决了问题,而你没有,想他请教。复盘,走一遍他的思维过程。另外,查询资料,思考下有没有更好的方案。
- 知识碾压,你的知识比别人高出一个层面,及时逻辑思维弱点也能够用很好的解决问题的方案。
- 逻辑训练,有事没事多做一些算法题和一些逻辑推理题,做的多了,思路就广了。
- 搜索+综合运用能力强,能快速查到的知识,只有能很好的综合运用即可,减少学习成本。
- 执行力强,想好了就去做,拖拖拉拉,终将蹉跎岁月。
- 抗压能力强,好的公司,工作强度大,而且不允许犯错,一旦出现线上事故,是你不能承受的。
- 善于总结,一个需求不是做完了就完了。总结一些收获和教训,这都是难得的经验积累。一个问题从出现到解决,复盘,整理出文档。坚决不要在一个坑里跌倒两次。
- 分工合作,或许一个人走的很快,但一群人能走的更远。
四、如何保持技术的先进性?
- 经常浏览招聘网站;
- 关注一些行业和技术公众号。
五、如何快速学习一项技能?
- 百度或谷歌科普 -> 是什么、场景、用途等;
- HelloWorld很重要,去官网,先写出一个demo;
- 结合官方文档或者优秀的中文教程针对性(你要用它来干什么)学习;
- 实现原理,甚至源码。
六、为何而编程?
使命
难道只是因为你是计算机相关专业出身吗?不然,既然从事软件行业,还是要有使命感的。国内软件行业的蓬勃发展,对你我而言赶上好时候了。在这个浪潮中,何不学有所用,为中国的软件行业做些贡献呢?为中华软件之崛起而编程,共勉。这是态度,也是使命。也许一开始可以影响一个人,渐渐的能影响更多的人,更多的人影响更多的人,我们国内的软件环境才能呈现可持续的正向发展。
愿景
但愿程序员皆因喜欢而编程。不然你得多痛苦。另外,程序员这个职业是可以做很久的,不是吃青春饭的。