1.2 善于规划分类才有效果
1.2.1 分类与角色密切相关
“前面说过了,Oracle的知识点是非常多的,所以接下来我们要研究一个学习路线图,这才可以做到事半功倍。
按照我的习惯,我把Oracle知识分成如下5类,具体如图1-2所示。
图1-2 Oracle知识分类
因此你首先确认当前工作的重心是什么,或者说你在数据库应用中的角色是什么,具体如图1-3所示。
图1-3 数据库应用角色
那不同应用角色,都要掌握哪些重点知识呢?结合上述所有分解图的分析,将输出如下一个非常重要的Excel图,注明了各个角色需要掌握的知识要点,如图1-4所示。
图1-4 各角色需要掌握的知识要点
这时候应该有很多人关心这么多知识该如何获取,图1-5展现了知识获取的途径。
图1-5 知识获取途径
“哎呀,怎么觉得这会儿自己不是在上数据库技能培训课,而是在玩看图说话的游戏啊!”总结完前面的系列图片后,梁老师打趣地说道。
小莲扑哧一声笑了,在一片轻松的气氛下,梁老师让大家休息15分钟。
1.2.2 角色自我认识有讲究
课间休息时间过得飞快,没一会儿梁老师开始召集大家坐回座位上课了。
“大家好,前面讲述的那个不同数据库应用角色所需掌握的知识要点,大家还记得吧?”听到大家肯定的回答后,梁老师开始发问,“大家能否说说我的这个知识要点图有啥特点?”
一小会儿寂静后,晶晶举手了:“梁老师,我发现无论是哪个数据库角色,基本原理都是必学的。”
“回答得非常好!”梁老师当即表示肯定。
“梁老师,我发现数据库各个角色中,设计人员最不容易,所有的知识点都需要掌握,而另外三个角色却都只是掌握部分即可。”胖乎乎的小伙子敬昱粗着嗓音回答道。
“完全正确!下面,我来详细描述这4个角色的特点。”梁老师继续说。
“从企业需求来说,数据库开发所需人数往往是最多的,学会了SQL和PL/SQL技巧后,大部分人直接就可以从事产品相关的开发,而无论哪个IT企业,从事产品开发的人员数量总是最多的。不仅是数据库开发,从事Java开发、C语言开发的人员,只要他的应用和数据库有关系,就必然会应用到SQL和PL/SQL,差别仅仅是多了一些封装工具而已。由此可见,数据库开发的学习是受众最广的,但是开发就离不开算法,对从业人员的逻辑思维能力要求比较高,尤其是面对复杂的需求的时候。
相比数据库开发来说,数据库管理人员的人数需求在IT市场要少得多。这是由工作性质决定的。无论生产还是测试环境,搭建数据库都不可能非常频繁。另外如果数据崩溃需要恢复、数据需要迁移、紧急故障需要处理的情况频繁出现,那这个企业基本上也无法正常运营下去了。但是一旦出现问题,管理人员无法及时恢复故障,将会受到来自各方面的指责,压力非常大。和开发人员相比,管理人员不需要每时每刻地忙碌着,但是却要时刻注意充电,提升自己的应急处理能力,还需要时刻对系统进行健康检查,以防不测。此外,虽然开发在逻辑思维方面的要求要高于管理,但是责任和压力却远没有管理这么大。
接下来说数据库优化的角色,不少企业没有设置专门的数据库优化角色,它可能被融入资深开发、资深管理和资深设计人员的技能之中。对于有这样角色的企业来说,场景是这样的:生产环境运行缓慢,数据库管理人员通过跟踪诊断,查出问题所在,原来是系列SQL运行缓慢导致的整个数据库性能低下。那这个时候对于数据库管理人员来说,他的工作结束了,然后优化人员介入,利用自己的知识优化这些SQL。在没有专门角色的场景下,可能是这个管理人员有着丰富的技能,他优化了这些SQL,也可能是资深开发人员或者是资深设计人员优化了这些SQL。但是从工作职责划分、从更专业的角度来说,应该设置专职人员。数据库优化所需要的人员是最难估算的,或许很多,或许很少,甚至没有,但是却是最重要的技能之一。其实开发、管理、设计三个角色,对优化相关知识的学习应该是多多益善,懂得越多,工作越得心应手。
最后说数据库设计,大家看我的角色技能图就知道了,设计需要掌握的知识点最多,从事数据库设计是最不容易的,这是属于核心岗位的位置,少数人的规划和部署决定了产品最终的质量和生命力。从市场需求来说,从事设计的人员最少。一般来说,一个应届毕业生在相关开发、管理岗位努力工作两年后,都可以把开发及管理工作做得比较出色,优化工作的得心应手应该至少要三年以上,但是要想从事设计相关工作,一般需要五年以上的工作经验。不知道大家是否注意到,设计中已经强调了对业务的了解。”
台下听得津津有味,对于大多新人来说,这些都是他们没听过的,却是非常重要的。梁老师很清楚自己为什么要花费这么多精力来整理阐述这些东西,他工作十来年了,见过的技术人员来来去去、一波又一波。不少人工作多年后还没弄清楚自己手头的工作性质,需要学什么,要怎么去学,要学成什么样,或者说该先学什么,后学什么,一概不清晰,一片混乱。感叹之余,梁老师决定了这次新人培训的具体内容。
接下来,梁老师向大家提一个问题,“各位同学,在数据库相关的 4 个角色里,你们最愿意做什么呢?”
“开发。”
“管理。”
“设计。”
“优化。”
“设计和优化。”
“管理和优化。”
梁老师忍不住笑出来了,回答的内容还真丰富,连组合都有了!
“很好!大家知道我为什么要问这个问题吗?除了想了解一下大家各自的兴趣外,最重要的是为了告诉大家一个就业的技巧。很多人眼高手低,一毕业就想从事设计及优化相关工作,结果碰了一鼻子灰找不到工作,因为企业根本不给你这个机会。也有人一个劲地想做数据库管理工作,但是由于管理相关的岗位比较少,结果成功的人比较少。很多时候当兴趣和工作不匹配时,不要强求,要耐心找机会。比如SQL开发技巧掌握后,可以匹配到很多适合自己的岗位,轻易地获取工作机会,而精通SQL及PL/SQL开发技巧,对管理优化和设计都是有用的!这是多好的起步啊。
我觉得如果这样走过,应该是一个完美的路线。刚毕业从事数据库开发相关工作,后续有机会再从事管理相关工作,期间兼顾优化相关的技能学习,主动承当起优化的任务,争取成为一个兼职或者专职的优化人员。最后,随着各项技能的娴熟掌握和业务知识的不断熟悉,在学习掌握了设计相关的知识后,水到渠成地从事数据库设计相关工作,在这相对较长的时间里,人来人往潮起潮落,你总能等到你感兴趣的工作角色。我觉得这样走过来的技术人员应该不是一般的技术人员,而是一个技术专家,企业的核心技术骨干。当然,大家千万不要有误解,就是认为设计就一定比管理好,管理就一定强过开发,市场的供需决定了人员的比例,但是各个岗位都可以有出色的专家,最完美的还是在自己感兴趣的领域中大展手脚!
今天,我给大家说了和数据库相关的工作都有哪些角色,他们分别需要掌握什么样的技能,并且说明了各个角色的差异,另外还希望大家对角色的供需市场有所了解,并提供了一个我自己认为完美的规划路线,希望我说的这些能对大家有帮助。”
台下响起了长久的掌声……