独立一年软件外包,我是如何挣到30w的?

发布日期: February 11, 2022

软件外包
独立开发
  • 作者:AgileStudio工作室主理人
  • 时间:2020 ~ 2021
  • 收入:7单,均价5W

虽然总会听到外包各种不好,但对于出来单干的开发者,等手里的钱花的差不多了,辛苦研发的产品短期内还无法盈利,这种情况下,外包是比较直接的变现方式。我常和一些想尝试自由职业的朋友开玩笑:“你有技术,一年接2个外包,生活费就够了。” 对于不少有经验的开发者来说,虽然已经在技术上已经有不少积累,但真正自己出去接外包时才发现,原来要拿到订单不是那么容易的。退一步讲,等资金消耗完,连外包都接不到,就要考虑重新回去公司上班了。

我自己便是在山穷水尽的时候,开始了独立外包之路。不过现在除了维护几个老客户的项目,基本不开发新的客户了,目前主要精力在开发独立产品上面。在和一些开发者朋友交流的过程中,我发现如何获客是大家普遍比较关心的问题。虽然我没有从事过营销推广的工作,而且跟很多大佬相比,这点收入根本不值一提,但一个技术人的视角或许能给同为技术出身的你,提供一些有益的思路。

信息不对称

软件外包是个信息极其不对称的行业。行内人会觉得客户想做个跟“淘宝差不多”的需求很可笑,行外人则觉得不就几个简单的页面,怎么这么贵?

客户角度:

  1. 对方的报价是否合理?
  2. 是否好沟通,能正确理解我的意图?
  3. 做事会不会拖沓,最后导致项目严重延期?
  4. 对方能力是否靠谱,做出来的东西会不会有一堆bug,会不会留后门?
  5. 对方会不会抄袭,出卖机密数据?

开发者角度:

  1. 对方的描述是否和真实需求相差比较大?
  2. 后面会不会频繁改动需求和页面?
  3. 做好了,会不会拖欠尾款?

坦率讲,在外包关系中,客户方是属于信息较弱势的一方,要付出真金白银,承担最终的风险。我们要顺利接到订单,信任的建立是非常重要的,你觉得你能行是不够的,要对方觉得你靠谱,才能达成交易

我会在下面介绍一些如何减少信息不对称,建立信任的方法。

如何让对方觉得你靠谱?

软件外包总体属于竞争激烈、二三道贩子很多,僧多肉少的行当,因此不要错过潜在客户每次访问网页或询盘的机会,给对方留下靠谱的第一印象是提升签单率的关键。

一个人也要有一支团队。即便你能力很强,可以自己全做了,你也应该有一个像样的队伍。一个完整的团队可以打消对方的一些疑虑和获得更好的议价空间。如果暂时找不到合适的伙伴,可以找几个靠谱的、能力互补的朋友帮忙充一下门面,我自己也是这么做的,团队里面除了我是全职的,其他成员都是拉过来帮忙一下的朋友,他们有自己的固定工作,但是可以兼职帮忙一下。不过惭愧的是,没给大家挣到多少钱,由于接到的项目都不大,技术栈也基本在能力范围内,在替客户节省成本的指导原则下(一方面也是尽量降低沟通成本),大部分项目都是我自己消化掉的,就是有点费头发。

暴露真实信息的官网。 官网是客户能了解到你的第一门户,在充满虚假信息的互联网中,真实反倒会成为一种力量。 在案例介绍上,除了产品图片和文案,我会把产品的访问链接放上去,或者单独做一个介绍页面,让访客知道这些案例不是捏造的,而且可以进一步了解团队的实力。在介绍团队成员的时候,除了简单的介绍信息,我会把主要成员的个人社交链接也放上,比如GitHub、Dribble等,对于没有经营社交账号的成员,也可以独立制作一份简历介绍页。另外,在官网建好之后,我同时在主流的社交平台上(知乎、简书等)也创建了工作室的账号,除了推广的作用,还有一个重要的目的是为了进一步建立信任,毕竟我们可以随意修改自己的网站,但是第三方平台留下的痕迹是不能任意修改的。

