昨天在直播的时候有同学问了一个问题。为什么很多公司看到简历上全是阿里/腾讯/华为云上的技术栈,就突然不感兴趣了。
今天我们聊聊这个问题。
很多的中小公司,非常喜欢直接购买云上的产品,例如在大数据开发领域,阿里云上的MaxCompute和DataWorks独步天下,经过近20年的打磨,已经成为大数据开发领域内的标杆产品。
很多大公司在建设自家平台的过程中都会参考阿里云的功能和设计,建设带自家业务特色的数据开发平台。
这样一个成熟的平台自然也受到了很多中小公司的亲睐,免掉了自建数据平台的各种烦恼,少走很多弯路。可以快速在成熟的平台上进行业务支持,即使一个小白经过简单培训后都可以上手干活。
此外各大云平台有非常多的最佳实践和文档支持,还可以提工单让oncall帮你鞍前马后。如此多的优势,程序员在云平台上轻松支持业务开发,岂不美哉?
但是,所有的上面的优点都是从公司角度出发,当然没有毛病。
我们回过头来,站在开发者提高的角度。看看这些成熟的云平台会给你带来哪些"灾难"?
首先,大多数的云平台组件封装非常完好,屏蔽掉了非常多的细节。甚至很多异常信息都被屏蔽掉,出现问题后看不懂问题,无法排查只能提工单找oncall,对个人trouble-shooting的能力提升是个坏消息。而且平台经过二次开发,开发者完全看不到底层的实现,这些代码当然不会给你看,因为是云平台的核心资产和能力。
这造成了,开发者在一个成熟的平台上开发却不懂底层的实现原理,对于小白和新手尤其不友好。最后云平台因为有一些定制化的能力,这些能力并不通用。对很多中小公司的开发者来说,因为可以直接利用平台成熟的能力,缺少从需求出发到方案设计的这个过程的能力锻炼,一旦脱离了这个平台,需要自建平台的场景,就变成了"傻瓜"。
综上,越来越多的公司选择成熟的云平台,在这个平台开发的同学们时刻要记得,平台本身提供的能力是公司付费的结果,不是个人能力本身的体现。
我们在使用这些平台的时候,一个基本的原则:知其然知其所以然。