蜕变与梦想

上一篇最后提到了CI,CD和自动化办公环境。说的比较简单和草率,这并不是作为developer只要学会使用一些工具,使用工具只是一部分。让办公环境和流程自动化起来,其实是对整体质量有保障的思想。作为个体,难免有意识放松的时候。而在工作中主动配置CI,CD环境,或者自动化环境,都是程序员用心的体现。其实这些都是质量保证的一部分。想达到40美金起报价的程序员,不单单需要在主观上可以用心,并且还要建造一个客观上帮助和监督自己质量的环境。从大家熟悉的UT test到全自动办公环境,从一个人开发一个功能,到两个人开发同一个功能,都是这个目的。

对,我说的就是Pair-programming(结对编程)。敢与客户的工程师结对编程的人,才是真正的勇士。因为结对会将自己完全暴露在别人的眼 皮底下,自己的优点,缺点都会暴露给客户。东方文化和工程师文化其实对这个事情是有抵触的。而作为东方的工程师可能会更加的抵触。我们更习惯藏着掖着一些问题,不习惯将自己查Google暴露给客户,不习惯将查有道词典暴露给客户,更不想将从Stack Overflow的代码拷贝粘贴暴露给客户。也许40美金的程序员不需要结对编程经验,或许100美金以上的才需要。但是,尝试做一次结对编程。因为那真的很炫酷,而谁又不想报价可以到100美金以上呢;)。硅谷的很多Remote程序员采用结对编程,或者至少他们在团队开始的初期会采用结对编程。而对于一些重点业务难题或者技术难题的突破,他们更愿意使用结对编程。

Pair-programming将自己透明给自己的开发伙伴,而Retrospective meeting可以将团队做的好和不好的事情透明出来。组织或参加每个迭代的Retrospective meeting并且提出3点团队做的好的地方和3点团队做的不好的地方。有可能的话,也让你的客户参加,并且发表他们的看法。如果只是形式上的Retrospective meeting例会,也是没有意义的。但记录会议内容,经常回顾之前提出的问题是否得到了改善。当需要提高的事情持续的被消除,也说明你正在改善着自己,走在用心程序员的路上。

那么好了,如果我们都做到了这些,就能将报价提升到40美金了吧?很近了,真的很近了。只差一点,从用户角度和团队讨论需求,或者客户直接给出的是需求任务。如果可以更多的和客户讨论业务需求,而不是技术需求,再加上用心,我们developer的报价就真的可以从40美金起了。那个时候你会发现客户自己会放心的去休假,或者放心的让你去休假享受沙滩阳光。甚至是你们或者团队在相同的时间点休假。

如果我们回头看看是什么技能让我们自己可以提升报价?其实,开发技能只是占据了很少的一部分。而coding之外的软技能,沟通技能,世界观和对待生活的态度,更多的影响了自我报价的提升。期望这两篇文章可以引起我们对自身报价的思考,那这两篇文章的目的就已经达到了。