作为一名工程师,SDK的自我修养

276 阅读2分钟

SDK (Software Development Kit )即“软件开发工具包”,是一套开发工具集合,可以为特定的软件包、应用软件、软件框架、硬件平台、操作系统等产品提供服务。如果你是算法的,那么你可能要提供算法sdk;如果你是搞上位机的,那么你可能要提供抛却界面之后的代码逻辑sdk;如果你是web服务端的产品,你可能也要把你的协议网络层封装sdk,提供别人来与你进行交互。。。

简单来说,很多人可能认为忽略了SDK这一层面的修养,很喜欢用简单粗暴的代码来交流,或者说,你认为大都数交互会有专门的sdk开发工程师,或者中间件开发工程师来完成。其实也没错,对大都数人来讲可能不需要专门去封装sdk。但是就我个人而言,我觉得一个成熟的工程师应该会经常去封装sdk,把你手中的代码模块化,程序化,让你的同伴能够高效开发,并且能提供多个平台的转移,也就是跨平台化,多语言化。

目前各互联网大厂都有提供广告sdk,存储sdk,推送sdk。如果你想要变流套现,一定会接入很多厂商的广告sdk,如果你想把文件存储到云盘,一定有专门的云盘sdk,如果你想使用地图也一定有百度sdk或者谷歌sdk。

很多初级程序员都是键盘侠,sdk侠,喜欢去调别人的接口,自己去不善于去封装或者接触底层代码。而能不能封装优秀的sdk,往往成为考核一个人资深的标准。接口统一,跨平台,简单不耗时,流程化。。。这些都是sdk工程师该需要的修养。

我公司曾经在工业上位机吃过苦头,没办法提供优秀的sdk,结果只能工程师入驻甲方,在甲方驻点,一手操办解决方案,这样其实弊端很大,同时成本高。合理的方案大都数不要跟甲方有过多的接触,人家甲