牛新庄大侠的简历,我辈后生共勉
程序员文章站
2022-03-26 19:20:10
...
http://blog.csdn.net/programmer_editor/article/details/3865839
编者按:牛新庄,数据库维护,优化和架构专家;曾获得国内数据库领域最高荣誉----"2006年中国首届杰出数据库工程师"; 数年前曾被IBM全球软件部以年薪60万元人民币聘用,而他却婉然拒绝;这样一个躲藏在幕后的"牛人",有着怎样的学习,发展之路?为此,本刊特邀牛新庄博士,请他讲述一个真实版的"数据库之路";
选定发展方向 1999年,我在开始读研时就给自己确定了以后的发展方向; 当时有两个方向:网络,数据库技术;因为在2000年之时,网络大热,市场上拥有CCNP,CCIE证书的人特别牛;所以我当时也考下了CCNP证书,但后来发现网络方向涉及很多硬件层面的东西,这些都对厂商的依赖性太强,个人发挥空间不大;而我喜欢钻研,所以慢慢开始转向专攻数据库技术; 在认准数据库这个方向后,我开始深入学习数据库理论方面的知识;当时,人大王珊教授的《数据库系统原理教程》一书,我读了几十遍;在学习数据库理论的同时,我开始接触并深入学习DB2和Oracle,并从1999年开始使用DB2 V5.2;那时,市场上关于DB2方面的技术书籍几乎没有,互联网也不像现在这么发达;因为我的导师做一个课题需要用到DB2数据库,但是我只能依靠查看 DB2随机文档来学习;那时,我还自己兼职,通过帮别人做些小软件赚钱,外加课题经费,以支付考OCP认证和DB2认证的费用; 到现在为止,我一直认为考认证是一个很好的学习动力;因为考试费用不菲,如果不想浪费钱只能拼命看书;我在读研的2000年就通过了OCP 8i认证,后来又陆续通过DB2 V5.2认证;这些认证极大地增强了我的自信;同时,在帮助导师用PB,Delphi等编程工具做应用开发时,我有意识地增强对SQL的学习,这对我后来的性能调优工作非常有帮助; 这里我想说的是,做好一个时期的人生规划非常重要;我们首先要有一个明确的努力方向和规划,然后有意识的往这个方向努力;这种积极主动的学习要比被动学习效率高很多; 第一次做培训 "机遇偏爱于有准备的头脑",这句话虽是老生常谈,却是人生真谛;记得2000年底,我在网上看到一个帖子说需要一个人去安装DB2数据库,差旅报销,每天500元,我喜出望外;因为这项工作需要有DB2认证才能去,而我那时DB2高级系统管理和应用开发的认证都有,所以很快就通过了对方的审核;但是当我到客户现场时才发现,不是安装DB2而是要给客户讲课,当时我就傻眼了,因为讲课需要的知识远比安装配置数据库要难得多,更何况我之前根本没有讲过课;没办法,压力也是动力,只能前一天夜里看教材备课到凌晨5点;短短睡了两个小时后,8点半去讲课;四天讲课下来,我总共休息了12个小时;还好自己毕竟有 DB2应用开发经验和DB2认证做基础,总算勉强应付了过去;只是没想到的是,这次并不算顺利的培训,竟是我未来几年培训生涯的开始; 将培训当学习的动力 经过第一次讲课后,我看到了自己的差距,知道仅有认证是不够的;客户的很多问题,书本上没有答案,需要自己在实践经验上做努力;另外,讲课前讲师需要把一些原理,概念性的东西弄清楚,也需要对数据库进行深入学习; 后来,IBM培训部通过一些渠道知道我能讲DB2且拥有相关证书,就找我讲授DB2系列课程;所以,从2001年开始,我就经常作为IBM官方讲师讲授 DB2系列的所有课程;我自认为讲课是一个很好的学习过程,因为课前要深入了解概念,对于自己的理论深入学习有很大帮助;同时,课堂上学员的实际操作问题也会强迫自己做更深入的研究; 我对培训有这样的认识:学员听你讲三个小时,要远远胜过自己看3小时的书;如果把一堂课的内容比喻成一杯水,那老师至少应该提前储备一桶水;所以,在讲课之前,我精心准备实验,深入和学员交流;我讲课从不照本宣科,而是自己准备了很多教材外比较实用的知识来扩展教材内容;同时争取上课过程中把一些概念用浅显易懂的例子来讲解;要想做到这些,首先自己必须对这个概念有深刻的理解才行,这一切都在客观上促进了自己的学习; 随着培训的增多,有部分客户开始找我做实际的调优工作;记得我第一次去为客户现场调优是2001年,去大连大通证券解决锁等待问题;客户环境用的是AIX 和CICS;当时虽然问题解决了,但自己心里还是比较虚,因为对AIX和CICS不了解,万一是这两个方面有问题,自己就没办法搞定了;这让我认识到一个复杂系统的调整往往需要具备多方面的知识;这件事之后,我在网上买了一个140的IBM工作站小机,自己安装AIX并开始学习; 数据库学习Tips 根据我对数据库的理解,目前市场上虽然有Oracle,DB2,Informix,Sybase和SQL Server数据库,但Informix数据库已经被IBM收购,而Sybase数据库在技术和市场上正走向没落,占据市场主要份额的就是 Oracle,DB2和SQL Server数据库;SQL Server数据库非常好,但是很遗憾的是只能在Windows平台使用;所以如果你深入研究SQL Server数据库,我只能说获取高薪的概率稍低,而且坦白的说,使用SQL Sever数据库的企业一般是中小企业居多;而国内做Oracle数据库的人太多,如果你想在Oracle领域出人头地,难度极大;但是,做DB2数据库的人反而不太多,物以稀为贵;况且,DB2数据库广泛应用在银行,电信,制造行业,零售行业,保险行业等"高薪"领域中,所以我强烈建议学习DB2数据库,做IBM技术一般获取高薪的概率相对会大一些;我们的时间精力是有限的,所以必须选择好方向然后努力为之;除了SQL Server,这几个数据库我都在使用,我个人感觉除了功能外,对于运行稳定而言,相对于Oracle不太稳定的优化器,DB2无疑是最稳定的,它的优化器无比强大;如果能在锁方面再有更先进的技术,那么DB2将是完美的; 这期间,我一边学习,一边通过了AIX的全部认证;记得非常清楚的是,为了做HA的实验,我花费了很大工夫;因为那时小型机不像今天这么普及,无法搞到 7133阵列;后来我又学习了CICS,WebSphere,MQ和存储;就这样,在我培训的过程中,发现自己哪方面薄弱并且感觉这个方向有前途,我就会开始学习;不过,那时我的技术主要还是围绕IBM产品为主;由于自己对培训比较用心且颇受客户好评,找我做培训的国内培训机构开始变多;这个期间我自己的技术水平也增长很快; 2002年11月,我参加了首届 "IBM DeveloperWorksLive! China 2002"大会,并获得IBM首次在国内评选的"杰出软件技术专家"奖,当时在6名获奖者中名列第2;这个奖项客观上对我在客户群的拓展方面起到很大帮助;找我解决问题的人更多了,所以2002--2003年也成了我技术提升最快的两年; 这两年内,我陆续学习了HP-UX,WebSphere和MQ并通过认证;我自己的感觉是,如果你把一门技术研究得非常深,非常透,由于触类旁通的缘故,再去学习另一门技术时就很轻松;所以,我在学完AIX再去学习HP-UX时,感觉非常轻松;同样,在学习ORACLE和DB2后再去学习Informix 也同样很容易;通过这种纵向的深入和横向的比较,各种产品的所长所短也会非常清楚,自己的技术视野无意间更加全面化;而且通过对一个产品的深入,你往往能够发现这个产品的缺点和需要改进的地方;就拿DB2来说,每次版本更新的新特性,在新版本未上市前我就可以猜得差不多了;这主要有三个原因:一是我贴近真实用户,了解他们的真正需求;二是自己一直在用且不断总结思考;三是这些特性别的数据库有,而DB2没有,那在下个版本就会增加;所以相对来说,我自身对新版本的新特性学习就非常轻松了;就DB2而言,我拥有DB2 V5.2 ,V7.1,V8.1和DB2 V9的全部认证,而且我应该是国内第一个把DB2 V8认证全部通过的人,当然,这其中也有巧合的成分; 重要的一点是:学习过程中,要不断地把实践和理论融合,知其然更知其所以然,这样提升就会快很多; 现场救援"赶场"记 2004--2005年是我最忙碌的两年,那时候找我讲课的培训机构和需要性能调优的客户非常多,基本上整天在天上飞;培训机构找我讲课常常需要提前一个月预约;那两年内,除了过年几天,其他时间都是在做培训和诊断,调优,足迹遍及国内主要城市;我自己基本上是国内六大银行开发中心和数据中心培训的指定讲师,并为北京银信科技,山东农信,广东农信,交行大集中IBP等项目做数据库技术顾问; 那时的我年轻,精力充沛;记得最刺激的一次是2004年9月的一天,上午9点为上海移动IT部门做AIX动态逻辑分区(DLPAR)培训,结束时是17 点;之后,立刻坐出租车前往扬州,于20点到达扬州供电局并协助他们进行电力负荷控制系统项目上线,一直奋战到凌晨3点半;接着,又连夜乘出租车赶往上海,在凌晨6点到达酒店;休息两小时后,8点出发,准时出现在上海移动培训现场;那时我对报酬不太在意,想的主要是用心积累技术经验和客户资源;在我看来,能够不断通过实践让自己成长是第一要义;而且,去的客户现场越多,处理的问题就越多,也就越多地发现自己的不足,然后再拼命学习,不断积累,总结和思考,进入了一个良性循环; 至今我仍然怀念那段充实,紧张而充满激情的光辉岁月;2004年和2005年,一方面因为以独立咨询顾问的个人身份无法出具发票;另一方面,项目越做越大,尤其是很多银行的数据库架构和维护项目涉及合同金额也越来越大,需要签订正式公司合同;于是,我就分别在上海,北京注册了公司;当然这些年我并非都是一帆风顺,也犯过一些重大错误,例如:我曾经在2002年5月1日把海南美兰机场的数据库调死,导致机场航班信息管理系统瘫痪;早期也曾经因为调整某证券系统宕机而影响股民交易,这些都对客户造成了影响,但这些都是成长必须要走的路;经过这两次事件后,我自己也思考,总结了很多,在之后的调优工作中我基本上再没有犯过错误; 我的秘诀:学习,积累,规划 2006年8月我获得"2006年中国首届杰出数据库工程师"称号,算是对我多年学习数据库的一个总结;自2007年开始,我专注于做一些大客户的运维工作,并相应减少了培训次数;2008年,我被建设银行以年薪217万聘请为资深技术专家来维护Oracle和Informix数据库;就做技术而言,以一己之力能挣到年薪几百万常常令我感到自豪,也让我感受到技术的魅力,觉得自己多年来对技术的钻研得到了认可; 之所以讲述我的技术之路,主要目的是给大家一些参考,尽可能多地去了解社会的需求,有意识给自己制定人生规划;我自己认为,多年来能取得这样的成绩,勤奋,努力和坚持一直是我最看重的;因为有了这些,才不至于当机遇光顾时,你却不知所措; 现在很多年轻人,恰恰缺少的就是这样的忘我与痴迷,在我熟悉的数据库技术领域,很多年轻人越来越早地将注意力集中在薪水和职位上,这是很不明智的行为;其实,往往那些将诸如高薪与职位忘怀的人反而能更快地取得成功;"不经一番寒彻骨,安得梅花扑鼻香?"这样的道理人人都懂,可能够真正去实践的人却并不多;结合我的学习经验与感悟,我总结有16字要诀:去除浮躁,认真学习,不断积累,寻找机遇; 最后,我用这句话与大家共勉:古之成大事者,不唯有超世之才,亦唯有坚韧不拔之志也!
作者简介:
牛新庄博士,研究方向为数据仓库和数据挖掘;是IBM官方资深培训讲师(培训DB2,AIX,MQ,WebSphere和CICS);2002年获IBM 杰出软件专家奖,2006年获"首届中国杰出数据库工程师奖","2006年IT168技术卓越奖";是中信银行,山东农信,广东农信等公司资深技术顾问,中国建设银行总行特聘资深技术专家;拥有OCP,AIX,DB2,HP-UX,MQ,CICS和WebSphere等二十多项国际认证;著有《Oracle数据库开发讲座----Oracle9i Jdeveloper与J2EE实务应用》,《DB2应用开发实战指导》,《循序渐进DB2-系统管理,运行维护与应用案例》,《深入解析DB2-高级管理,内部体系结构与诊断案例》和《DB2性能调整与优化》等书;
(本文来自《程序员》杂志0901期)
推荐阅读