写在前边

本文中的我是作者本人

我大学呢,确实接过不少的外包,有的是跟着老师做的企业外包,后来就自己接外包,安卓、小程序、前端基本都有涉猎。

 

这个话题之前读者让我写写,我也一直没有写,那今天正好周末好好分享一下大学接过的外包项目,也希望能够给大学的你们提供一些思考和接项目的经验。

 

很多人说少接外包项目,接外包就是浪费时间;有的人说程序员接外包项目挣点钱也挺好的,都各自持有自己认为的观点。这件事,对于我来说,希望下面的文章能够给你带来新的启发和收获。

 

第一次接外包

 

记得那大二上学期,大二寒假刚笼统的半懂不懂的啃完 Java,转过年来就开始选个方向深入学习,当时还没有了解太多的方向,只知道 Android 前几年挺火的,也接触过前端,感觉一般般,也不知道学哪些,一口气就和另一个伙伴选择了做安卓。

 

看了几天 Android 皮毛基础,感觉有界面还挺感兴趣的。然后有一天被老师叫去说接了一个十几万的项目,你们要不要打算练练手。

 

当时整个人懵掉了,就会点皮毛,完整的应用程序都没做过,难道直接让我们几个上手企业项目,您放心吗?和三四个刚刚自学完基础的同学,后台 Java 和 Android 两个方向的就这么就接了。

 

PS:当时学 Android 服务器都不知道是什么东西,更不知道前后台怎么传输的,只想通过这个项目也学习一下。

 

这个项目持续了半年,期间很多的功能基本都是在网上利用搜索引擎学习以及同学之间老师之间的指导,顺利的把手机端干完了。最后整个团队加上学长十几个人一块聚了聚,为了庆祝项目顺利完成(其实为了庆祝接下来客户不断修改的需求了)。

 

没过多久,厄运来了,整个 APP 的功能除了登录注册都要大改,也就是说之前做的重新做,当时和我一块做 APP 的同学我俩都懵掉了,做了半年来了这句话?(需求就是这样,客户说改,你有什么理由不该,以后工作的也是这样)

 

二次开发

 

就这样第一个外包项目进行到了二次开发,这个过程没咋有印象了,只知道最后上线之后松了口气,然后对整个项目进行反思总结,怎么才能减少上项目中的一些问题,比如代码的抽离、规范、注释以及如何团队合作,通过第一个外包项目,明白了两个道理。

 

第一,三分之二时间在改需求,三分之一在开发,原因就是前期在和客户谈需求的时候,没有将客户理解的需求正确的传达给开发人员。第二,确实在实际项目中成长的快,与课堂上讲的那些来说,课堂上只是基础中的基础,也就是理论级别的,不用很快就会忘记。

 

那时候大二,心想着参加比赛做实际项目,多牛批呀,既可以提高技术又可以收获项目经验。也就是在那时,我也逐渐明白了,这不是我想象中的开发,开发中不能自由发挥,感觉自己就是一个生硬的机器人,别人说开发这个功能,你就抓紧时间开发,此后,发现自己之前说参加比赛拿奖呀,还是做实际项目呀,都不是我想要折腾的事情,也不是我愿意折腾的。

 

转行接外包快速提升

 

到了大三,突然意识到 Android 应用市场不咋地了,但是深入底层高技术人才还是很稀缺的,当时想是继续深造还是转方向。

 

这个问题挺纠结的,学校就前端后台移动端没啥可选择的余地,大数据?人工智能,从零开始想了想有点不太现实,毕竟快面临毕业实习了,还是有一定难度的。

 

此后有一个外包的前端项目让我转变了想法,那就转前端吧,正好通过这个外包项目在短时间进行提升个人能力。这也算是我转前端一个原因吧。

 

想必大家最想了解的就是项目的难易程度和水平吧,那就聊聊吧。

 

一个字形容,“水”,两个字形容,“很水”,四个字形容,“TM太水”。想必大部分人接外包的目的就是为了赚钱吧,当时即使让我赚钱,也没兴趣去接外包,就是想通过一些实战项目体系化自己的知识,能够从中总结一些经验,但是现实却很残酷,作为一个打工的机器,就是以赚钱给老板为主的。

 

什么所谓的模块化分离、代码抽离、注释拉七八糟,不用这些,在网上扒拉下框架改就完事了,还是那句话,大部分你不是在开发,而是根据客户需求在改别人写好的框架。

 

正是因为这些外包,有些框架的改动不得不逼着你去学习,各种官网文档,各种资料阅读,各种论坛寻找解决方法,一些自学能力自然而然的就在此得到提高。

 

瞎折腾打造个人产品

 

通过团队合作,在大二大三期间,做了三四个外包,从团队合作和交流上以及相互学习上得到了很大的提升,团队遇到问题怎么解决,遇到难题,前后台人员怎么配合调试,上线如何快速定位 bug 。

 

后来开始从零学习微信小程序,到产品的快速上线,用了一个月的时间,这一个月通宵达旦,睡不好,吃不消。

 

