这是芃篙君的第310篇原创
本文适合软件行业的朋友。大概1850字,阅读需要6分钟。
今天来聊聊软件人的立身之本,数据化。可能你会对此比较疑惑,怎么数据化就成立身之本了?听我慢慢道来。
01 软件行业的数据化应用
如果单纯讲APP开发的话。如果提到数据化,可能大部分研发人第一个出现在脑海里的技术词汇是“埋点方案”。只要在合适的地方埋了点,那么上可以分析用户使用APP软件功能的行为习惯,下可以分析APP基础能力上的性能和稳定性情况。而根据这些功能性的、非功能性的数据,就可以有针对性的做功能维度更符合用户预期的调整、非功能性的各方面基础能力的技术优化。
从技术上考虑,就是从研发维度讲,如何让研发同事更方便的去应用和维护埋点。不单纯是点怎么埋上去,还有点怎么能够得到足够方便的、精准的维护,埋点对应的数据如何能够更快速、方便的呈现出来,作为决策的依据;从技术实现方案上讲,因为埋点也好、数据上传也好,总是需要占用一部分计算、存储和网络资源的,需要考虑如何由于数据埋点带来的负担,尽量少的影响正常的软件运行。
从法律合规上考虑,就涉及到用户数据采集的合法合规了。从数据定义、到数据采集公示、再到用户同意申请交互等等,各个环节都要符合地区国家、法律风俗、应用市场等各个维度的要求。
以上大概是在APP中搞数据化的普遍的应用场景和需要考虑的一点因素。
02 理解数字化
通常在团队里,搞数据化大概算是一个基建动作。可以做到,业务研发人员只管埋点和分析;基建人员只管基础库和平台建设。单纯从研发视角来看,大概研发人员都希望搞基础的和平台性质的东西,因为这样的东西是大家公认的偏“技术”的内容。
但是,这并非是说数据化是软件人的立身之本的原因。
现在回头看,以软件人视角来说,当大学课程里从模拟电路学到数字电路的时候,大概就应该是发现软件人立身之本的起点了。
因为,软件的根本就是数字化。在数字化的基础上,配合计算能力、存储能力以及传输维度的网络能力,这才构成了现阶段软件百花齐放的基础,也是咱们这些人有饭吃的根本原因。
所以,软件开发就是数字化开发、数据化开发。软件就是把现实中的存在的事务、概念,进行数字化定义,然后通过增删改查、存储传输,加上用户交互窗口,形成的有别于传统产物的新形态。
在这个层面上,我们把所有软件都视为数据化的一部分,是对现实世界的映射。自然也就是程序员的立身之本了。这大概也可以算作是,所谓“硅基”生命的起点?
03 技术人眼中的数据化全貌
当然,如果把数据化按照数字化来理解,认为是软件的基本方式,话题似乎开得太宏观了。技术人眼中的数据化全貌,大概应该是这样的。
首先是,产品数据。大部分由前面讲到的类似APP埋点数据组成,或者可以通过类似的方案可以获取到。无非是不同的软件产品,有不同的技术实现方案。产品数据代表了软件产品维度和技术维度的基本表现。
然后是,生产数据。也就是软件研发与维护全流程的生产数据。这个维度的数据在小规模的公司里很少见,在较大规模的组织里才比较常见。作为软件研发成熟度模型中的一个部分,软件的生产投入,要尽量做到可以衡量、评估和可计划。
最后是,销售数据。涉及到组织业务里面的客户信息数据、交易信息等。销售数据,代表了一个组织的健康程度、发展程度、业务拓展方向等等。
看到上面三个维度,你可能会感觉到惊讶,因为这大概应该算是一个企业中能关注的数据化全貌,为什么能说是技术人眼中应该关注的呢?其实思路上并不复杂,芃篙一向是鼓励每个人都在这个阶段准备好职业生涯中下个阶段应该掌握的能力和经验的。
那么,技术人看到顶部是什么角色?毫无疑问,是一个企业的CTO,那么一个CTO应该要关注哪些数据呢?说老实话,芃篙并不知道。但是,可以尝试从更宽泛的视野里去尝试整理推导,有哪些数据可以去关注。
从全链路上讲,一个企业的核心链路,可以归纳为:生产-产品-交易,三个部分。那么,研发人员当然是在生产环节做主要贡献,但如果想着做更高层次的突破,就不能不往业务前线的方向突破,那就需要尽量去理解什么是产品,交易是如何发生的、利润是如何产生的。
那么,从这个思路上,也可以推导出,数据化关注层次的方向。
祝我们在机会来临时,都能有充足的准备,永远等待乘风而起。
相关链接
关注芃篙君⬇️,每日获取思考与践行的认知更新...
可获取软考备考资料;
亦可加微信探讨开发者、职场与管理、IoT行业等话题;
共同成长,穿越周期!