【外刊IT评论网】我的作为自由职业者的那些日子
2006年夏天,一个朋友告诉我,我可以在一个叫做Rent A Coder(现在叫做vWorker)的网站做编程,挣些外快。我当天就注册了。由于在一个项目上耽误的时间,没有来得及做,我就对“编程挣钱”的想法失去了兴趣。我几乎忘记了这个事儿。
很快两年后,我在北美洲的一个大学攻读博士学位,身上只有一种学生的visa卡,口袋里空空。很多月里,我都是靠学校的奖学金维持生活,直到有2个月,他们忘记了给我打款。哦,一个半月只吃大米的日子真是享受… 很糟糕,也很刺激。
这段“黑暗”的日子让我意识到,我应该干点什么来防止这种日子再次发生。我一直很喜欢编程;我的博士攻读的是计算流体动力学(Computational Fluid Dynamics)的编码方法。我的不足?我只会Fortran这种一种语言,对C语言只有初级水平。当然,我非常擅长写小的Bash和awk脚本,能用来处理我的数据文件,我知道的也就这些了。
我重新激活了Rent A Coder上的帐号,开始寻找一些小的项目。我的第一个“项目”是一个区区5美元的C程序,为了这5美元,我给这个挑剔的客户干了1个星期(对于新手,这是个好事,一个挑剔的客户会督促你实现更强健的程序,提高你的水平)。一周后,我提交了代码(用来统计任务的,通常的输入数据的文件会有10-100MB),还要完成“C语言(第二版)”这本书里的所有习题:-)。
我以一个只知道写简单的“Hello World”的初学者开始了我的这个C语言项目,到了一周的结尾,我已经学会了使用C语言,能用它来处理大型数据流。当然,我的C程序都是以Fortan为样板,依葫芦画瓢出来的,在我的博士项目里也是这么干的。我对Fortan非常的熟悉,1999年我就参加了Fortran学习的课程。
从这第一个C语言项目后,客户开始每周都给我一个C语言任务,我要的报酬越来越多,因为任务开始变的复杂(使用Liunx上的系统程序包做并行程序编程)。此时,我也开始研究C++了。
我学东西很快,这是我跟其他竞争者比较时最大的优势,因为我的数学很好,运用这些知识我可以在几天内学会一门新的语言。我非常积极的寻找新的项目,第一年我干的非常努力和辛苦。
头一年末尾,在Rent A Coder上,我已经能从一个新项目上挣到100美元了。我从来不拒绝新客户:要做一个Flash和ActionScript的交互式凸显程序?没问题,我几天就能学会…Processing?这是什么?哦,OpenGL方面的,没问题,我可以做。Python,Ruby,JavaScript,C#,Matlab。那是一段很刺激的时期。
另一方面,作为一个新手,你需要跟那些具有各种经济水平的程序员竞争,这会使价格拉的很低,一个人不可能靠做这些项目为生。竞争在初级水平层面上尤为残酷,特别是挑剔的客户只愿意出10美元,还要不停的往项目里加新的需求。
做自由职业的第二年,我不再任何项目都接了,我开始挑选客户,接每个项目愿意出至少要500美元的客户。这样的交易不错,一个月4到5个项目,在加拿大,我的收入也算中等水平了。后来我也开始挑选项目了。很烂的项目不再接受。这感觉很好!
2年多来,我已经从每个项目5美元,到了一年3到4万美元了,我对编程的知识突飞猛进,我还参加了数据结构的课程。我在那个网站上已经跻身前500名了(总共有20万会员)。这来之不易,有时候我需要每天工作8到12小时来完成一个项目,或学习一种框架。
现在,我有了一些私人客户,可以直接给他们干活,我有充裕的时间来做自己的一些事情,例如开一个编程博客,写一个Scheme语言的解释器,或写苹果应用商店里的程序。我偶尔的还到那个网站上干活(现在叫做vWorker里),只做一些有兴趣的项目(通常是并行程序编程和图形计算)。我不需要再四处找项目,现在我可以竞标参与我感兴趣的项目。一旦你能跻身前100名,你基本上就能自己定价,只干自己想干的项目了。
但这最重要的你要知道的是,做自由职业只是你事业的第一步,你的最终目标应该是挣一些具有主动性的钱,例如开发苹果应用商店程序或直接面对你的客户,而不是一辈子干的活都是去实现别人的梦。
本文来自外刊IT评论网(www.aqee.net),原始地址:我的作为自由职业者的那些日子