这里我说的“不做”,是指:不作为承包方,承接外包业务。不是作为员工不进外包公司工作,到外包公司打工,我一点意见都没有,只要工资给够就行,什么外包学不到技术之类的,我哈哈哈哈,仰天大笑……(以后有空再解释,其实我记得园子里和知乎的一些回答里都说过很多次了:学东西要靠自己。公司不是学校,给你工资是让你干活,不是让你学技术的)
做开发快十年了,有好几次朋友同事都问我想不想接点“私活”。我的答案始终如一:干不了,谢谢。
因为我觉得说“不想干”,太……太那个了点。别人给你介绍一个业务,总是好意,你一口回绝,有点不近人情的?所以就委屈点自己吧,技术不行、时间不够……总之找个不是理由的理由。
但总有些话,不吐不快,借着今天这个由头,一起说开了吧。
因为都知道我以前做个律师,所以“一起帮”上就有了这么个求助:一份软件研发合同。呵呵,不错啊,已经出现“多元化经营”的迹象了。
合同的问题和我预想的差不多:
涉及到需求,就是一些“不恰当的”“随意的”“过多的”“少量”……而这些词,就是以后纠纷的根源。什么叫“过多”,什么叫“少量”?什么时候是“恰当的”,什么时候是“随意的”?
说起来有些奇怪,我做过律师,但我最烦的就是“扯皮”。是不是和“卖味精的不吃味精”一个道理?差不多吧,因为长期在纠纷的漩涡中挣扎,就特别痛恨纠纷——尤其是这纠纷还是自己造成,或者需要自己承受的时候。
外行对律师有很多误解,以为律师贼眉鼠眼的一天到晚“想钻法律的空子”;就像外行对软件开发的误解一样:就这么改一下还要另外收钱?!
除了律师,我还做过装修:家装。在做软件开发之前,我以为家装的业主就是最“烦”的(原谅我说实话吧,不干这一行了,终于可以喷一下了)。有些业主,一天到晚的改啊改啊,在图纸上改还好一点,最坑的是做都做完了,才哇哇哇的叫:“唉呀!怎么是这个样子?!和我想的不一样/我觉得不好看啊……”每次听到这种话,我头都大了!全身的力气就好像被抽空了一样,无力吐槽,就酱紫的。
但做了软件开发,才发现……哈哈哈哈!
家装过程中的的那点改动,和软件开发中的改动比起来,简直就小巫见大巫了。
首先,改动的责任,或者说改动的费用由谁承担,家装工程中是比较清晰的。作为施工方,按图施工,图纸是业主签了字的,所以只要没有质量问题,你业主要改,责任肯定是你业主的。但软件开发呢?有图纸么?你说我有《需求文档》,你确认?你确认你能按这种需求文档干活?
说实话,我看到“参照”两个字腿就发软。什么叫参照?你说复制我都高兴一些。参照不是复制哟!参照就意味着我可以进行“局部”修改哟!但改哪些局部呢?这些改动是不是真的是“局部”的呢?鬼大爷才知道!
然后,你再看看这个《需求说明书》。我都不知道怎么评价它,简单,简陋?我真心觉得是惨不忍睹。都不能说是坑了,就是个崖,悬崖,万丈悬崖!
我记得我以前举过例子,用的是“注册/登录”,你看这需求也有意思:是否需要短信验证。可能刚想到的吧,但想全了么?里面的花样还多着了,比如:
能不能QQ登录,微信登录?
如果可以,登录时记录哪些信息?
登录后还需不需要在本站注册绑定?
注册时用户名有没有关键字限制,比如色情的反动的容易让人误解的(如:系统管理员)?
限制怎么处理,人工审核还是自动过滤?
整个合同金额才两万元,但如果说较真的话,可能这两万元就够做一个注册/登录,你信不信?
那到时候怎么收场?
其次,改动的费用怎么算?
我们假设,发包方比较讲道理(其实都不能算“讲道理”,只能说人家比较“豁达”,因为合同需求不明,人家不一定输道理的),承认加钱。但加多少呢?
很有可能,这增加的费用,就是一个“天价”。比如原合同总金额是两万,增加项的费用要二十万,两百万。
首先,原合同金额太低太低。因为承包方打的主意是套模板,修修改改应付完了事。就我们上面这个合同,开玩笑,两万块钱,做一个商城?!可能么?只能是找个开源代码,改头换面糊弄一下而已。
然后,一旦开始改动。如果说发包方上心,基本上就“收不住”。不是自己从头写的代码,甚至就算是自己的代码,耦合内聚这些没做好,牵一发而动全身,“没改还能用,一改就废了”才是常态。到最后,你改不动的。
怎么办?撂挑子呗,扯皮呗……
这些事,我见得太多了。
一些同学不忿了。你说得这么夸张,那外包公司怎么活?接私活的那些同学怎么办?他们不都好好的?!
这其实就是我一直憋着不说话的原因。
不说挣不挣钱,就“不扯皮”的外包,大致有以下几种:
1、以人天计价,据实结算的。
据我所知,很多大型外包公司,采用的就是这种模式。这种计价模式,你要怎么做就怎么做,要怎么改就怎么改,反正一个人干一天收你多少钱是定的。活多,费用也多,无所谓。这其实就不算是外包,而类似于“劳务派遣”的性质了。相当于发包方雇了几个人,按天发工资,主要的作用是规避《劳动法》。员工给发包方干活,但劳动关系在外包公司。
我个人很推崇这种方式。但这种方式,发包方会有一个担心:开发人员磨洋工怎么办?所以需要管理,管理就必须要懂行,但很多发包方其实是没有这种能力的。
2、发包方对功能/质量/细节没太大要求的。
典型的就是政府项目,做个网站,烂得稀里哗啦……但无所谓啊,反正又不怎么用!
马马虎虎的开发,稀里糊涂的上线,随随便便的假装维护一下,收钱走人,一切OK。这个就不用我多说了吧?懂的人自然就懂了。能接到这种项目,当然非常愉快了,躺着挣钱,问题的关键在于你能接得到。
3、发包方事先就能把需求全面考虑、清晰表达的。
理论上,应该有这种发包方。我也在网上看到过一篇帖子,开发人员写的,他对这个发包方就佩服得五体投地。无论是初始的需求,还是后面的改动,发包方的要求都非常细致,事先就考虑得非常详细。确实,和这样的发包方合作,是一种享受。
但很遗憾,我是从来没碰到了,周围的朋友也没有。通常的情况都是:被发包方各种花式虐,做完一个项目都像是虚脱了一样,呵呵。
一时兴起,写了这么多。有什么用呢?
第一,给创业者(发包方)提个醒,如果一定要选择“外包”的话,建议:要么仔细的规划好项目需求,要么选择按人天计费的模式。另外,如果需求没有足够的细,而是“参照某某某”的话,收集市场外包公司报价之后取平均值,再乘以十,作为软件开发费用预算,估计勉勉强强能够做一个“自定义”的demo出来。
第二,给想接私活的同学提个醒,在接单之前“挑”一下客户,学会拒绝一些比较“麻烦”的客户,会给你减少很多麻烦。见势不妙,要赶快止损。我没接过私活,但我以前做家装,从一开始老老实实的相信“顾客就是上帝”,到后来明白“上帝也有很多种”,血泪斑斑,不堪回首。把你的精力,用在能给你更多利润更多成就感的客户身上,好像有些势利,但却是行之有效的商道。
接私活在程序员里面非常常见,如果有时间,接私活多点收入还是很好的。
程序员个人接单,不仅仅需要技术和较多的空余时间,还会有很多其他考验,比如商务接单,项目评估,项目管理,款项催收等等。
需求不明确,需求不断变,需求难管理;
估价难,谈钱难,收钱难。
程序员接单这个市场,就像20年前的房产中介市场一样。由于没有行业标准,导致了各种问题,甲乙双方在互不信任中战战兢兢往前走。
相比个人,接单平台有更成体系的获客渠道,通常需求也更靠谱一些。对于有对于有5-8年及以上工作经验的程序员,建议在封闭式匹配平台上接单。不建议在开放平台上与其他开发者竞价、投标(3年以内工作经验的,可以去试试,权当锻炼),耗费太多精力在结果不确定的事上不值当。
经验比较丰富的开发者,可以选择与 合作,飞援是封闭式接单平台,平台在开发需求与开发者之间做主动匹配。程序员的简历不会公开,也无需与众多其他人放在一起被比较选择。飞援有专业的销售和售前技术团队管理客户需求,客户预先付款资金托管有保障,开发者专心做好最擅长的开发工作;
如果英文能力不错,也可以在 上接单。toptal也是封闭式接单平台,平台宗旨是靠谱的开发者服务靠谱客户,toptal对客户的经营规模有所要求,对于开发者的筛选标准也比较高,号称“Hire the Top 3% of Freelance Talent”;
其他接单渠道方面,除了很多专门的接单平台(需要仔细甄别,评价不一),还可以通过熟人介绍、接单群等方式接单;但是不推荐,因为项目很多时候不靠谱,结算也缺少保障。
具体可以参考下面的两个回答: