在我离开第一份工作之后,我一直在思索自己在上大学之后所做的每一件事情。我没有后悔做开发,我现在依然热爱这一个职业,但是仅仅是热爱还是不够的。我们需要了解市场的需求,了解开发的各个方向,早点做职业规划。在工作后,我曾非常后悔自己在算法学习上花了那么多时间,因为在绝大部分种类的工作中,我们并不会经常自己写算法。我甚至觉得自己应该再也不会练习算法了。

但就在停下来的这些日子里,我慢慢接触了《剑指offer上》的一些算法题,在没有压力,纯粹是当作练习c++的情况下,非常轻松的解决了好几道题。这样愉快的经历,让我对比回想起了准备ACM的痛苦岁月。程序设计竞赛是非常复杂的。正是这种变态的复杂性抹杀了普通人对算法的原始热爱和好奇心。但更多的原因是自己当初练习的方式不对,不应该求快,每一个点都应该吃透,思路才是最重要的,过于纠结语法与代码实现没有好处。让自己全身心投入练习算法中也不对,还应该学习其他有联系的东西,像编译原理,编程语言的高级主题,调试技术,操作系统基础等。将这些东西学好,它们会回报自己,使得编码更快更优雅。当年一味地扎进算法中,占用了过多的时间,在现在面试的时候,我的简历能打动面试官,可就是过不了C++语法这一关,现在笔试或面试总会考察C++11的新特性或问boost智能指针等问题,如果不关注这些,将很难通过笔试和面试。

现在回过头来看以前接触过的算法问题,我发现如果很好的应用C++的黑魔法,比如模板、智能指针、算法库,可以减轻很多编码实现上的烦恼,让我们专注于逻辑(python也是一门非常优秀的语言,适合新手入门,也能实现常用的算法)。将算法当做游戏,没事玩一玩,优化代码和思维,如果能把它当做一种习惯,那么改变迟早会发生 —— 咳咳,我妈又在唠叨了,思路差点断了。说到哪里了,哦,习惯!都说优秀的习惯改变人生,这是不变的真理,坚持一件正确的事情,他迟早会回报你,回报的时间不确定,但是它迟早会带来积极影响的。我们在做简单应用或许不需要实现复杂的算法,但是规模一旦变大,在时间,空间上的要求一旦提高,我们就需要更加优秀的解决方案。到时,平时的小小爱好便能给我们带来巨大的帮助。我常常将自己想象成篮球运动员,在年轻时是学东西最快的时候,成长是最重要的,中间会有一个成熟期,去争夺MVP吧(追求更高的物质生活),后期可以转型做篮球评论员,教练,经商(开发生涯末期的转型)。不知道这样的想法是否幼稚,现在自己的确是这样想的。希望所有人,坚持初心,不被世界改变。

分类: career

发表评论

电子邮件地址不会被公开。 必填项已用*标注