企业在找DBA的时候,希望找到经验丰富,工资要求不太高的老手,一般不太喜欢找一个工资要求不高的新手,让他自己去锻炼成长。如果找不到合适的,宁可加点钱也不希望降低要求。这个问题也是阻碍年轻的DBA刚入行的时候加入甲方的主要原因之一,很多DBA只能先加盟数据库服务厂商,积累了足够的经验,才有机会进入甲方工作。
有些年轻的DBA也和我讨论过这个问题,问我有没有什么好的办法,能够通过学习,比如报个什么靠谱的培训班,能够让他们尽快缩小与老手的差距。其实要解决这个问题还真的不是报个啥班就能解决的。
其实有些新手的数据库知识不见得比老家伙差太多,可能他们也过了OCP/OCM的考试,系统地学习了大量的数据库知识,某些方面的知识可能比我这个没有考过OCP的人都要系统,但是为什么处理起问题来,新手和老手时间的差距还是那么肉眼可见呢?
当我们去处置一个数据库的问题的时候,首选就是要去匹配相关的基础知识,为什么会发生什么现象,这个现象可能与什么知识点有关。对于一些关联性很强的问题,可能新手与老家伙的反应时间差不多,这种情况下,一个经过系统学习或者培训的新手可能比老鸟处理得更好。不过当问题的复杂度增加的时候,新手与老手的差别就显现出来了。有经验的老手的经验中可能已经存在这样的案例,那么他很快就能够根据以往的案例去分析问题了,哪怕这个案例不那么典型,老手也可以根据经验很快构建起当前现状与知识点之间的可能关系,哪怕不太确定,需要上网去搜索,其搜索效率也远高于新手。而新手因为经验缺乏,所以还很难建立起现状与知识点之间的关系,所以只能靠咨询老手或者上网搜索,去寻找关联关系。
网络上的资料良莠不齐,而且现象与本质之间的貌似的关联关系有很多,新手很难分辨出到底哪个资料所描述的问题与本问题是一致的,这就导致同样遇到问题上网去搜索,新手的成功率和效率都要低很多。
在未来AI助手的帮助下,上网搜索的工作很可能会被搜索企业内部的知识库所替代,AI助手可以根据你当前的现状自动从知识库中去匹配相关的知识,这种搜索的准确性要比互联网搜索高得多。以前我也遇到过很多新手在网上搜到了错误的资料,照着错误的资料去实施,最终把一个小问题变成了大问题。知识搜索的准确性对于解决问题十分关键,构建一个高质量的企业内部知识库将会成为企业未来提升自己的IT运营水平必须做的一件事。
实际上在高质量利用企业内部知识库方面,老鸟依然优势明显。准确地描述当前的问题,场景结合数据,综合、客观地提问也是一种技能。其实在未来的AI智能体辅助的IT运营实践中,强者更强这一点更加明显,智能体可以助力各类人员,但是对强者的能力加持是更强的。
除了因为经验缺失导致的知识关联困难之外,新手和老手的区别在于老手的运维经验中包含了很多基线和容量信息。某套系统本身的QPS应该是多少,后端存储能够支撑的IOPS是多少,平均的IO响应时间多少是正常的,超过多少就算异常了。好像这些基线数据并不难已获得,但是基线是动态的,硬件配置、负载、业务类型不同,这些数据都会有所差异。新手只能根据学习、培训时获得的案例去脑补这些数据,而老手则会根据自己的经验,大致猜测出一个相对而言比较接近的数据。新手必须在实践工作中不断积累这些数据,才能让自己这方面的能力接近老手的水平。
不管如何,增加实战是解决新手的这些问题的关键,就像你去室内攀岩,虽然你已经经过了基础培训,不过前方的可能的选择很多,试错的可能很大,如何在看似杂乱无章的环境中找到一条合适的路,同一个馆子里的同一面墙,你走上几次,经验就丰富多了。
对于一个有心人,如果只是维护企业内部固定的系统,针对几套特定系统的基线积累是很快可以完成的,只要你把采集回来的数据做个表格,通过一两个月的积累,新手完全可以分析出其中的规律。不过要针对陌生系统构建起基线模型,仅仅针对自己管理的那几套系统就不够了,需要有更丰富的经验。这部分经验并不一定来自于你干过的工作,可以来自于任何地方。比如微信群里的讨论,与其他人分享和分析某个问题等,都可以让你快速接触到更多的系统,获得更多的数据。其实我当年学习Oracle优化的时候,也是通过在QQ群里或者oraclefans.cn上免费帮别人解决问题快速提升自己这方面的能力的。
昨天金仓的一个小伙伴和我讨论他们准备新开设的一个免费课程KCSD(金仓认证诊断专家),当时我就建议增加更多的WORKSHOP,并且最后加一个章节,提供一个完整的实操复习题。这类实战型的课程是相当不错的,能够让学习者直接学会处理问题的实战方法,不过仅仅依靠一个两天的课程是不够的。必须让 学员多接触一些实战题目,才能训练出真正的能力。新手向老手进阶的过程中,绝对不是简单的课程学习,而是大量的实战。