1
头图

今天我们采访到的独立开发者是齐上凯,来自美丽的滨海城市厦门。他是一名从事软件开发20多年的“老兵”,成为独立开发者之前是一名技术管理者。从业20年见证并经历了国内移动端发展的全过程(WINCE -> Windows mobile -> Android -> Hybird App -> 微信小程序)。

至于如何成为了一名独立开发者,他表示在经历过软件工程师、团队Leader、项目经理、产品经理、产品运维多个岗位的“磨练”后,深感研发效能及软件工程实践在产品开发中的重大作用。但前公司组织架构复杂,很多研发效能的理念,当遇到跨部门情况时就无法实际落地,产品从规划到开发、测试、发布再到运维,无法实现全程贯通。

利用自己掌握的研发效能技术,通过软件工程实践,快速将idea转变为产品,以实现“顺畅、高质量地交付的有效价值”的想法在他脑海里徘徊已久,权衡利弊后,他离开了就职9年的公司,踏上从”0“开始的道路。

班车精灵

项目背景

这个想法来源于自己乘坐班车的经历。因为路况原因,我一直是乘坐公司班车通勤的。而我所在的这条线路,正好经过厦门的主干道,交通很拥堵,导致班车的到达时间无法确定。公司也使用了车长“人肉报站”,微信共享位置等报站方式,但感觉都不是很友好,还是经常错过班车。在和同事吃午饭的时候,经常吐槽班车这个事情,逐渐就产生了做一个班车报站小程序的想法。小程序“用完即走”的特性,很适合这种轻量级,但又每天必用的场景。

项目简介

“班车精灵”是一款“无需安装,用完即走”的小程序产品,它能够将班车和乘客连接在一起:司机通过它“一键报站”,乘客通过它知道“班车到哪了”,为企业员工提供更优质的班车通勤服务。

1、项目开发的过程中遇到过哪些问题?如何解决的?

(1)研发基础设施搭建
虽然是独立开发,但产品的需求更新,持续迭代及质量保障,都需要有一套小而美的研发基础设施作支撑。这时没有工具搭建团队,只有你一个人,工具选型,搭建中遇到的各种问题,都需要自己去解决。

(2)挖掘用户痛点
班车精灵提供的是班车报站服务,要让服务真正落地,需要解决两个问题:一报站的源头在司机,需要将交互做到极简,一键启动,让司机愿意使用;二对于乘客,则是报站要准确,能够自动处理各种异常情况。

在小程序开发过程中,我进行了一周的跟车测试,了解司机和乘客的痛点,并测试报站准确性。小程序第一版发布后,我仅开通了一条线路,又进行了20天(4周)的跟车测试,司机在使用过程中会提出他们的建议,遇到的问题在现场基本就能定位,并尽量当天解决。经过这20天的测试,很多原先未想到的的异常情况,都得到了相应的处理,为“班车精灵”正式上线的稳定性,打下了坚实的基础。

2、是否关注用户的评价反馈,如何与用户交流?

我发现用户基本不会通过小程序的“反馈”渠道提出建议。试用期间,我拉了一个试用群,都是原先熟悉的同事,他们在使用过程中会提出一些反馈。其次,隔一段时间,我也会去乘坐一次班车,现场体验一下班车精灵的使用情况,并在班车上跟乘客作一些沟通交流。另外,在开通新线路时,车长需要采集站点,也是第一个使用者,他们也会提出一些很好的建议。

3、运营独立项目的过程中,遇到过哪些有趣或者觉得很有意义的事情?

这两件事情和技术并没有直接的关系,但却很有意义。使我接触到以前未曾认识的领域,而这些领域,又是独立开发者必须面对的。

(1)市场调研
跟车测试时,与司机混熟了,他直接把我拉到班车停车场,去做市场调研。这次市场调研,好的一面是让我看到厦门大量的公司都提供班车服务,而且基本没有使用这种班车报站软件;不好的一面,是司机对使用这种软件的意愿度并不高,他们认为把乘客送到终点站即可,至于查看班车位置 这个事情留给乘客自己解决就好了。

