數(shù)據(jù)庫(kù)開發(fā)工程師的發(fā)展方向與市場(chǎng)需求大嗎
2021-11-06點(diǎn)擊量:483
21世紀(jì)我們迎來了互聯(lián)網(wǎng)時(shí)代,也迎來了數(shù)據(jù)庫(kù)開發(fā)工程師。數(shù)據(jù)庫(kù)開發(fā)工程師(DatabaseDeveloper)是從事數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)和數(shù)據(jù)庫(kù)應(yīng)用軟件設(shè)計(jì)研發(fā)的相關(guān)工作人員的統(tǒng)稱,他屬于軟件研發(fā)工程師,但又有一部分運(yùn)維工作的內(nèi)容。他主要從事軟件研發(fā)的工作,但同時(shí)也要參與數(shù)據(jù)庫(kù)生產(chǎn)環(huán)境的問題優(yōu)化和解決。數(shù)據(jù)庫(kù)開發(fā)工程師與傳統(tǒng)的數(shù)據(jù)庫(kù)管理員(簡(jiǎn)稱DBA,也稱為數(shù)據(jù)庫(kù)工程師)是不同的職位。傳統(tǒng)的DBA主要屬于運(yùn)維職位,而數(shù)據(jù)庫(kù)開發(fā)工程師則屬于軟件研發(fā)職位。但二者也有部分工作內(nèi)容重合,比如都要跟進(jìn)數(shù)據(jù)庫(kù)生產(chǎn)環(huán)境出現(xiàn)的故障問題,其中DBA主要負(fù)責(zé)故障處理,而數(shù)據(jù)庫(kù)開發(fā)工程師主要跟進(jìn)自己開發(fā)的系統(tǒng)模塊出現(xiàn)的bug或性能問題。根據(jù)研發(fā)的內(nèi)容不同,數(shù)據(jù)庫(kù)開發(fā)工程師可以分為兩大發(fā)展方向:數(shù)據(jù)庫(kù)內(nèi)核研發(fā)和數(shù)據(jù)庫(kù)應(yīng)用軟件研發(fā):a)數(shù)據(jù)庫(kù)內(nèi)核研發(fā):主要負(fù)責(zé)設(shè)計(jì)和研發(fā)數(shù)據(jù)庫(kù)管理系統(tǒng),重點(diǎn)關(guān)注的是數(shù)據(jù)庫(kù)管理系統(tǒng)內(nèi)部架構(gòu)的設(shè)計(jì)和實(shí)現(xiàn),比如MySQL分支的開發(fā)、Oracle10g新特性開發(fā)等;b)數(shù)據(jù)庫(kù)應(yīng)用軟件研發(fā):主要負(fù)責(zé)設(shè)計(jì)和研發(fā)數(shù)據(jù)庫(kù)管理系統(tǒng)衍生的各種應(yīng)用軟件產(chǎn)品,重點(diǎn)關(guān)注的是數(shù)據(jù)庫(kù)外部應(yīng)用軟件產(chǎn)品架構(gòu)的設(shè)計(jì)和實(shí)現(xiàn),比如分布式數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)中間件等。主要職責(zé):深入研究數(shù)據(jù)庫(kù)內(nèi)核相關(guān)技術(shù),設(shè)計(jì)并實(shí)現(xiàn)數(shù)據(jù)庫(kù)管理系統(tǒng)深入了解數(shù)據(jù)庫(kù)應(yīng)用的業(yè)務(wù)需求,主導(dǎo)設(shè)計(jì)不同數(shù)據(jù)庫(kù)架構(gòu)的應(yīng)用軟件,并持續(xù)優(yōu)化根據(jù)業(yè)務(wù)需求設(shè)計(jì)數(shù)據(jù)庫(kù)邏輯和物理模型,開發(fā)數(shù)據(jù)庫(kù)生產(chǎn)環(huán)境所需要的存儲(chǔ)過程、函數(shù)、腳本等參與數(shù)據(jù)庫(kù)生產(chǎn)環(huán)境的問題優(yōu)化和解決探索、研究新的數(shù)據(jù)庫(kù)架構(gòu)發(fā)展方向工作內(nèi)容:數(shù)據(jù)庫(kù)開發(fā)工程師的日常工作是設(shè)計(jì)、開發(fā)數(shù)據(jù)庫(kù)系統(tǒng)和數(shù)據(jù)庫(kù)應(yīng)用軟件,因此與軟件研發(fā)的過程一樣,會(huì)覆蓋需求、設(shè)計(jì)、編程和測(cè)試四個(gè)階段:需求:深入調(diào)研用戶市場(chǎng)需求,認(rèn)清項(xiàng)目的應(yīng)用場(chǎng)景,解決的問題,性能指標(biāo)等,需要與數(shù)據(jù)庫(kù)系統(tǒng)使用方反復(fù)溝通,確定具體的需求。設(shè)計(jì):根據(jù)收集整理的需求文檔設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)軟件的模型和架構(gòu),劃分模塊分別進(jìn)行概要和詳細(xì)設(shè)計(jì)。編程:按照模塊分工和設(shè)計(jì)文檔,進(jìn)行編碼和調(diào)試。測(cè)試:將開發(fā)完成的數(shù)據(jù)庫(kù)系統(tǒng)交給測(cè)試人員進(jìn)行測(cè)試,主要使用的測(cè)試方法有黑盒測(cè)試、白盒測(cè)試、壓力測(cè)試、性能測(cè)試等,測(cè)試全部通過后即可等待發(fā)布。當(dāng)數(shù)據(jù)庫(kù)系統(tǒng)軟件完成發(fā)布后,數(shù)據(jù)庫(kù)開發(fā)工程師還需要跟進(jìn)具體的生產(chǎn)環(huán)境使用情況,參與具體問題的改進(jìn)和優(yōu)化,提供解決方案。技能要求:1.通用基礎(chǔ)技能要求1)精通一種常用編程語言(C/C++、JAVA、PHP等),了解主流的框架、庫(kù)使用和原理2)深入了解計(jì)算機(jī)數(shù)據(jù)結(jié)構(gòu)和算法設(shè)計(jì),具備Linux操作系統(tǒng)基礎(chǔ)知識(shí)3)掌握基本的網(wǎng)絡(luò)編程知識(shí),熟悉多線程編程及其技巧4)熟練掌握Linux、webserver、數(shù)據(jù)庫(kù)、緩存相關(guān)技術(shù)的使用,了解內(nèi)部實(shí)現(xiàn)機(jī)制為最優(yōu)5)掌握數(shù)據(jù)庫(kù)基本原理和知識(shí),熟悉SQL語法規(guī)則和特點(diǎn)6)有開源數(shù)據(jù)庫(kù)(MySQL、PostgreSQL等)研究和開發(fā)經(jīng)驗(yàn)高階要求:1)熟練掌握分布式系統(tǒng)理論并有著大量實(shí)踐2)開源社區(qū)成員,為開源軟件提交過patch3)精通Linux系統(tǒng)IO、鎖等調(diào)優(yōu)技術(shù)軟素質(zhì)要求:1)有良好的英語閱讀能力,能夠閱讀英文資料2)自我驅(qū)動(dòng),主動(dòng)的學(xué)習(xí)能力和較強(qiáng)的動(dòng)手能力3)工作認(rèn)真細(xì)致,有責(zé)任心,勤奮踏實(shí),善于思考問題4)有時(shí)間觀念,獨(dú)立性強(qiáng),溝通能力好,具有團(tuán)隊(duì)合作精神職業(yè)發(fā)展:1.人才來源數(shù)據(jù)庫(kù)開發(fā)工程師的人才來源可以分為2個(gè)方面:應(yīng)屆畢業(yè)生和社招。1)應(yīng)屆畢業(yè)生:對(duì)于應(yīng)屆畢業(yè)生來說,要想成長(zhǎng)為數(shù)據(jù)庫(kù)開發(fā)工程師需要具備一些軟件研發(fā)方面的技能,同時(shí)對(duì)數(shù)據(jù)庫(kù)理論基礎(chǔ)有一定了解,對(duì)于數(shù)據(jù)庫(kù)管理系統(tǒng)有一些實(shí)踐經(jīng)驗(yàn),再加上較好的主動(dòng)性、工作認(rèn)真細(xì)致、具有團(tuán)隊(duì)合作精神即可;2)社招:社會(huì)招聘主要可以從軟件研發(fā)和DBA兩個(gè)方面來篩選人才。對(duì)于之前從事大型分布式軟件系統(tǒng)研發(fā)的工程師,比較容易轉(zhuǎn)型為數(shù)據(jù)庫(kù)開發(fā)工程師,只需要熟悉一些數(shù)據(jù)庫(kù)架構(gòu)和理論基礎(chǔ)即可。而對(duì)于DBA來說,已經(jīng)擁有大量的數(shù)據(jù)庫(kù)運(yùn)維經(jīng)驗(yàn),對(duì)于數(shù)據(jù)庫(kù)研發(fā)工作非常有幫助,此時(shí)再需要掌握一定的代碼編寫能力和分布式計(jì)算的基礎(chǔ),即可轉(zhuǎn)型成為數(shù)據(jù)庫(kù)開發(fā)工程師。職業(yè)發(fā)展方向:數(shù)據(jù)庫(kù)開發(fā)工程師的職業(yè)發(fā)展主要分為兩條線:技術(shù)方向和管理方向。1)技術(shù)方向:根據(jù)研究領(lǐng)域的不同,主要分為數(shù)據(jù)庫(kù)架構(gòu)師和數(shù)據(jù)庫(kù)運(yùn)維技術(shù)專家兩個(gè)方向。數(shù)據(jù)庫(kù)架構(gòu)師:熟練掌握各種數(shù)據(jù)庫(kù)管理系統(tǒng)的架構(gòu)和內(nèi)部原理,能夠根據(jù)實(shí)際業(yè)務(wù)需求,設(shè)計(jì)出不同的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)架構(gòu),并在業(yè)務(wù)高速發(fā)展時(shí),提供數(shù)據(jù)庫(kù)模型設(shè)計(jì)的優(yōu)化建議和解決方案數(shù)據(jù)庫(kù)運(yùn)維技術(shù)專家:這個(gè)發(fā)展路線與高階DBA的發(fā)展路線比較相似。當(dāng)數(shù)據(jù)庫(kù)開發(fā)工程師在跟進(jìn)和解決數(shù)據(jù)庫(kù)生產(chǎn)環(huán)境問題的過程中,積累了大量的運(yùn)維經(jīng)驗(yàn),熟練掌握了大量先進(jìn)的數(shù)據(jù)庫(kù)運(yùn)維技術(shù),比如分布式部署、性能監(jiān)控、彈性擴(kuò)容等,可以成長(zhǎng)為數(shù)據(jù)庫(kù)運(yùn)維技術(shù)專家,為各產(chǎn)品提供數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)和優(yōu)化建議。2)管理方向:從數(shù)據(jù)庫(kù)開發(fā)工程師開始持續(xù)發(fā)展,積累了一定技術(shù)深度,并且通過與業(yè)務(wù)部門交互溝通鍛煉了較強(qiáng)的協(xié)調(diào)和推進(jìn)能力,可以轉(zhuǎn)型為管理崗位。管理崗位的常見發(fā)展路徑包括經(jīng)理、總監(jiān)、CTO、CEO等,往往在小型創(chuàng)業(yè)公司管理崗位發(fā)展迅速,在中大型公司的發(fā)展速度相對(duì)較慢。行業(yè)競(jìng)爭(zhēng)力1.薪酬競(jìng)爭(zhēng)力1)橫向?qū)Ρ龋簲?shù)據(jù)庫(kù)開發(fā)工程師屬于專項(xiàng)領(lǐng)域的高質(zhì)量技術(shù)人才,市場(chǎng)需求旺盛,薪酬競(jìng)爭(zhēng)力較高,往往高于軟件研發(fā)工程師2)縱向?qū)Ρ龋弘S著經(jīng)驗(yàn)和技術(shù)深度的積累,越資深的研發(fā)工程師往往越值錢。但是公司規(guī)模不同,薪酬往往差別較大。由于小公司在數(shù)據(jù)庫(kù)研發(fā)領(lǐng)域起步晚,需求低,因此中小公司的薪酬往往略低于BAT等大型公司。3)第三方薪酬調(diào)查報(bào)告:《2013年數(shù)據(jù)庫(kù)工程師薪酬調(diào)查報(bào)告《DatabaseDeveloperSalary市場(chǎng)需求1)數(shù)據(jù)庫(kù)研發(fā)行業(yè)的市場(chǎng)價(jià)值:參考ITOM(ITOperationManagement)2013年的市場(chǎng)規(guī)模是190億美金2)人員需求:中大型公司尤其緊缺,初創(chuàng)公司需求量較低3.技術(shù)能力1)數(shù)據(jù)庫(kù)開發(fā)工程可以接觸到最前沿的數(shù)據(jù)庫(kù)系統(tǒng),目前業(yè)界比較流行的數(shù)據(jù)庫(kù)系統(tǒng)主要分為關(guān)系型的和非關(guān)系型的,這些數(shù)據(jù)庫(kù)都成為當(dāng)前國(guó)內(nèi)外大型公司的底層存儲(chǔ)系統(tǒng)。關(guān)系型數(shù)據(jù)庫(kù):MySQL、Oracle、SQLServer、IBMDB2非關(guān)系型數(shù)據(jù)庫(kù)(NoSQL):Redis、MongoDB、HBase、Cassandra2)根據(jù)不同應(yīng)用場(chǎng)景,數(shù)據(jù)庫(kù)架構(gòu)又可以分為單機(jī)數(shù)據(jù)庫(kù)、集群式數(shù)據(jù)庫(kù)、分布式數(shù)據(jù)庫(kù)和云數(shù)據(jù)庫(kù)等。由于經(jīng)驗(yàn)的不同,數(shù)據(jù)庫(kù)開發(fā)工程熟練掌握的數(shù)據(jù)庫(kù)架構(gòu)往往不同,越高階的數(shù)據(jù)庫(kù)開發(fā)工程掌握和了解業(yè)界的數(shù)據(jù)庫(kù)架構(gòu)前沿知識(shí)越豐富。數(shù)據(jù)開發(fā)工程師的發(fā)展前景好,月薪也高,是一個(gè)非常不錯(cuò)的職業(yè)。本文由培訓(xùn)無憂網(wǎng)喜巧發(fā)布,更多信息歡迎關(guān)注培訓(xùn)無憂網(wǎng)數(shù)據(jù)庫(kù)開發(fā)工程師培訓(xùn)頻道或添加老師微信:15033336050...