如何成为一个优秀的DBA
今天在群上跟技术友们聊天。发现有几个大学生,他们很担心自己找不到工作。我问他们理由,他们说我们没有经验,公司不要怎么办?这些孩子们的担心,让我感觉到奇怪。
如果我是一个公司的老总,我会有这两种考虑:要大学生,培养他们,他们很有朝气,也有可能很有灵气,有的能成为未来公司的台柱子;不要大学生,培养他们是要时间成本和金钱成本的。我想我是第一种老总,我愿意去好大学里招学生。我在西安,我就喜欢去西工大和西电招学生,这两个学校的计算机和电子信息都是一流的。
我不知道是谁在不停的宣传,说什么公司都要有经验的,你们大学生没有经验,很难找到工作。如果这些人是培训机构的人,我可以理解,你们可能是为了忽悠学生们去你们那个培训机构培训,如果你们不是,那你们这样说是为什么?
今天群里有个刚毕业找到工作的学生很嚣张。他觉得没必要学基础知识。那我不知道他要学什么。什么是基础知识?如果,你要做一个C语言程序员,你要会什么?我想最起码的数据结构是要会的,如果不会数据结构,C语言能提供给你多少机会?在我的理解里就是数组。当然了,如果你胸无大志,就想干一个普通的,碌碌无为的码农,干一辈子,那也无所谓。如果你有别的本事,能得领导欢心,那也无所谓。如果要做一个DBA,要不要会第一范式,第二范式,第三范式呢?不会的话,你能做什么,也许你也能做得很好,但是在数据库设计这种高段位的工作时,你就没用武之地了。或许你设计出的数据库全部是第一范式,乱的一塌糊涂。如果要做一个DBA,要不要会SQL呢?不会的话,为什么OCP考试的,不管9i,10g还是11g,都要考1z0-007这门课?这不就是基础么?众所周知,oracle是按照codd的关系数据库理论设计出来的第一个商用数据库系统。codd的理论就是oracle的基础。
我说这么多,就是希望大学生知道,不要过分担心企业会要求你的工作经验,即便你有工作经验,也不过半年多的实习经验。你和工作了3年以上的人,能比吗?假如我是老总,我把你招进公司了,发现你不但不会写程序,问你什么是类你都不懂,你告诉我你很有兴趣,你很想学,你也会努力,那我能说什么,我想我会告诉你,去领一个月工资,走吧。你师傅给你说什么工作,你也不可能很快理解的,因为你没有基础。
基础是什么?基础就是练武的人练的马步。只有马步蹲好了,你才能下盘稳定,才能不被人一脚踢倒。基础就是练武的打沙袋,力量上去了,才能用好的拳术,将敌人一击致命。
所以,不要担心什么经验,只要是去大学招人的公司,都是有诚意培养大学生的,最起码是想培养学生干活的。只要你有本事,你也有继续学习的本事,就可以了。重基础,才能宽口径。