帮助对方节省成本。 这里的节省成本不是压缩自己应得,而是协助对方梳理需求,把一些没必要或者可以先不做的模块先砍掉,把核心模块先做好。如果是做 app ,问一下能不能通过 H5 或者小程序实现?如果一定要做 app,是否应该先制作一个平台的 app 呢?很多客户对于软件产品的生命周期并不了解,喜欢一股脑堆功能,做的大而全,这样做出来的产品投入产出比很低另说,往往 bug 也多,甚至命短。这时候你通过自己专业能力和对行业的理解协助他们去梳理产品,节省成本,对方自然会进一步觉得你可靠,而不是只一心想挣多些钱。我曾遇到几个找我开发商城的客户,当我了解了他们的需求后,我就建议他们直接去看看有赞(第三方 sass 平台)。

详细的费用清单。 比起价格贵,人们更加在意吃亏。软件外包不是一个标准商品,往往客户可能会咨询多个外包团队,拿到很多个不同的报价,差别甚至很大。我的报价策略是给自己定好工时费,即便产品他们带来的价值可以每年节省几十万,最后只得几万块,我也是按照定好的工时来计算费用。在给客户报价的时候,把费用的计算过程发给他们,往往比只发计算结果更有胜算。

构建测试用例可以有效降低bug率。 即便你团队里面没有专门的测试人员,你也应该在交付前至少跑完一次比较完整的测试用例,而且核心流程要详细一点,对自己写的代码盲目自信是不可取的。虽然我们无法避免所有的错误,但要尽量确保交付的产品没有太大问题,尤其是核心流程。如果交付的产品一而再出现问题,那很容易让对方觉得你做事不靠谱,下次估计就不会找你合作了,更不会给你介绍别的客户。

交付源码。 有很多开源库并不直接提供二进制文件,而是提供源码 + 自行编译的方式,通过这样的方式表明:我的代码里面不会有后门。交付产品的同时,承诺把源码和必要的文档一起交付,可以让客户方更放心,尽管对方不会真的去审查代码。

应对客户的不确定性

人们的想法会改变,需求改动就意味着增加工作量,交付时间延长,频繁的改动甚至会引起双方矛盾。一般来说,作为服务方,心态应该放平衡些,多点耐心,但这不意味着要一味去迁就对方的需求,你可以在合同上约定好改动的幅度不能太大,如果改动增加的工作量比较大,可以要求对方适当增加费用。

当然,合同上的约定是事后了,我们最好是能在开发前就尽量确定好产品的功能和形态,这样双方的合作才会更愉快一些。

你可以使用一些沟通工具来确认对方的想法。比如使用协作文档来记录需求和变更,通过产品原型来确认客户的需求,前期这些工作多花点心思,后面的改动便会越少。石墨文档和墨刀是我比较常用的协作工具。

在编码阶段,可以设计的稍微灵活一点,比如通过变量来控制主色调、主要间距等;在感觉算法或者流程会有变化的地方,可以适当运用策略模式、模板方法等设计模式来设计代码,这样也方便后期的维护。当然,也不宜过度设计,否则只会徒增工作量。

验收拖沓,付款周期延长也是常见的问题,目前我也没有很好的解决办法,即便合同上规定好验收和付款时间、延期费,除非万不得已,最后也很难真的按照合同来执行。相信大家也在朋友圈看到过类似年底清账的消息,好像大家都习惯了拖延付款,缺乏契约精神。对于不熟悉或者喜欢拖付的客户,可以考虑把首款设置4成以上,另外,对于首款过低的情况需要警惕。

订单从哪里来?

我的第一个外包订单是我原来的上司介绍的。当你开始打算做外包之后,不要藏着捏着,要大方地告诉大家你在做的事情,尤其了解和认可你专业能力的同事朋友,他们是你最靠谱的客户来源。