小程序之前没有接触过,有了前端的基础,不到一个周基本就把文档看个遍,直接开始设计页面和数据库,后台 JAVA 也涉及到不多,也是边向同学请教后台的知识,边自己写后台数据库,最后自己前后台完成对接。

 

服务器的配置、域名、证书也是第一次弄,弄起来非常吃力,也是通过网络搜索和身边同学帮助,慢慢的也搭建起来。

 

通过一个月的努力,小程序正式上线,但是虽然产品成型,但是很多潜在的 bug,直白点说,用户体验不是很好,但是产品基本功能实现了。

 

直至连续更新迭代三次之后,小程序还算是稳定,由于后期个人时间去找工作学前端,也就没再继续优化。

 

通过自己从挖掘需求到开发再到产品上线维护迭代更新,这个过程比接外包还累,但学习到很多。

 

为什么我在群里或者给初学者建议学习不要死板,尤其是做项目,按照别人的视频做一个系统,你全程只不过是在跟着打代码,你脑子里根本没有系统的整体架构和设计,所以做完之后就忘了,应了认知天性那句话,你只不过看起来很努力而已。

 

这也是我前期学习过程中的一个坑,之前我也看了很多教学视频,但是怎么去运用又是一种讲究,所以再好的资源不会运用,那对你毫无价值了。所以很多人问我怎么做实战,我的回复就是你想做一个属于你的项目来让大家使用呢?

 

个人外包项目

 

接外包主要我设定了一下几个原则。

 

1、这个项目做完,你能不能学到很东西?

 

2、这个项目有没有值的你挑战的地方?

 

3、最后就是这个项目的开发费用要合理。

 

很多项目都是重复业务堆砌,起不到提高自己的作用,除非为了赚钱而去赚钱。人嘛,要把目光往远处看吗,当下的利益只不过是一缕青烟。以上就是我接外包的三个原则。

 

相信很多大学生或者第一次接外包的小伙伴都有以下几个疑虑,我也给大家解答一下:

 

1、双方之间的信任怎么建立?怎么防止出现做完跑路的情况?

 

2、担心这个项目自己没有能力做好,心有力而力不足的问题,即想通过这个项目锻炼自己,又不想给人家搞砸,这个问题也一直是刚开始接项目的绊脚石,从而错过很多机会。

 

3、开发费用怎么为老板估算?

 

4、如果开发期间出现不能解决的问题,那不就砸了吗?如何进行处理?

 

5、整个项目做完,客户不满意或者工期延误怎么办?

 

上边的情况我都经历过,然后我把自己的处理方法和大家分享一下。

 

双方的信任如何建立的?我们都知道,网络上很多做外包交易的,不就是拿钱跑路就是做完项目就不给钱,这种情况太常见了,身边的朋友也发生过这样的事情,所以呢,互联网信誉第一。

 

但是我接到的确和他们遇到的老板大不相同,很多做定制开发的从聊天语气就知道靠不靠谱,有些老板带着诚意来的,也从网络上了解过我这个人,做的一些事,都是很清楚的。

 

记得寒假的时候,在北京找实习,生活压力很大,所以连续接了几个项目,客户都是都是直接带着诚意来合作的,谈好大体的需求,然后估个价,直接全款扔给我。

 

但是我没有直接收全款,虽然很信任我,但是我也要拿出一点态度给客户,定金和剩余付款分阶段付款,这样双方都有一个保证,合作起来也很愉快。

 

第二个问题就是担心没有能力做好怎么办?其实这就是个人心理问题,当初第一次接个人外包,我担心这个不会,那个不会。你要想的是问题总会能解决方案的,这也是你能力的体现之处。而且,不下狠心个人能力只能停留到舒适区。

 

第三个问题呢就是开发费用估算,一般我去码市进行估计,那里的估价基本都是外包公司标准,个人的话会比那个要低得多,十分之二三左右差不多,具体功能具体具体定价啦,最起码估价心里有个底。

 

第四个问题就是也是初次接项目最怕、排斥的问题,因为没接过项目嘛,总怕自己做不好,做砸了。万一真的做砸了,没做好咋办?也正好把第五个问题一块回答了。

 

你还别说,我自己经历过,就在前一个月,给用户做的小程序基本开发完毕,但是腾讯审核系统改了,代码审核了二十几次都不给过,用户已经把大部分开发费用给小鹿了。此时你要说,删库跑路呗?那不行,虽然这个问题不是我本身开发的小程序问题,而是审核系统规则有些东西被限制了,而且耽误了客户的时间,那只能不断的修改代码重复提交,一提交审核就是两天。

 

用户担待不起呀,有时候他们比我们做开发的时间还要紧,只要是从开发到上线没有完成就是开发的责任,这个责任我承担了,我给用户的保证是,一个月之内,在提交不过,我全额退款,一分钱都不要包括定金,当我白做。

 

这是给客户一个承诺,让客户放心,但是说实话当时我心里真的没底,审核这东西都是官网人员控制的,有些个人号限制,突然改革,我拿他也没办法呀。也有部分赌的成分,经过不断的探索和修改,最后,还是还是通过了。心想,这也太考验一个人在逆境中的生存了,所谓的逆商(有空给大家分享下)

 

经验:那些年,我在大学接过的外包项目_前后台