(2)产品定价价和商务谈判
产品定价是一个很艰难的过程,没有任何可以借鉴的经验,我试着作为需求方,到外包公司提需求,从而获得参考报价,以此为基础制定适合独立开发者的产品定价。
但到了商务谈判,又是另一种情况。客户基本把价格放在第一位,要求价格便宜,功能还要齐全,产品还要很完善。
在客户对产品的选择方面,班车精灵这种SAAS服务型的产品,需要直接面对外包公司的挑战,有些外包公司甚至愿意用极其低廉的价格(有时甚至达不到成本价),去
促成一个外包项目(提供版权和源代码)。对于我这种ToB产品的独立开发者而言,如何实现产品商业化,就变成一个重大的挑战。

关于独立开发者

1、如何定义独立开发者?

我理解的独立开发者是指一个人或2-3个人的团队,他们从产品规划开始,独立完成设计,开发,测试,发布,运维,推广,直至商业化或开源等各个环节,从而打造出一款小而美的产品或框架。

2、独立开发者的产品和外包公司的项目有什么区别?

外包公司做项目只需要做好一次或者很少的几次交付就可以了。而产品,则是要倾注心血于它的整个生命周期。做项目需要更多倾听用户需求,但是做产品更注重思考,思考用户的痛点和产品的定位远重于倾听用户表述,要把更多的精力花在产品定义、设计,思考怎样把技术、业务落地到产品实现上。在发布以后,如果幸运的话,产品会有一个漫长的迭代和维护周期,Ops 工作也很可能成为你的重心,你会把主要的时间都投入到这里。

3、独立开发者和在企业中从事技术工作有哪些异同?面临的最大的挑战是什么?

在企业从事技术工作只要将所有精力投入技术攻坚即可,开发者需要不断学习新的技术并用于产品中,和他们打交道的主要也是和技术相关的人员。

独立开发者是一个综合性的职业,首先他需要开发出产品,肯定需要懂技术。但有技术远远不够,或者说技术仅是其中的一小部分。因为独立开发者需要懂产品规划,懂
项目管理,懂测试和运维,甚至还要知道如何营销和推广,他面对的人群是各式各样的并且往往不是技术出身。

单从技术角度而言,独立开发者需要面对资源极度匮乏的现实(人员的匮乏,资金的匮乏),因此在技术选型上,也需要量身定制 —— 需要找最合适的,而不是最新最酷的技术。另外,需要更重视研发效能,以此来弥补人员上的匮乏 —— 能自动化的尽量自动化,让计算机代替人做更多的研发工作。

面临的最大挑战还是产品推广和商业化。可能一个产品的MVP版本比较成功,但有了一定用户基数后,如何引流就是一个大问题。另外,产品需要有收益,也就是商业化:To C产品很容易就被抄袭;而To B产品面临着中小公司的挑战。在商务谈判方面,独立开发者还是比较吃亏的。

4、 如何看待目前国内独立开发者的生存环境?和几年前相比有哪些好/坏的变化?

国内独立开发者的生存环境,确实比较艰难,这个从思否的独立开发者调查报告就可以可以看出来:主要还是推广难,商业化方面缺乏有效的指导,产品无法变现导致收入不稳定。这些都不是软件开发者擅长的方向。另外独立开发者的线下交流圈子太小了,除了一线城市外,其他地方鲜有独立开发者的交流圈子。

好的方面:近几年,云原生和开源催生了大量的免费工具及云服务平台,这些工具大幅降低了前后端开发门槛,让开发者无需掌握大量的前后端开发技能,就能够进行产品和业务开发。各大厂商都在云原生这一新兴平台上发力,云平台的服务成本已
经相当低了,而且还支持弹性扩容,这些对与资金紧张的开发者,都是一个好消息。