要不要在第三方平台(码市、程序员客栈等)接单?是个仁者见仁,智者见智的问题。我建议是可以试一下,但不要抱太大期待,我有注册过相关的账号,也充了值,不过分配到的项目都挺一言难尽的,好的项目估计是内部消化了,我很快就放弃了这种方式。

我更建议想办法去获取一手订单,而且可以锻炼你在推广方面的一个能力。我的一个尝试是在一些公域平台发表和外包话题相关的文章,我们有几个订单就是从某乎过来的,在这些权重比较高的平台,如果其中几篇文章的热度上去了,除了站内会得到优先展示,在百度等搜索引擎那里也会认为是优质内容,关键词排名也会比较靠前,这是一举两得的事。

其他的一些方式,比如百度SEM、Google Ads等,由于实践不多,这里就不提了。获客往往是众多开发者尝试独立外包的第一道门槛,万事开头难,大家可以根据自己的情况,多去尝试,找到属于自己的门道,有机会积累几个相对稳定的客户,那工作就会越来越轻松了。

高效开发

工欲善其事,必先利其器。和以前的开发者相比,今天的开发者可选择的工具、开发框架、代码库都极大丰富,甚至程序员调侃作者:“别更新了,学不动了。”

我个人是比较拥抱新技术的,勤奋通常会输给更先进的生产工具,花点时间学习新的框架和工具,往往事半功倍。 一个资深的 JQuery 工程师,编码效率大概率会不如一个刚学会使用 Vue 的工程师。当然不可忽略万物皆有其边界,也要认识到各种新技术的局限性。但总的来说,学习投入带来的回报是丰厚的。

每个工程师都有自己不断打磨的工具箱,我自己了解的范围也很有限,在这里只能分享一下个人的一些实践。

在选用UI库时,丰富的UI控件可以节省很多精力,至少常用的控件应该是具备的。在目前 Web 开发中,Vue + Boostrap + Element UI 是我常用的一个组合。

今天的绝大部分应用软件,都是基于生机勃勃的开源生态来构建的,如果需要某些基础库,不妨试一下在 GitHub、 npm 仓库、maven 仓库类似这些地方找一下有没有好用的轮子。

遇到的绝大部分问题,应该都可以通过 Google 或代码仓库的 issue 找到解决办法。

如果比较有把握,使用 Flutter 来开发 App 是个不错的选择,Dart 语言的优雅、框架的跨平台特性和丝滑的调试体验,让我在开发出第一个应用之后,就爱上了 Flutter 和 Dart 这门编程语言。

总结

在做独立外包的这一年里,有合作非常顺利的客户,也有遇到差点要打官司的客户(不打不相识,后来还给我介绍外包),但总的来说,非常感谢他们对我的信任,也非常感谢一路帮助我的朋友,写这篇文章也算是向他们的一个致谢。

总的来说,信任是交易的基石,要站在对方的角度去思考问题,同时也要维护好自己的利益,双赢才能合作愉快。

写此文的目的不是鼓励大家去做外包。做外包确实不是一个很好的商业模式,但通过创造一个产品大卖,然后走上人生巅峰这种事情,也并非一朝一夕之功。但在通往自由的路上,独立外包也可以是个选择,希望我的浅薄经验对你能有些许帮助。

纸上得来终觉浅,绝知此事要躬行,与诸君共勉。

题外话

由于个人精力有限,在开发独立产品之后,基本就不接新的外包了,不过也不时会收到一些客户的询盘,通常就推掉了。

如果你是自由开发者,或是独立的技术团队,想通过外包业务获得一些收入,可以联系我,如果有合适的项目过来,对于能力OK和比较靠谱的朋友,我可以转荐,不收取中间费用,一方面也是为了多交些志同道合的朋友。

但前提要让我对你的能力有所了解,一个比较正式的介绍邮件是个不错的方式,可以附上你的个人阅历、社交账号、个人网站、作品等信息,毕竟简单几句闲聊获取不了多少信息,而且效率也低。