是的,我是一个旅行中的程序员。过去我每周工作 40 小时,每月拿 20 个工作日的薪水。但就在去年,我辞掉了工作,带上我的心上人,启程去看看外面的世界。
这些天我听到了很多、也读到了很多关于程序员如何遭受不公的待遇、不能获得最大的价值体现、被人利用等议论。但是,请听我说,我的程序员兄弟们,上天赐予了我们一个礼物,是一些其他职业不能真正拥有的东西。这就是工作的灵活性。你可以远程工作,你可以做自由职业,你拥有自己选择自己想解决的任务的权利。
是到了背起你的行囊的时候了,在加勒比海里,边写代码边品尝莫吉托鸡尾酒!
什么?!
但是… 但是… 我的事业前途怎么办?
这是一个很实际的问题,绝对的重要。做短期合同工也许并不会有助于你的事业的发展。然而,通过这篇文章,通过一些显而易见的弊端,我希望能告诉你一些事,让你的思想在这个问题上有个飞跃!
第一条第一点——每个人在心头都会思考的问题。
钱
你知道的我在说什么,这是让地球旋转的东西。那么,一个人如何能在旅游的同时解决挣钱的问题呢?好消息是,跟那些到海外教英语挣取最低收入的人不一样,程序员完全可以在外地干那些富有挑战性的工作和任务,并获得可观的收入。当然,你需要根据花费来平衡一下工作量,但很多国家都是非常有能力按小时支付程序员的薪水的。
在你打算乘机离开之前,可靠的做法是,在一些像 oDesk 这样的网站上找一些临时开发任务,在 Linked In 网站上提交一份个人简历。这样将有助于你在出行后尽早的找到可干的项目,而不必到时大减价来抢其他程序员的活儿(或消减自己的预算)。
很显然,你最好能拥有很吃香的技能,没有人能够在术业不精的情况下还能过上自己梦想的生活
我相信你,我亲爱的读者,一定是个很聪明的人,已经在以自由职业身份做项目的过程中掌握了挣钱之道。所以,就让咱们进入下一个重要的问题。
但是… 如何能保持我的技术不退步?
这是一个挑战。如果你的自由职业工作不能像全职工作那样推催你进步,那该怎么办?开源项目!
从来不缺乏你可以捐赠代码的开源项目。不仅如此,Stackoverflow 也是一个极好的地方,能让你在帮助别人解决问题的同时,增加声誉,提高个人形象。
我过去以为,开源项目是那些非常有经验、非常有水平的程序员才会做的事。不是的!开源项目的美就在于你能主动的去做一些事情,其他有好建议/经验/技术的人会很高兴的来帮助,向你的开源项目捐赠自己的力量。
这有一个好例子。我并不是 javascript 高手。我已经用了一段时间的 jQuery,感觉还不错,但如果你问我如何在 IE6 上、而不是 firefox 上如何运用X函数,我恐怕无法回答。有一天,我想到了一个很好的来使广告异步的方案。我决定把它放到 github 上。仅仅几个小时后,一个非常有经验的 javascript 高手就对它做了些修改(从我的方案中去除了对 jQuery 的依赖),提交了一个 pull 请求。这种感觉很神奇!
我说这些是要指明一个事实,你可以发现任何种类任何水平的开源项目,尤其是指 github 这样的平台上。它让你很容易去捐赠代码,我相信,你会享受这个过程的!
除了开源项目外,你可以在旅行的途中选择一些挑战/竞赛性质的项目,但要保证你选的活动是对你有吸引力的,能促进你进步的。比如,我想学 backbone.js 框架,而最近我选择的一个项目正是这方面的!
经常的阅读 hackernews 和 reddit 上的r/programming 能让你即使获得业内最新的动态。当然,你仍然可以做一些你上班时做的那些事情
对事业的促进
估计你没打算在旅行中去学习大量的管理学技巧或打算考一个 scrum 认证证书。然而,同时做多个项目,捐赠开源代码,在 stack overflow 上建立起很好的声望,这些绝对会让你名声在外。还有,你旅游,跟不同的文化接触,学到了新的东西,并没有成为一个乞丐,这也许是你未来的一个好兆头!
互联网连接
这一点完全不用担心。除非你去一个极其偏远的地方(复活节岛…)或古巴(糟糕的网络状况…)——你不会有什么麻烦。绝大多数国家都能提供互联网连接。在很多地方都有 WiFi 或 3G 服务提供。我的策略是,每到一个国家,先买一个能提供 3G 服务的预付费 sim 卡。我目前还没有遇到麻烦。
时间管理
如果你可以每周工作 40 小时、每天花 2 小时上下班,或者可以每周工作 20 小时而早上可以冲浪,晚上可以跳拉丁舞——你选择哪种生活?当然,你会选择旅游!
在墨西哥时我做了一个开销分析,得到的结果是每月每人 900 美元。
当然,管理好你的时间很重要,工作和生活都要丰富。现代先进技术现在就派上用场了。我使用 Wunderlist 管理我的代办,用 Boxcar 管理我的邮件通知(所有账户的邮件),还有其它的一些应用和程序来管理我应该做的事情。
如何管理服务器,如何保持联系
这些都是一些次要的问题,你并不是在一个及其遥远的地方。我使用 pingdom 来监控我所有的服务器,在所有国家里都使用 Skype 来转接我的电话,有很多方法能解决联系问题和管理问题,就像在家生活一样。
装备
这是个问题。什么样的装备是你真正需要的?我只有一个小的 1 公斤的苹果笔记本,这就是所有我需要的。说实话,即使一个旅行中的音乐家需要的装备都比你多。所有,别再犹豫,买张机票就行了!
我用了好一段时间才适应这种生活,我建议你最好带些积蓄。我无法想象还会有另外一个职业能像如今的程序员拥有这样的自由度。几乎每个我认识的人都有愿望要出去看看我们这个世界。
充分利用上天的这份赐予,在有这种能力的时候出去看看这个世界吧!
别再犹豫,改变你的人生!
英文原文:Programmers, it’s time to pack your bags!