自做开源组件以来,文档、预览、构建、发布这几个环节,一直都是很繁琐,手工操作多,易出错,十分不得要领。
于是参考vue/nuxt/element,一点一点地摸索,反复地尝试,终于找到了适合我们的githubwokflow。
我感触比较深的是两点:
年初的时候,与某团队进行技术交流,听说他们不但做了小程序,还做了APP,甚至他们已经完成了从RN到Flutter的转型。我们当时只涉及H5,并没有过APP方面的积累,因此虽然表面不动声色,其实心里大吃一惊,不免有些没底气。
时至今日,我们开发的APP已被当初那个团队的人使用着,我心里已不虚。
通过实践,我认为做产品有两点很重要:
第1点也就是mvp,但这点理论上说起来简单,做起来却难。
首先,用户的声音不一定能听到,就算听到了,也可能因为沟通表达的问题,理解有偏差。
其次,很多时候产品规划都是很宏大的,功能都是很齐全的,从0到1的过程中,很容易在这种规划中迷失。
同时,优先解决核心问题,先实现最小功能闭环,思路是没错,但这样的产物可能过于简陋,因此有人可能会觉得这不像是产品,而持否定意见。
所以,第2点就很重要。自己做的产品,自己用起来,也即“吃自己的狗粮”。
自己去动手前,想一想,这个东西做出来自己会不会用?如果答案是否定的,那就先别动手,重新再想一想。
自己作为用户,才能真正地培养用户意识。
最后还要注意的是,产品越早投入使用越好,这样可以根据用户反馈,快速调整与完善。
对于技术,我新增了以下方面来观察与思考:
全局意味着要有整体思维,从团队、从整条生产链路来思考。
比如有很多开发技术方面的“练级攻略”,给人一种错觉,似乎掌握了这些技术,就能横扫江湖,走向巅峰。但其实开发只是软件工程的一个环节罢了,如果不能掌握整体,在局部再登峰造极,也会有捉襟见肘的时候。
再比如某些教程,说是“教你从0到1开发一个APP”,但其实也只是聚焦在开发领域,也只是能在自己的机器上构建一个APP,安装在自己手机里而已。真正要上线到生产,让别人也能安装使用,同时保持后续的更新迭代,前前后后还有很多内容要涉及,并不是学了教程,开发好了,就完事了。
使用全局的思维来看待这些事情,这样才能看得更清楚、更透彻。
下面举些例子:
遇到上述情况如何决策,需要具体情况具体分析。
产品上线后,就会收到用户的反馈。有可能产品的第一个界面,就让用户困惑了。此时技术人员常见的反应是:这都不懂,真笨!
请尽早把用户愚蠢的想法抛弃掉。用户遇到了任何问题,首先应该想想,是不是产品有需要优化的地方。技术是用来解决问题,提升效率的,不是用来彰显自己高端、与众不同的,做技术的千万不能曲高和寡。
很多时候技术人员评估的事情的优先级,是按照技术难易程度、有趣程度而排列的,但其实上线后,最重要的,是倾向用户的声音,根据反馈进行开发调整。
也许你觉得做个炫酷的动画是很有挑战性、很有趣的事情,但用户也许更关心产品首页的错别字。这种情况下,请优先改正错别字。
总有一些技术团队在讲自己是设计这个系统的,怎么实现的,讲了一大堆,即没有附上代码地址,说什么与内部业务联系太紧密,不方便开源。
很多时候,大家重复造轮子,就是因为资源不共享,前人的成果没法复用。
去年,我的团队理念是,基于团队现有成员,把每个人打造出我想象中的样子。
当时,我看人主要还是看技术能力;对于一些技术能力并不符合预期,但态度好的人,我也愿意招聘进来,因为可以培养。
今年,我更强调的是适者生存,也即,团队是有淘汰的,跟不上步伐的人,只能离开。
我现在招聘更愿意招已经技术能力过关,不太需要进行技术培养的人,也即宁缺勿滥,纵然这样很可能一个月也招不到一个人。
另外,我还会注重对软实力的考察,比如热情、目标规划、自我定位、思维方式等,我希望团队成员是自我驱动的,最终能成为自己想要的样子。
一句话总结:去年我想让团队的所有人变得合适;现在我只想要合适的人留在团队里。
在去年北京的项目实战之后,我隐约觉得,我已经获得了足够的外界认可。
回来广州的大半年,我愈发确定,接下来我寻求的,是自我认可。
这是一套自己给自己的评判标准以及打分机制:
最后,来点鸡汤:愿你不受外界环境摆布,坚定自己的意志,坚持做你最初想做的事。