程序员效率的奥义

简介: 为了提高效率,我特别重视如下几点:工具化、预见和练习、打破惯性和让你身边的人也高效起来。

自我感觉还是蛮在乎效率的人。为了提高效率,我特别重视如下几点:


工具化
我是个典型磨刀不误砍柴工的人。

2011年的时候,在开发一个项目前,我先花了几个礼拜自己开发了一套Web框架。

因为我之前做过一段时间的Ruby程序员,一对比,我发现,Java的Web框架都太不好用了,Java的ORM框架也不好用,Java 的MongoDB Client 也不好用。于是我决定开发一套一站式Web框架。

正好除了搜索的任务以外,公司希望做一个全站通用的标签系统。当时在选型上,老大说用Spring,我当时说,给我点时间,我自己开发一套开发框架出来,老大说,你有信心做好么,我说有。老大给予了肯定的答案

来自:这些年,我工作上走过的路

这套Web框架就是ServiceFramework。自己现在很多开源项目也都是基于这套Web框架是做的。比如StreamingPro编译的时候依赖的Web库是ServiceFramework,配置引擎则是ServiceframeworkDispatcher,都是自己非常常用的工具。

其实都是造轮子,然而这些轮子我们先不说它是否优于其他相似的开源项目,至少我对它们是把控力的,而且解决的也是我工作中比较常遇到的问题,所以用了起来特别的顺手,自然也就效率很高。

所以,积累自己的工具库,是非常有必要的。再提下刚才的StreamingPro,它的诞生是为了解决我使用Spark的问题。而为了解决运维相关的问题,我和同事也做了非常多的工具,有些我们花了一年以上的业余时间在持续完善。


预见和练习
虽然很多人似乎不Care所谓语系,不Care所谓工具,总觉得自己掌握了开发的真谛,其他一切我只要用的时候学下就能搞定了。

实际真不是这样。我们还是以语言为例,我学Scala只用了几天时间。在等火车,以及在火车上把官方的tutorial 看完,觉得差不多了,然后写了些简单的程序后,就能写一些业务了。然而我真正用顺了,用的不堵了,却花了几年的时间。对于一个不趁手的语言,代码质量是否能保证我们先姑且不论,其实也严重影响了开发效率。

所以我工作中潜在的可能会用到的东西,我都会先花很多时间去调研和练习,等真正用到的时候,就能如鱼得水,随心所欲。比如Scala,我早先只是简单用了下Spark,我完全可以用python或者Java去开发Spark 应用。但是我觉得Scala是有必要学习的,所以我花了很多时间去做练习。所谓练习其实就是真的把他应用到项目上。我之前有很多项目是java/Scala 混合的,这就为我后续对Spark Core的研究做好了铺垫。

所以对于一个程序员,对于自己工作技能的预见性能让你未来越来越游刃有余,而高强度的练习,则保证你做事情可以做的很顺手,不会用起来畏首畏尾。


打破惯性
所谓语言之争其实某种角度是守旧势力之争。每个势力都不愿意深入到别的地方看看,然后就说自己的地方是最好的。程序员是拥抱变化的,体现在程序员常说,一天不学习,就感觉自己进入了古代。然而程序员又是害怕变化的,对于自己不熟悉的东西,总是会比较排斥,这或许也是人类的天性。

尤其是在时间比较紧张的情况下,我们会常说,用最笨的办法先把这个解决了吧,这其实是在用蛮力替代一个良好的思考。好比命名可以用一个for循环解决的问题,你非要复制黏贴100遍。

所以,喜欢调研和测试新技术的程序员,往往是具有打破惯性的特质的群体。他们在不断的尝试过程中,不断的更新换代自己的武器,让自己保持某种先进性。这就好比一个国家不断更新自己的武器装备,一家工厂不断更新自己的机床车间。


让你身边的人也高效起来
这个是我直到今天才感悟到的。我一直努力让自己更加高效,不让时间虚度。然而当我们面临越来越复杂,越来越繁琐的任务时,我们不得不借助于团队。道理我都懂,然而却一直不上心。我们一直说团队是最重要的,然而我们终究并没有把心思完全放在团队上,为了自己的那点小九九。

只有身边的人也如你般高效,才可能释放出你来去做更多让更多人高效起来的事。更多的人更加高效,即节约了他们的生命,也反过来再次让你变得高效。

当你能够让身边的人也越来越高效,或许你就真的到了高效的最高境界。

目录
打赏
0
0
0
0
110
分享
相关文章
通过对比普通开发者与大牛们的学习策略,揭秘他们高效学习的秘诀
前端技术日新月异,大牛们如何保持竞争力?本文对比普通开发者与大牛的学习策略,揭示高效学习的秘诀:明确目标、主动探索、系统资源、注重实践、持续学习。通过这些方法,大牛们能快速掌握新技术并应用于实际工作。
107 5
代码之舞:编程艺术与效率的探索
【7月更文挑战第18天】在数字世界的广阔舞台上,编程不仅仅是一项技术活动,它更是一种艺术,一种将逻辑思维与创造力结合的艺术。本文将带领读者走进编程的世界,探讨如何通过理解编程的本质、掌握关键技巧和持续学习来提升编程效率和质量。我们将一同见证,如何在代码的海洋中航行,不仅追求效率的极致,更要追求代码之美。
《高效率程序员的45个习惯》读后小总结
《高效率程序员的45个习惯》读后小总结
43 0
优秀程序员的学习习惯和方法你都不知道,还学什么编程
好的学习习惯和方法会让你的工作事半功倍,快来看看你还差哪些
88 0
优秀程序员的学习习惯和方法你都不知道,还学什么编程
身为程序员,你有哪些提高写代码效率的黑科技?
身为程序员,你有哪些提高写代码效率的黑科技?
要学的东西太多,自己能力不足,很焦虑怎么办
总有人问我,兔哥,现在java要学的知识点这么多,记不住,怕学不精很焦虑怎么办? 这是很多初学者都有的痛点。 其实吧,你可以试试贪多而不必嚼烂。
213 0
软技能,程序员编程之外的升值之道!
程序员,除了编码之外的软技能有哪些呢?《软技能——代码之外的生存指南》33岁实现职业自由、财富自由的作者给出了解读。
6508 0
软技能,程序员编程之外的升值之道!
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等