我相信每一个互联网技术人员都曾有过做一个独立开发者的憧憬,但由于种种原因,很多人都没有付诸实践,有些是家庭原因,有些是迫于生活压力,有些是观念问题,等等等等。其中绝大多数人是担忧自由职业朝不保夕,无法像在公司任职一样有稳定收入,同时能学到更多东西。
确实,有很多人并不适合做独立开发者(比如应届毕业生和自控能力很差的人,这里就不展开说了)。但当你决定走这条路的时候,首先要面对和解决的就是上述问题,下面以我个人的经验为例,跟大家详细聊聊,如何更好的解决这个问题。
想要做一个自由职业者,就要考虑如何解决稳定收入的问题,首先要明确两个点:
- 一.稳定的项目来源。
- 二.与客户之间建立长期互利的合作关系。
这两点缺一不可。
一.稳定的项目来源
第一点不用多说,所谓巧妇难为无米之炊,没有项目,说什么都是白搭。所以「一.稳定的项目来源」至关重要,关于第一点,我们又可以分为两步走:
1.包装自己
2.宣传自己
关于包装自己,这就好比当你求职的时候写简历一样,用最简单精炼的语言突出自己的优点、优势。而跟简历不太一样的是,这里不必花费太多时间去讲述你的就职经历,而要花大量的笔墨来描写你的项目经历。如果是设计师,则要将你做过最得意的作品进行包装呈现(最好做个经过包装的web页,呈现方式上也要突出个性,尽量出彩,瞬间抓住别人的眼球)。如果是程序员,附上项目地址和项目描述,突出项目所用技术栈,以及解决了哪些技术壁垒,如果有自己的技术博客能获得更多加分,再附上一个 github 地址更能锦上添花。
然后是宣传自己,渠道很重要。当然你可以选择一些行业交流平台去展示自己,同时还可以看到一些同行的作品,并从中学习经验。设计师的平台例如站酷,UI.CN等,程序员则可以选择stackoverflow,segmentfault等。或者你可以直接选择更接近钱的众包平台,挑战一些你感兴趣的项目。众包平台有很多,质量也参差不齐,比如猪八戒,威客,小圆桌等等,其中大多数我都用过。而个人更推荐「云沃客」,项目更精,用户体验更好,沟通流畅(这很重要)
包装和宣传,两者缺一不可。因为自由职业本质上其实就是对自己的一种营销。如果你一直难以打开突破口,首先就得反思3点:是否自己能力不足?是否包装不够(无法让别人第一时间全面的了解你)?是否宣传不到位?
二.与客户之间建立长期互利的合作关系
而当你接到项目并跟客户沟通好需求和报价之后,就进入了开发周期。之后经过漫长的研发制作,反复的周折修改,好不容易做完一单,然后又一单,再一单... 这时候回头看看,你从中得到了什么:首先是项目佣金,然后是项目经验,还有给自己的包装页上多添一笔。除此之外呢?你可能会问这些就是我想要的呀,别的还能有什么?
回想文章最初我们提到的是要解决「稳定收入」。现在虽然已经有了相对稳定的项目来源,但依然存在很多变数,并不能满足「稳定」这一需求。那么该怎么去改善呢?就是接下来要说到的「二.与客户之间建立长期互利的合作关系。」这里又要说两点:
1.改变报价结构
2.维护客户资源
关于报价,我想80%以上的独立开发者都会根据项目开发周期,难度系数,开发密度,等因素给出一个相对合理的报价。但大多数人都并没有考虑过,除了这些,是否还有其他可能?下面列举我自己的例子(笔者是全栈开发人员):我经常接到的项目是负责设计开发一个XXX类的WEB平台或者APP。大多数时候它包括会员系统,业务页面,个人中心,管理后台等。并且从数据库设计,到程序研发,再到服务器配置搭建等工作都由我来完成。通常,一口气的报一个我认为合理的价格,并与客户协商完成之后,客户都会问:后期如果需要维护怎么办?早期面对这样的问题,我可能会说,XXX时间内出现问题,我会免费负责维护调整,这是我能承受的极限,但对客户来说,还是增加了顾虑:那以后怎么办?未来有新需求了怎么办?到时候找不到你了怎么办?所以经过多次合作总结之后,我寻得一个更好的让大家都放心的长期合作方式,首先从改变报价结构开始,从「项目研发报价」变为「项目研发+项目维护」报价。这时候研发价格会有一定幅度的降低(大约是原来报价的60%~80%),但会按周期(根据维护需求的多寡按月或按季度)收取一定的项目维护费用(大约是研发报价的8%~10%)。
这么做的好处有哪些呢:对客户而言,开发预算变少了,同时未来出现问题也能及时找到维护的人员,而长期的合作协议也能保证开发人员对项目负起更多的责任(我的客户里曾遇到过不少因为一锤子买卖导致开发留下很多坑的情况)。对开发者来说,虽然短期项目收入少了一些,但是能得到一个长期且稳定的收入来源,同时还得到了一个长期维护的客户资源。(我会跟客户之间签一个长期的维护协议,保证双方能及时履行承诺)。
下面再来说说客户资源的维护。往往,维护好一个长期合作的客户资源,能带给开发者很多很多东西,除了稳定的长期维护协议之外,还有当前项目(或者该客户旗下的其他项目)的更多开发机会,还有通过客户的引荐得到其他客户的项目开发机会(而且这种情况很常有)。那么如何能够更好的维护好一个客户呢?除了要用尽浑身解数去完成客户需求的开发之外。应该具备几点:
a.首先是责任心,保证开发阶段和维护阶段的联系畅通(如果经常联系不到人,还经常无法按时提交开发进度报告,是肯定没办法进行长期合作的),同时要善于倾听,还要善于将客户提出的需求分解成解决方案,并及时沟通开发进展,负起应有的责任。
b.其次是态度要明确,要明白这个项目无论是开发还是维护都是你自己的工作,草草交工对谁都没有好处,保证项目未来拓展性,尽可能的优化项目和生产环境,让项目能更好的为客户提供服务。
c.最后是细致,要勤写文档,尤其是维护周期,要对每个优化。每个维护工作都做记录,同时定期给客户发送你的维护工作报告。让大家都心中有数(客户也许不懂技术,但你细致而认真的态度对方是一定能够感受得到的)
总结
随着移动互联网的发展,独立开发者越来越多,竞争越来越激烈,要求也越来越高。如何能够在激流中稳住航帆就显得至关重要。无论何时都要铭记,自由职业者也好,独立开发者也好,都不是你职业生涯的小憩处,不是逃避职场的避风港。反而,投身其中就像置身于一场更大更残酷的挑战一般,狭路相逢,勇者胜。逆水行舟,不进则退。同时还要面对各种来自生活的各种压力。要做到时刻提醒自己,充实自己。并且一直保持认真负责的态度。时间定会带给你一份丰厚的回报。