怎样成为一名优秀的程序员?

同样是程序员,为什么别人比你更优秀?我结合自己的一些经历和经验,以及从身边优秀的人身上学习到的经验,从主观上去总结几点。

1. 站在巨人的肩膀上

我们平时在开发的时候,会遇到一些功能上的东西要实现,当然咯,如果开发经验丰富,基本知道用什么技术去实现,但是对于开发经验不足的朋友来说,首先不要想着自己去造轮子,除非是非常冷门的一些技术,否则绝大多数现在互联网上都有了较多的解决方案,我们可以用来参考改进。软件开发,说的诙谐一点,就是 copy+改。因为工作不是学习,它是有deadline的。

还有一点,我们开发一般都会有很多类库,同一个功能可能有多个类库都可以实现。就像移动、联通和电信都可以满足你通信的需求一样,但是你选择哪一个,就看你自身的需要了。我们在实现某个功能的时候也是,如果能够选择一个很好的开源类库,那么必将是事半功倍,不管是从效率和稳定性上来说,都比我们自己实现要好得多。所以我们要站在巨人的肩膀上。

2. 了解数据结构和算法

就像武侠小说里说的那样,招式只是形式,要练神功,必须懂心法。数据结构和算法就是所谓的心法。我不是说要去掌握所有的数据结构和算法的原理以及实现,这也不太现实,但是那些基本的、经典的我们需要去掌握,甚至可以自己实现。这是内功。

现在好多面试也会问这些东西,特别是针对于应届生,不管你是本科还是硕士,基本上数据结构和算法的东西是必问的,如果你还不知道什么是二叉树、什么是快速排序,如果你还不知道什么是时间复杂度的话,那么确实要给自己充充电了。

3. 写代码要规范

也许我一开始学编程的时候,就跟着一些视频教程的缘故,受到那些大牛的影响,所以一开始我写代码就比较规范。我们写代码一定要规范,这也是一个人有没有一个良好的习惯和态度的体现。最起码,可能你同事也会看你代码,请善待同事,程序员何苦难为程序员。

4. 不停地给自己充电

我们不能一直啃老本,干软件这一行,技术更新非常快,今年上半年学的技术,估计下半年就有了新的版本,我们要一直不停地给自己充电,不停地学习。哪怕是不停的总结自身不足,也比停滞不前要好,最起码自己没闲着。

我们还要有一定的忧患意识,公司每年都会输入新的年轻血液,有初学者,也有牛逼人物,我们不要让雇主逼着自己去学习,自己要有主动充电意识,这样才不会被周围的人给超越,才不会给后来者给超越。但是这都不是最根本的原因和出发点,最根本地,还是为了提升自己的能力。

5. 计划、坚持与执行力

我一直认为,一个优秀的人都应该是好的时间管理者,不管我们现在的能力如何,如果我们能合理的安排时间,分清主次,步步为营地去执行,坚持下来,我们肯定能收获很多,而且进步很快。

你可能感兴趣的:(怎样成为一名优秀的程序员?)