学习是一个螺旋上升的过程,在这个上升过程中, 成就感很重要,直接决定了个人能不能继续学习下去。我在刚开始学习 C语言的过程中就因为没有成就感,差点放弃了。
通常来说,带图形界面的程序容易激发成就感,如果再带上游戏功能和网络功能,那就更吸引入了。 但是,仅仅靠大学里所教的 C 语言是搞不定这些的。
对于程序员来说也是如此,如果你看到新技术、新产晶没有像小孩看到新玩具那样两眼放光,没有立刻在自己的电脑上试试的冲动,你就需要仔细考虑-下是否真的对软件开发 有兴趣。如果根本没兴趣,那不要浪费时间,还是趁旱转行,有更多适合你的职业在等着你。
没奋好奇心,就不愿意追本溯源,追求技术的本质。
没育好奇心,就难以静下心来,耐得住寂寞,远离浮躁,更难以跨过这个行业所带来 的种种挑战,走到架梅师这个位置。
没育好奇心,就不愿意学习新技术。一包架构师,如果没高对技术的敏感度和前瞻性, 一直抱着一套技术架悔不变,估计很快就会被淘汰。
我们在大学里都学过计算机的组成原理、操作系统、 编译原理、计算机网络、数据库、 汇编语言,能不能把这些知识融会贯通,打通任督二脉,在我们的脑海里建立一幅计算机运 算的图景?
养成计算机的思维方式,流畅地把人类语言的需求转换成计算机语言,这是程序员的 基本功。
很多人会语法,也懂框架,但是在基本功上却不过关,因而只能在初级程序员上踏步。
这个基本功的训练就是数据结梅和算法,我的经验是多做习题,让这种思维在脑子里 固化,以后的编程就可以信手拈来了
写出漂亮代码并不窑易,需要思路清晰,育良好的编程基础,有优秀的抽象能力,以 及对一门语言的熟练掌握。
对自己狠一点,开始写作吧
我时常会有这样的感觉:自己心里觉得对一个技术点已经掌握了,但是当我试图给别 人讲述的时候,发现并不能轻松自如、深入浅出地讲出来。
这就说明了一个问题:自认为掌握了,真实并没有真正掌握,大脑只是对这个技术点 建立了一个整体的概念,在一些细节处做了想当然的假设, 等到你用语言再来表达的时候就
会发现,原来这个假设并不完全成立,是辛辛问题的。
估计大家都有这样的经验:如果你能把一门技术通俗易懂地给别人讲明白,那就说明
你已经掌握了。 这种“转教别人( Teach others )” 的办法属于主动学习,效率是最高的。但 是在工作平日生活当中,你是很少有机会去给别人讲授的。