点击上方“CSDN”,选择“置顶公众号”
关键时刻,第一时间送达!
作者 | 安晓辉 & Gabriela Motroc
整理 | 苏宓
时间灵活、没有规章制度的条条框框、也可以根据自己的兴趣爱好选择、或许更重要的理由是所获得的薪酬会比全职工作者多得多,于是很多从业者纷纷选择了自由职业,程序员也并不例外。
但想要成为一名合格的自由职业者并非一件易事,且在科技圈中对专业性的要求会相对更高,然:
什么样的程序员适合做自由职业者?
走向自由职业需要提前做好哪些准备?
成为自由职业者开发之路有什么的难点?
具体哪些开发技能更能有好的前景?
对此,CSDN 博客专家安晓辉根据自身多年的自由职业经验,为大家一一揭秘那些成功背后的辛酸史,也希望能为走向自由职业的开发者提供一定的参考价值。
为何会成为一名自由职业者?
作为一名三十而立的开发者,你会组建家庭、买房还贷,上有老人赡养、下有孩子待哺,你需要越来越多的钱,才能凑凑合合地安排好自己的生活。
然而在公司工作到一定阶段后,总会遇到一些问题:
即使你的技术水平越来越高,对公司的贡献也越来越大,客户却始终是公司的。而公司为了控制人力成本,必然会设定一套严密的薪酬体系,把每个员工的价值框在预算之内。
这时候,固定的薪水,朝九晚五的节奏,很快成了羁绊。于是,你开始向往「想干什么干什么,想怎么赚钱怎么赚钱」的生活,自由职业成了你颇为向往的选择。
那么,问题来了:作为一名开发者,该如何走向自由职业呢?
走向自由职业的 4 种常见方式
技术出色的开发者,通常具有下列能力:
软件开发:即针对特定领域问题,运用思维、分析、设计、想象力等寻找答案,通过语言、技术框架、工具等编写软件来实现答案的能力。
讲授:即把自己明白的技术、软件、解决方案等展示给别人并让别人也明白的能力。
咨询:即通过你所储备的知识、技能、经验、框架等帮助别人解决问题的能力。
写作:热爱分享的开发者还会拥有这一项核心竞争力。
软件开发、讲授、咨询、写作这四种能力,构成了开发者走向自由职业的 4 种常见方式。
软件开发
很多开发者都听说过「私活」,也接过私活。所谓私活,就是个人通过某种途径承接的软件项目,相对于公司的「公」而言,这种形式被称为「私」,现在这种方式还有很多说法,比如外包、众包、任务等。
这是我们开发者走向自由职业的最常见方式。
我个人帮助别人修改过开源代码,用 Qt 开发过 PC 端软件,对这种方式有一些体会。除了软件开发,你还需要下列能力:客户开发、商务谈判、项目管理。
这种方式很直接,不断开发客户,承接项目,赚取报酬。其好处是:你获得的报酬是按项目金额来的,而不是按月薪。套用某二手车买卖平台的广告语,没有中间商赚差价。
想想看,你在公司,一个项目是 100 万,你一个人一个月搞定了,也还是拿三几万的薪水;而如果你自己接到这个项目,一个月完成,那你这个月就赚到 100 万(暂不考虑增值税、个人所得税等隐性成本),天差地别对吧。所以,独立开发软件项目是诱惑力很强的方式!
这种方式也有一些比较困扰人的问题:你并不总是能接到项目。需求可能不断变化,你需要直接面对这点,还要管理这种状况:项目款不一定能及时到账,尾款也不见得能收回来。
还有,如果你想独自承接稍大一点的项目,你还需要注册一个公司来承接项目(稍大点儿的项目都是公对公),拥有一家公司,也会产生一些成本,比如代账、房产税、企业所得税等。
不过现在的众包方式,会好一些,像解放号、云沃客、码市、程序员客栈等平台,都有使用这种方式协作的项目,你只要做你擅长的事情——软件开发——就好了,别的事情由别人或平台来完成(你需要支付平台一些提现费用,一般10%左右)。
讲授
如果你具有良好的讲授能力,就能把自己在某个技术栈上深厚的积累换一个形式变现:讲课。
没错,你可以把自己学精学透的技术讲给别人听,把别人教明白。这是非常有价值的事情!
很多人在初学某种技术时都需要好的老师好的教程帮助他们跨过从不知道到知道、从知道到做到的距离。
IT 技能类的课程,能帮助别人掌握一技之长,帮助别人赚到钱,需求一直很旺盛。这些年线上的平台发展很快,很多学员也愿意低成本在线学习,比如 CSDN 学院等教育平台。
我个人录制过 Qt 和 Node.js 方面的课程,放在 CSDN 学院出售,有些 3 年前的课程,现在还有人购买。
如果你可以运用讲授能力,把自己的技术积累转化为在线课程,就可以利用在线教育这种方式实现自由职业。
这种方式有几项好处:
启动成本低;
受众面广;
一份时间卖多次,想象空间大。
写作
2013 年下半年,我恢复了 CSDN 技术博客的更新,专注分享 Qt 技术,很快成了 Qt 领域的知名博客,被不少人关注。后来一些文章被编辑看到,联系我出版 Qt 方面的图书,于是我通过 《Qt on Android核心编程》和《Qt Quick核心编程》等图书建立了影响力和品牌,反过来博客也因此拥有了更多的访问。
2015 年我开通了微信公众号,一周更新三篇文章,同年出版了《你好哇,程序员》一书。
2017 年 7 月份,凭借写作带来的自信,我离开公司,开始自由职业,通过写作、讲课等方式获取收入。
我的朋友杨开振,因为所著图书《深入浅出MyBatis技术原理与实战》销量很好,于 2017 年 4 月份离开组织,通过写作实现了自由职业。
写作是程序员自由飞翔的翅膀,它能帮你积累影响力,建立个人品牌,并且,也能够直接变现。对于开发者来讲,写作是通往自由之路最强有力的武器。
写作这条路具有无与伦比的好处:
启动成本低;
个人可以独立完成;
可以直接建立影响力和个人品牌;
一份时间卖无数次,有想象力。
它最大的困难在于:
如何写好;
如何捕捉到更为广泛且强烈的需求;
如何持续写下去。
咨询
如果你看过《我的前半生》这部电视剧,一定对贺涵印象深刻,他做的就是咨询工作:用自己的知识、经验、技能、思维、框架等帮别人解决问题。
在 IT 领域,如果你有完善的技能树和丰富的经验,能够站在较高的层面上做全局性思考,善于寻本溯源条分缕析解决问题,也可以从事咨询顾问之类的工作,不受雇于特定的组织,直接为客户服务。
著名网站酷壳的创建者左耳朵耗子陈皓,擅长底层技术架构,对高性能、高可用性、分布式、高并发、以及大规模数据处理系统有丰富的经验和心得,他有段时间因为个人原因不能在公司上班,就通过为其他公司提供技术咨询来获取收入,并且,收入还蛮高。
我有段时间就希望通过为一些公司提供技术咨询来赚钱,但没有成功。我还记得有家公司的老板对我说的话:你加入我们公司,带着团队把项目做起来,然后就可以成为我们的咨询顾问。
看见了吧,这就是独立咨询的难处:当你不够牛 X 时,没有人愿意为你不知所谓无法确认效果的咨询付费,开发客户很难很难。ThoughtWorks 的很多咨询顾问虽然有公司为其背书,也还是常常遭人诟病:你自己没做过什么项目,凭什么给我们提供建议?
虽然很难,但这确实是一条路,如果你有志于此,可以看看享誉世界 IT 领域的咨询顾问、美国计算机名人堂代表人物杰拉尔德·温伯格写的《咨询的奥秘》,那是圣经式的著作。当然,除此之外,你还要在自由之前,就积累一些客户资源,并且为客户留下你具备咨询能力的深刻印象,这样他们才可能成为你自由后的衣食父母。
走向自由职业必做的 5 种准备
如果你确认了走向自由职业的方式,接下来就该做准备了。根据我的个人经验,下面 5 种准备是必须要做的:
变现方式
市场测试
饱和度测试
预期管理
B和Z方案
变现方式
我所说的变现方式,包含两种:卖时间和卖产品。
这里的卖时间,指“一份时间卖一次”这种工作方式。你在企业内工作,就是在卖时间,朝九晚五,每天 8 小时,每个月领薪水。以卖时间的方式实现自由职业,实质还是用你的专业能力为客户提供时间层面上的专属服务(你不可能在同一时刻为不同的客户服务),只是你不再受雇于企业,不再受规章制度约束,能够按照你自己的意愿安排在什么时间用什么方式完成服务。外包、众包、私活、咨询等方式,都是卖时间。
卖产品则是指“一份时间卖多次”这种工作方式,像我们前面提到的写作、在线课程等,都可以归为此类。它相比卖时间的方式,具有更大的想象空间,可以获得规模化的收入。可能你写出一本经典、畅销的书,做出一个爆款的课程,就可以获得几十万的收入。
在自由职业之前,你需要确认你最突出的能力,选定你首要的变现方式——因为你业余时间有限,不可能同时做很多事情。
市场测试
在离开组织自由职业之前,你需要测试一下,你赖以实现自由职业的变现方式,可以给你带来多大规模的收入。
比如你做技术课程,一定要先在业余时间开发几门课程,放到 CSDN 学院之类的在线教育平台上去卖卖看,统计一下收入情况,看这些收入能不能维持你可以接受的生活水平。
比如你写书,也要出版一本,观察半年,看看销量,看看能拿到多少版税。前面提到的杨开振,他是利用业余时间写出了《深入浅出MyBatis技术原理与实战》这本书,半年内卖了 2 万册,拿到了十几万的版税,才决定自由职业的。
比如你做软件外包或者私活,也要开发几个客户接几个项目看看收入情况;如果做众包,则可以到云沃客、解放号、程序员客栈、码市等地方去验证半年左右,看自己的开发技能,能为自己带来多少单子多少收入。
如果你不做任何准备,不经市场测试,脑子一热就脱离组织,往往会陷入冷启动的泥沼,肠子悔青。
假如做市场测试时发现收入很低,做不起来,不要气馁,要看看别人,尤其是和你经验、水平、身份差不多的人,有没有做得好的。比如我写书,版税很低,一本卖三五千册,不赚什么钱。可是杨开振一本书半年卖 2 万册,版税谈得也高,就有很可观的收入。那这个时候,就要找差距,看怎么提高。
饱和度测试
自由职业不是不工作,只是不在组织内工作而已,你依然要投入足够的时间才能创造像样的产出赚到你想要的钱。
你在单位上班时,老板们会给你安排事情,你不用考虑工作负荷是否饱和,哪怕你一天到晚没事儿干,也可以领到一份薪水。自由职业后就不一样了,你必须主动安排工作,让自己有足够的负荷,否则你逍遥自在不了多久就会陷入困境。
饱和度测试就是要让你提前适应自由职业后自我安排工作的特点,看看你规划出来准备在自由职业时做的事情,能不能把你的时间填满。
可以分两步:
先全力去做,看能不能把你现在的业余时间填满。假如填不满,Ok,你不用自由职业,就继续现在的工作,业余时间做你想做的事情,赚一份额外收入就行了。
假如你现在业余时间远远不够用,那估算下到底会占多少时间,平均每天几个小时。假如平均每天4个小时,那Ok,另外 4 个小时你做什么?你需要再找点儿事情来填满它,可以是赚钱的事情,也可以是兴趣、爱好、休闲,总之你如果有大把时间无事可干,就会出问题。
预期管理
预期管理包括四个方面:
冷启动周期。像接项目、写书、在线课程,都有个回款周期,所以你应该设想一下,你可以承受的无收入的起始阶段有多长,并为此准备一些钱,比如你预计周期为 3 个月,那你就要准备上至少够 3 个月花的钱。
收入预期,最近三年,预期收入达到什么规模。
时间预期,准备做多久来验证自己真的可以持续走下去。
成就预期,你打算在哪个方向上取得什么成就、建立什么名声。
B 和 Z 方案
你要设想,万一你现在规划的事情,收入不如预期,不能保持你的生活水准,你还准备再做些什么?这就是你的 B 方案,你要有至少 2 种可以变现的事情。
再设想一下最坏的情况:万一你无论如何都养不活自己,该怎么应对,是回单位上班?还是吃存款、继续硬撑?你一定要提前做好备案,这样才可以从容应对。
自由职业的自由与焦虑
在这篇文章的开始部分,我们说「你向往想干什么干什么,想怎么赚钱怎么赚钱的生活」,因此你考虑自由职业。但是,真实的自由职业,可能并没有想象中那么美好,它有自由,也有不自由;有高收入,也有与自由和不确定性伴生的焦虑。
自由
自由职业最大的好处:拥有自由的权利去安排工作时间。只要你完成任务解决问题,鬼才管你什么时间工作。
然而,你的自由是建立在自律的基础上的,你的自由是如何安排自己工作的自由,而不是不工作想干什么就干什么的自由(那是财务自由)——因为你要赚钱养活自己。
举个例子,你答应了客户周四完成开发交付软件的第一个版本,结果你周一周二都有事情,代码没完成,可以把交付日期更改到下周一吗?不行!
如果你在单位做事情,可以找上司说:“哎呀老板,出现了点状况,是这么这么回事儿,看来这个事情得延期一周才行……”也许这样老板就会答应,你就又有了时间。
可是你自由职业后,没有老板啊,你得自己维护自己“值得被信任”的形象,得让你的雇主觉得你“靠谱”。所以,你承诺了就要做到,哪怕熬夜赶出来哇!
这就是一种不自由。
焦虑
上班最大的一个好处是:不用考虑你要做什么事情,不用考虑你做的事情能不能创造经济价值,不管怎样,你都每月固定拿薪水。只要你在单位待着,哪怕刷一天朋友圈,也有钱拿!这是多么大的幸福啊!
可是自由职业者就不一样:不做事就没钱啊。而且,更尴尬的是,做事也不一定有钱啊。
所以,自由职业者每天都会受到不确定性的干扰。譬如我,用了记账软件记录收支,每次看到一大片红色就焦虑,心里就琢磨,哎呀我的钱什么时候到账啊。要是看到这个月的支出已经远超收入,就焦虑得不行,哎呀,差这么多啊,下个月能不能补赚回来啊。
这是你对收入波动性的焦虑,尤其容易出现在刚刚成为自由职业者的时候。
还有第二种焦虑:你做的事情是否能够持续。
以自身为例,我打算每年写两本书做两门课,可是这真的可以吗?一年、两年都觉得没问题啊,但真的可以这样一直做下去吗?3年、5年、10年都没问题吗?我会一直有主题可写?会一直有系统的课程可以开发?
状态好时我觉得这都不成问题,因为既然我之前可以找到话题,将来也一定会有新的话题出现。状态差的时候就会焦虑:能想到的话题都做差不多了,下一个话题在哪里啊?万一明年没什么可写该怎么办?
现在,你知道了一切:开发者实现自由职业的 4 种常见方式,5 种必做准备,以及可能的自由和焦虑。你还会准备开始吗?如果想要继续,了解最新的自由职业开发技能趋势也能为自己找寻一定的方向。
最热门的自由职业者技能
据 Upwork 的最新数据显示,十大增长最快的自由职业技能排行榜包括区块链、比特币、React.js、深度学习等等,与去年同期相比增长超过了 200%。相比之下,Swift、AngularJS 和机器学习已经跌出前十,但仍是热门自由职业技能。
此外,比对今年年初 Stack Overflow 发布了一些有关招聘趋势的数据报告,从中可发现目前市场对于 React.js 和 Docker 技能方面的人才需求逐渐增加。
热门技术需求排行榜前 5 名分别为:
ReactsJS
Docker
Ansible
Apache Spark
SysAdmin
2017 年 Stack Overflow 开发需求趋势
简而言之,据 Stack Overflow 的开发人员招聘趋势表明,掌握了 ReactJS、Docker、Ansible 和 Apache Spark 的开发者可能更容易找到工作。
再看一下 Upwork 的最新技能排行,React.js 并非排行第一,但是它也位居前五。增长最快的技能前五名分别为:
Robotics
Blockchain
Bitcoin
Penetration testing
React.js
Upwork 技能指数 2017 年第 3 季度
机器人技术是本季度发展最快的职业技能。据调查发现,对于此技术人才需求的上升,一方面与人工智能领域的迅速发展密不可分,另一方面也源于亚马逊、丰田汽车研究所等大公司对机器人技术的研究。
区块链和比特币技术也是后起之秀,位居前五名,那么 Gartner 在 2017 年的“新兴技术炒作周期”中加入了区块链也不足为奇。
对此,Hyperledger 执行董事 Brian Behlendorf 曾表示:“作为新的互联网技术体系的一部分,这项技术不乏有大的愿景,如果做得对,它可以对科技行业和整个社会产生巨大的积极影响。”
下面确定哪个 JavaScript 框架最适合 Web 应用程序是不容易的,尽管 React 和 Angular 之间的“战争”有点牵强(因为一个是框架,另一个是库),只是自由职业者现在大多数是在用 React.js。
Angular 和 React 正在用不同的方法解决同样的问题。你应该考虑的一件事是:你的团队有多年的 JavaScript 经验吗?如果有,那么 React 可能是最好的选择。
具有强大 Java 背景的团队通常使用 Angular 感觉更舒适。 TypeScript 是其中一个原因,因为它具有 Java 开发者在 JavaScript 中缺少的许多结构特征。有些 JavaScript 专家有时候会抵触,因为他们的自由被 TypeScript 强大的类型系统所抑制。
总结
实际行动比想象的看起来要难上万倍,在成为一名自由职业者之前,提前规划、做好备选方案、了解趋势缺一不可,你准备好了吗?
————— END —————
曾经的 Java IDE 王者 Eclipse 真的没落了?21 款插件让它强大起来!