优秀程序员的特质

249 阅读4分钟

工作多年,一直在思考怎样成为优秀的程序员,我总结了优秀程序员身上的四个最重要的特质,与诸君分享,欢迎讨论交流~

保持学习

程序员是一个需要终身学习的职业,技术变化日新月异,新人如过江之鲫般不断涌入,行业门槛也水涨船高。如果程序员只是在工作中浅尝辄止,就很难保持自己的竞争水平。

我们最要拒绝的是那种只满足于工作中的业务开发,不思进取的程序员,他们活在自己的舒适圈中,很难带给业务上大的突破,却把自己活成了螺丝钉。

优秀的程序员能不断去学习新技术,使自己的编程水平逐步提升,并且能实际指导业务开发,带来创新型的突破。

如何保持学习,对个人来说,是要养成自律,即便公司没有提供学习的条件,也要利用业务时间自驱学习,对公司来说,是要营造学习型组织,打造一个让员工愿意去学习并主动分享的氛围。

如果一个程序员能加入一家技术型驱动的公司,这是非常幸运的事。

熟悉底层

技术知识浩如烟海,但不变的永远是底层原理,对底层原理的掌握决定了一个程序员水平的上限。

对于非科班出身的程序员来说,尤其要注意这一块的学习,如果觉得自己能对付得了工作就停滞不前了,那么很容易导致被淘汰。

底层知识包括数据结构和算法,操作系统,计算机网络等等,这里面每一块都可以学的特别深入,也很耗费时间。比较好的学习方法是,在工作中用到某一块知识了,就尽量往深处研究,这样可以不至于让底层知识的学习过于枯燥。

学习时也要注意知识的系统性,尽量形成知识体系结构。学习遵循飞轮效应,指为了使静止的飞轮转动起来,一开始你必须使很大的力气,一圈一圈反复地推,每转一圈都很费力,但是每一圈的努力都不会白费,飞轮会转动得越来越快。

注重实践

当今时代,信息大爆发,我们可以从各种各样的渠道去获取知识,但也造成了一个困局,太多的知识仿佛把我们给淹没了,我们不知道该如何选择。

之前提到的底层知识学习是一个解决办法,这可以提高程序员的上限,上限提高了,自然看问题的角度就高了,对各种信息也有了自己的判断,懂得如何去做甄选资源。

除了底层学习增加内功之外,另外一个方法就是多去实践。学而不思则罔,思而不学则殆,知识很多,光看不用就很容易成为过眼烟云,把学的东西用上,真正变成自己的,才能对某一块内容有全新的领悟。

多去思考知识的实际使用场景,并尝试在业务上加以应用,即便工作中用不上,自己也可以写一些demo,做一些开源项目等等。

此外,以教为学也是一个很好的检验自己是否掌握知识的方式,多尝试总结和输出,同时这也是构建知识体系的好的方式。

参加开源

github社区上有非常多的开源内容值得程序员们去探索,这是非常好的去提升自己技术能力的平台。

如何利用好GitHub呢?

首先,可以去学习优秀的项目的代码,编程很多时候就像写作,看的多了,厚积而薄发,下笔如有神。

其次,为开源社区贡献代码,如果有自己感兴趣的项目,可以把自己当成开发者,给作者提交代码。经常有程序员抱怨说每天都在CRUD,没有提升,但成年人要为自己的成长负责,提升的机会是要自己去寻找的,参加开源项目就是一个好的办法,这是摆脱CRUD的途径。

最后,做自己的开源项目,把自己的一些技术想法付诸实践,并且做一些推广,把自己的项目的价值体现出来,并邀请更多人参与。这也是打造个人品牌的非常好的方法。

开源不光是体现在代码上,还体现在心态上。程序员们要学会拥抱变化,用open的心态去学习技术,不是为了某些功利的因素去学习,更是为了去成为更好的自己去学习,抱着这样的心态,久而久之,我想也能成为是非厉害的人了。

我的更多职业感悟文章,可查看专栏《职业发展》