/ 闭门造轮子 / 作为程序员从自由职业到远程工作三年记

作为程序员从自由职业到远程工作三年记

2016-09-18 posted in [闭门思考]

曾接受过两次关于这个话题的访谈(《社区访谈:自由职业者与远程工作那些事》、《自由是最大的向往》),不过在今年绿岛峰会上还是发现要自己把内容讲出来的过程里有很多不足,而且当时的时间太短,内容安排也不太合理,也有很多东西想完整的分享给大家,所以在这重新整理,也算是我将近三年自由职业的一个总结。

我自己其实已经不太记得什么时候被灌输有关自由职业的概念了,但第一次听到的时候就非常的向往:不用挤公交地铁按时去一个固定的地方上班,而是想在哪工作就在哪工作,想什么时间工作就什么时间工作,还有钱拿,简直就是梦想!

大多数人第一次了解到自由职业可能就是上面这张图片,只需要带一个笔记本在海滩上晒着太阳喝着咖啡就把钱挣了。然而实际情况有可能是下面这样的:

夕阳的余晖如一叶独舞,刹那间燃起半天韶华。我停下车,默默地挂起路灯。初春天黑仍然很早,七点左右进入河北境内,天已经完全黑了,国道上没有路灯。虽然不是头一次夜行,不过头一次不知道目的地在哪的夜行那种恐怖还历历在目。中午时吃剩了一份米饭、一包榨菜和一个鸡蛋,还挺欣慰,细细一想猛地一惊,米饭在轻纺路那郁闷的20公里处扔掉了。脑袋嗡地一声,有点眼花,赶紧刹一脚把鸡蛋吃了灌了几口水,稍停一会继续上路。许多次望见前方仿佛有灯光聚集处,隐约是村庄,靠近了一看,却只是一排排远处不知何处传来的微弱闪亮,似乎怎么追也追不上。当我把最后一包榨菜也吃掉时,脑子里只记得跟着那点点亮光走了。偶尔有货车从身旁呼啸而过,我会盼着想他们会不会因为我停下来。

晚上九点,终于在一个小村找到一个司机落脚点,管饭管住。阿弥陀佛,躺下之后感觉还不错,去他妈的客户,老子要睡了。

上面这是真实的案例,是我一个之前的同事曾和我同在 2013 年周游中国,与我坐车环游不同的是他选择了沿中国海岸线南下的自行车骑行之旅。在此期间,他每天白天骑行 100 多公里,晚上到落脚地又继续服务国外的客户。有时候也会选择露营,而笔记本的电力供给就来源于自行车的发电系统。

对于他的旅行我是无比的敬佩,虽然我之前也很向往边旅行边远程工作来赚钱,但真正开始旅行后发现自己的精力根本不够用,白天经常都在赶路非常累,晚上跟多用来和同程的朋友认识交流,还要整理照片,计划后面的行程,完全没有时间来工作,所以直接放弃先好好玩。

直到年底我回到家里,才真正开始思考自由职业这件事情。原因也很简单,之前的积蓄几乎被我花光,而了解到我们这样的三线城市 IT 行业并不发达,薪水差一线城市太多,所以准备自己接单来做。

之前了解过一些国外的自由职业接单平台,比如 oDesk 和 Elance(后来两家合并后又成立了新的品牌 Upwork),还在 Elance 上接过两单,但总还是感觉跨语言背景和老外交流还是很难。所以必须普遍的撒网,就像海投简历一样去撞大运,因为每个发布的项目只要能做的都有大量的其他人在竞争。在这样的平台上最难的就是在初期建立起个人信用,有时候为了接到一单不得不压低自己的价格,而且还要花很多时间精力和大量的雇主进行意向沟通,成功率并不高。于是在有其他渠道的项目来源以后,我完全放弃了这类接单平台。

这里说的渠道其实最主要就是亲戚朋友同事,因为至少有一个关键点——就是认识的人才会直接的给予一个人信任。而指望从陌生人身上获取同样的信任值,必然要付出几乎同等的时间代价,至少也需要已有的关系带来信用背书。

而在这些熟人关系中,亲戚朋友带来的项目又和同事带来的较为不同。同事都是在一起合作过的,基本上知根知底,了解正规工作的合作流程,介绍的项目一般都比较对口,即技术栈和工作报酬都很合适,需求方也会更平等合作,不太会拖欠付款。但亲戚朋友大多数很可能并不是处在同一个行业,对技术工作的认知波动很大,有的表面上很尊重但一谈价格脸色就不好看;也有的什么都想做,但预算又不多;如果遇到愿意听你专业的建议预算也能满足的,基本就是优质客户了,不然碰到延迟付款超过几个月的都是常事。比如我在刚开始的时候会有接近一半左右的项目来源是亲戚朋友,但过了几个月之后,就基本全部都是来源于之前同事了。

