微信公众号一个多月都没有更新文章了,对关注的朋友说一声抱歉。这篇文章讲讲这一个月期间的一些经历,或许能给大家带来一些帮助。

入职新公司

在四月底入职了一家新的创业公司,在此之前也和老板多次聊过。老板最初的计划是将要做的产品外包出去,这样既不用搭建技术团队又能够快速将APP推向市场。

这套产品是由软硬件相结合的系统,软件为APP硬件为运动手环,其实最核心的功能也就是将手环中的运动、心率、睡眠数据同步到APP中,然后进行一些统计维度的展示和计算,当然后期也计划与基于区块链的Token经济有关。

入职之初也是外包商合同中将要交付应用的日期前后,我加入公司也就是为了接手这套项目,负责整个产品的技术。

外包的坑

最初开始了解外包公司的使用的技术框架和一些功能的验收。外包公司使用的是自己公司开发的混合开发框架xxxCloud。在网上搜索该框架的评级及公司背景,心里就开始犯嘀咕了。

网上的评价大体有两点:第一,公司的这套产品是另外一家公司的一帮人从老东家那里拿过来修改之后的混合开发框架。第二,使用者的抱怨:此框架的各种手机设备的不兼容和各种问题无从寻找解决方案,客服无法支持等等问题。

后面就是验收产品,4月底开始验收,验收的时候发现一个很严重的问题:到验收阶段了,外包公司的产品经理和研发人员还不没搞清楚需求是什么,只是按照原型图在堆砌代码。

于是,各种功能的不完善,与需求不符等问题就出现了,而且网上说的机型适配问题也是层出不穷。后来得知,外包公司在做这个项目的两个月中换了一次产品经理(几乎没交接就走人了),换了三个后端开发人员,然后再配置就是一个混合开发的前端工程师和一个测试人员。

转变方向

已经过了交付日期,产品依旧没有很好的进展。距离开产品发布会还有两周时间。于是,有一周时间一直在外包公司待着,督促他们开发,随时进行需求的沟通。可是依旧没有任何效果,原因有两方面:外包开发人员水平太菜,没有自己的经验和思想;另外就是混合开发框架本身与硬件交互没有原生的好。

待了一周,见没有任何效果,于是回来跟老板说,咱们自己组建团队吧,这样下去再过一个月产品也无法使用。

但发布会迫在眉睫,只好让外包公司把原来的功能砍掉一半,只把能用的功能发布一个版本。

背锅

产品发布会的发言中,老板让我也上台发言,吹吹现在的产品。说实话,心里是极不情愿的,外包把产品做成这样,怎么讲?但是还是硬着头皮简单讲解了一下。果然有用户在说,产品做成这样,技术总监还好意思在发布会上发言。没办法,有些锅总是要背的。

晚上,产品对外开始公测,不出意料的各种问题。

新团队的组建

在产品发布会前一周,只有一周时间了。我跟老板说咱们开发自己的原生APP吧。老板说,那之前的钱白花了?我说,那些都是沉没成本,如果想把这个产品做好,必须用自己来改造开发。项目现在这种情况,根本没办法大面积使用。

其实刚到公司就开始了组建团队的工作,用三天时间招到了安卓和IOS开发人员,后面又招聘到UI设计。我原本长期的经验积累在后端Java开发,对安卓、IOS、UI这些专业技能只能从大面上了解。还好招聘到的这些人员都非常靠谱。

部分代码的交接

因为外包公司无法在合同规定的时间内交付合格的产品,于是与外包公司交涉,先付一部分款项,让他们把UI图和后端代码交接过来,其他的功能他们继续开发。

当拿到UI图和后端代码之后心中也有谱了。这套后端代码是我从事软件开发8年时间看到设计的最烂的代码,没有之一!举几个例子:同步手环七天的数据,手环的数据以10分钟为一个单位。就这样一个功能外包的实现,粗略计算了一下,一个用户同步一个手环的过程会对数据库进行2-3万次请求。另外一个让人无语的实现是,统计用户一个月运动了多少步数,外包的开发人员是将用户一个月的所有运动记录和有用没用的数据全部查询到内存当中,然后再一个个的相加,最笨的方法你用一条count查询也行啊。刚开始,没拿到代码,部署他们的项目,十几个用户访问就把数据库服务器跑的100%CPU使用率,看到代码那一刻只想骂人。

优化与研发

外包商是极其不负责任的,交接一部分代码之后,不知又把开发人员转移到哪个项目去了,对这边几乎没有什么支持力度了,未开发的功能延期一个多月了还未交付。

不过,在拿到UI图和后端代码的那一刻,其实已经不需要他们继续挖坑了。

后面的过程中就是带领自己的团队,在发布会一周之后,自己的一套基于原生的APP成功上线。前端代码外包还未交付,全部重写,后端代码百分之九十的功能全部重写。像上面的2-3万的请求次数直接从同步一次数据几分钟十几分钟优化到秒级别。

之前带领过团队,但没有APP的开发和管理经验,心中多少有些没谱,但经过这一周时间的开发配合已经大概了解了。然后,又用一周多的时间,快速迭代出好几个大版本。APP端的瓶颈基本上已经优化的差不了。

继续修行

外包商这块接手成功,然而事情并没有想象中那么顺利,现在又开始和手环提供商进行撕扯了。真的没有什么事情都能够顺顺利利的成功。只有遇到问题不断的解决问题,遇到困难克服困难才能抵达终点。

小结

分享了这一个月的经历,朋友们应该已经猜到为啥最近一个月没时间更新公众号了。同时上面的经历也给大家提个醒,找外包一定要慎重。有时候想省事省钱的决定,后面可能需要更多的精力和时间才能把坑给填平。



背锅与填坑的一个月插图

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:https://www.choupangxia.com/2019/07/06/%e8%83%8c%e9%94%85%e4%b8%8e%e5%a1%ab%e5%9d%91%e7%9a%84%e4%b8%80%e4%b8%aa%e6%9c%88/