坏的方面:经过几年的快速发展,C端市场已基本饱和;而B端市场,存在众多中小公司的价格竞争,虽说独立开发者的产品相对比较专注,可能在迭代速度和质量上,也有一定的优势。但一谈到报价,软件公司能够不计成本的谈下一单,而独立开发者,则没有这样的资源。

5、 给独立开发者们或者想要成为独立开发者的朋友一些建议吧

1、性格:要先了解自己的性格,软件开发者一般比较闷,如果不喜欢和非技术人沟通,最好还是选择一个合适的公司,在技术领域深耕;如果你比较爱尝试一些新领域,并从中能获取到价值感,也许合适做独立开发者;

2、全面性:如果想成为独立开发者,需要在职场上多让自己尝试各个岗位的工作,比如产品经理,项目经理,团队Leader,测试或运维,这些都是独立开发者需要具备的技能;

3、时间管理和自律性:缺乏了公司的约束,需要自己管自己,这时不仅是兴趣驱动,更重要的是自律:有规律的生活作息,合理的产品开发计划,精确到每日,每周的工作计划,并定期复盘总结。

4、身体健康:身体是一切的本钱,找到合适自己的运动方式,并能坚持下来。

个人相关问题

1、个人主页

思否社区

公众号

2、生活照

3、分享一下您的工作流

每个产品迭代的工作流如下:

(1)迭代开始前,会从TAPD需求池中选出参与此次迭代的用户故事和研发任务,一个迭代的研发周期,一般是一至两周;

(2)评估每个任务的优先级及预计完成时间;

(3)如果需要UI交互,则先在“即时原型”平台上完成交互稿;

(4)拉出开发分支,根据任务优先级进行开发,开发过程中会边写代码,边完成单元测试,每隔1-2个小时,就会提交一次代码。持续集成平台,会监控代码提交,并自动对代码进行质量审查和测试,确保每次提交的质量,一旦构建失败,需要第一时间解决;

(5)每天开发完成后,会使用体验版测试一下当天实现的功能点;

(6)迭代中的用户故事完成后,会编写或更新UI自动化测试用例,用来进行新功能的冒烟测试;

(7)当迭代看板中的任务完成,并通过持续集成平台检查,开始合并分支;

(8)分支合并后,会自动进行一次完整构建,包括静态代码检查,单元测试,UI自动化测试测试,如果全部通过,就会上传到小程序平台作为体验版;

(9)如果有需要,对体验版进行实地场测,通过后,提交小程序平台审核,最后发布;

(10)如果该迭代版本的UI交互有变更,软件发布后,同步更新快速使用指南。

4、下一款产品打算做什么?现有项目有哪些计划中的迭代方向?

目前还没有下一款产品的计划。“班车精灵”计划在明年上硬件方案,目前实现了人知道“车在哪里”,解决了乘客的痛点;而硬件方案,则实现了车知道“谁上了车”,解决企业管理班车的痛点,简化班车迟到的考勤流程,真正的实现人和班车的互联互通。

5、平常会通过哪些方式/渠道提升自己的技术能力?

技术方面,主要是通过订阅“极客时间”的课程;研发效能方面,主要还是通过看纸质书,最近在看的一本《软件研发效能提升之美》。

6、开发之外的时间会做什么?

开发之外的时间都在带娃(做饭,辅导作业,和娃一起运动),感觉比以前上班还忙。娃上四年级,正是培养学习习惯,锻炼好身体的时机。

如果还有空余时间,会将自己的经历写成技术分享,放在个人公众号“淘淘的小屋”上。

5、 您的座右铭或者个人信条是什么?如何解读?

个人信条是选择比努力更重要,观念比选择更重要。
从张一鸣的博客中看到的,选择源于观念,观念决定选择。如果观念不更新,永远看不到更远的风景,也很难找到自己的职业方向,而一旦选择,就是去做,并坚持去做。


思否编辑部
4.3k 声望116.9k 粉丝

思否编辑部官方账号,欢迎私信投稿、提供线索、沟通反馈。