不过光把合作不畅快的因素推到客户和渠道上并不是个负责任的态度,渠道信任的建立来自双方的努力,也有一半的成因在承接的一方。想要得到靠谱的来源,那就得让别人知道自己也是靠谱的承接方。比如既然同事是最佳的合作来源,那么在和他们之前的合作中,是否也是一个靠谱的人。可以自省做事的时候是否态度真诚,能力可靠,以事实为依据,结果为导向,不夸大,不拖延等等。这其实是建立个人信用品牌的一个过程,而且是从每时每刻,方方面面,一次都不能大意。简单的说,就是要给合作过的人留下良好的印象,今后才会有更多更深入合作的机会。

然后根据这个思路,在下定决心要进入自由职业这种工作模式的时候,就应该在之前合作过的同事和客户圈子里去做一次自我宣传,最好可以通过一个个人网站来树立一个个人品牌,其中可以像简历一样罗列一些工作经历和技能水平,让看到的人容易记住一些亮点。比如我之前是一个前端工程师,就放了一些相关的项目经历和一些自己总结形成的一些开源库。同时也可以利用很多同行业的社区来宣传和推广,比如 Github 和 Stackoverflow 等。这时候,之前的圈子基本已经得知了我可以作为自由职业者远程接包的情况,如果在这些圈子里人际关系还 ok,那么他们一般都会留意身边的机会并进行推荐。

这段自由职业刚开始的时间可能会过的比较艰辛,一方面因为来源不稳定所以收入和预期会有较大的差距,又需要通过各种方法去打开渠道,什么项目都会去尝试谈一下,有时甚至会降低价格来获取渠道,精力可能会花很多在营销和咨询的过程里。但只要自身过硬,总会有一些客户可以走到成单这一步,成了的单再花时间做到令客户满意,离客户后续的下一单就不远了。因为对于软件来说,很少是不需要新的需求来推动继续发展的。到这个时候,可能已经获取到了一两个有长期合作意向的客户了。对于我来说,这大概花了三个月左右的时间。

随着项目经验的增加以及知名度逐渐在二度圈子里逐渐扩散,更多的机会出现了,我在这个时候接到了以前北京同事一份长期技术合作的邀请。虽然单看这个来源收入不高,但至少稳定了一部分产出,兼职参与的同时继续原来的模式,向外扩大机会来源。这段时间又坚持了半年,终于又有了新的转机,北京另一个与国外合作的团队需要全职的前端工程师,可以接受远程工作,之前的同事介绍我过去试试。和他们简单的聊了聊,确定薪酬以后,我就正式加入进去,也就是我一直工作到现在的团队。

上面浪费了很多时间让大家听我讲故事,不过其中有几个关键节点可以参考:

  1. 自由接单的渠道来源
  2. 信用和个人品牌的建立
  3. 从完全自由到固定远程工作的模式转换

至于具体到每个人比如说你自己要不要选择做自由职业,是有不同的动因的。不过从长远的职业生涯来考虑的话,我个人的建议是可以做短期的尝试,但最终会回到固定的工作状态。因为听起来『自由』的职业也不完全是那么美好的。

自由职业第一个问题就是时间管理。很多人其实包括我很多时候都会觉得好像更自由了,时间大把,工作可以自己随意安排来做,但这个自由其实也是相对的,因为客户的 deadline 始终就在那里。早上睡懒觉的时间,晚上就一定会需要加班补回来;工作日有其他的事情去办了,周末就别想再休息。的确在时间安排的自由度上自己有一些可控性,但是任务迟早是要完成,不过是朝三暮四而已。要保住自己的信用度,其实也就一句话,自己承诺的 deadline,含着泪也要加班完成。

当然相对的好处就是可以在任意地点办公,只要这个地方有电有网络。有一段时间我就经常去家附近的咖啡馆办公,因为邻居装修实在太吵。甚至有一天的工作为了陪家人是在洗浴中心做的。另外比如很多人向往的边旅行边工作,可以在热带的海岛上享受阳光,可以在雪山脚下的客栈里,听起来如同我在开头说的那样美好,但也会碰到前不着村后不着店风餐露宿的夜晚还要帮客户改 bug 的情况。其实这些都是特例,主要问题还是在于既然去到了一个用来放松的环境,还是好好享受更值得一些,非要工作的话,尽量只做一些不得不解决的事情。旅居这种生活状态,可能只适合于很少数的人。尤其从职业属性上来看,摄影师,撰稿人等这类人可能玩的同时就是在工作;但是相对程序员的工作,其实更需要安静无打扰的环境,老有分心事的话,人类大脑那点可怜的记忆栈是绝对不够用的。

所以从上面讲的所谓『自由』的时间和地点来说,都是各有利弊,需要自己权衡。要是从公司的角度来说,又有其他的判断依据。

虽然对于用人单位来说账面上的人力成本得到大幅度的降低,通常不需要办公室租金,很少需要负担员工的五险一金和各种税费,甚至办公器材都是员工自备,但是由于地域阻隔的限制,及时的交流和沟通就变得非常困难。大家都在办公室工作时,每伸个懒腰或者对代码的一句吐槽都能让所有人感受到,但是不在一起的情况下,彼此之间共享信息量至少就下降了几个数量级。即使全程开着音视频会议,也只能传达一些必要的信息,尤其如果只是为了看见对方,这种方式也会让双方都产生一种被监视的不适感,所以也无法长期执行。唯一的办法只能是双方都更主动的发起实时沟通,例如电话或视频会议,最好形成一定的机制来保证最必要的信息都得到有效的传达。

谁也不能什么好处都占到,这件事情上其实也是一种市场的博弈,总有一个平衡点在那给一部分人来选择。比如常规稳定的系统维护和正常升级开发等,要求时效性较低沟通较少的工作,这样选择就更适合;而要求快速反馈和一直修改需求的早期产品,可能不那么合适。

如果不是处在一个合作团队,而是自己单兵作战的话,的确就不需要更多团队间的沟通。这当然就默认自己必须是个特种兵,能够胜任各种任务,作为程序员来讲,至少就是一个现在说的最流行的『全栈工程师』。各方面的技能树都会需要被点开,而且一旦有不擅长的也需要快速的学习,因为没有团队分工中的其他队员来帮助承担。所以学习能力也非常重要,当然这即使不是自由职业也是必要的。

而且受限于个人精力,自己一个人也不会接到规模过于庞大和复杂的项目,通常都是很小的单,我在开始那段时间从几千到上万的单子都做过,但谈过最大的单子都没超过五万。因为到这个量级以后,客户也会考虑一个人做是否靠谱,更重要的是时间上,只有一个人的话就需要更长的时间来完成,而市场的需求不一定能够接受这样的等待。从个人的角度看,超出自己能力范围的项目也就意味着更大的风险,流程周期长,再遇上类似部分涉及政府的项目回款困难,很可能就要几个月揭不开锅。

其实说那么多,也就是想告诉大家自由职业这件事里面有利有弊,别光看到光鲜漂亮的一面,个中艰辛也只有尝试了才更能深刻的体会。到这里我还是做个总结,方便一些懒得看我长篇大论吹牛扯淡的读者:

  1. 什么是自由职业者?狭义的说主要是不受限于地理位置和时间自主工作的专业人士,代表行业有摄影师,撰稿人,程序员等。
  2. 为什么要做自由职业?我个人的理由是为了获得没有地域差别的薪资水平。
  3. 成为自由职业者要做哪些准备?准备好心态,专业技能,人脉资源和一定的积蓄。
  4. 自由职业要处理好哪些问题?时间管理,有效沟通,个人品牌建立。
  5. 适合自由职业者的事情有哪些属性?周期短,回款快,专业度高,需求明确,规模不大的。
  6. 从用人单位的角度如何看待自由职业和远程工作?对自由职业者一般是短期临时需求,如果自身业务有长期稳定规律化的工作任务,可以通过招募远程工作者降低用人成本。

再讲讲做自由职业这三年来的一些感受,由于我正好在自由职业期间装修了一套房子,对装修这个行业也是感触颇深,所以挺喜欢把程序员和装修行业的工人相对比:所谓自由职业也就是游击队里的临时工,别的团队有项目了就叫上一起;当合作的项目多了要是自己的口碑还不错就会接到整套装修的工程,就需要召集不同工种的小伙伴一起团队作战;要是整个施工队干的活都能让大部分客户满意,通过互相介绍单子必然源源不断,这时候可能又要成立正规的装修公司,去接更大的工程;顺利发展的话队伍继续扩大,总有一天开始去做品牌和知名度,最终成为了一家行业内专业的大公司。这样的职业路径基本相似,所以只要是希望自己在职业道路上一直发展下去,自由职业可能只会占很短的一部分时间,特别如果做的事情的发展趋势是集团化规模化的话,必然要和更多其他专长的人一起合作,从而走上『公司』(cooperation)的道路。即使是我认识的一位摄影师朋友,照片拍的非常棒,可以说是本地的一流水平,按说他这样自己接单干的总应该算自由职业了吧,可是从去年开始成立工作室,今年规模又在扩大,这样正规化发展的道路仍然不可避免。

可能真正可以称为自由职业者的人,都是在权衡利弊之后仍然选择更自由的方式的人。我虽然已经算是个远程固定工作者,却依然向往自由。到现在,我更加明白的是,通向自由这条道路并不轻松,充满了艰辛与曲折,可能会穷尽一生,但值得追求。