- 相關(guān)推薦
一個(gè)系統(tǒng)架構(gòu)師的成長(zhǎng)之路
成為架構(gòu)設(shè)計(jì)師是廣大開(kāi)發(fā)者職業(yè)發(fā)展道路之一,架構(gòu)師究竟是個(gè)什么樣的職業(yè)?需要具備什么基本能力?如何才能成為一個(gè)優(yōu)秀的架構(gòu)設(shè)計(jì)師?一起來(lái)看看下面這位網(wǎng)友的成長(zhǎng)之路!
來(lái)這家公司從事信息化工作已經(jīng)有三個(gè)年頭了,有必要對(duì)這三年的工作和成長(zhǎng)以及不足之處做一個(gè)總結(jié)。
剛來(lái)公司的時(shí)候,領(lǐng)導(dǎo)決策要將系統(tǒng)重新開(kāi)發(fā)。有的是成熟的業(yè)務(wù)邏輯,老的搬過(guò)來(lái)就可以了。當(dāng)然,由于隨著企業(yè)業(yè)務(wù)的發(fā)展,會(huì)有新的需求,但大部分的需求是不變的。
在項(xiàng)目的開(kāi)發(fā)方面
沒(méi)有的是:
1.沒(méi)有熟悉JAVA的開(kāi)發(fā)人員。
2.沒(méi)有J2EE項(xiàng)目的經(jīng)驗(yàn)。
有的是:
1.IT項(xiàng)目的開(kāi)發(fā)、測(cè)試和維護(hù)經(jīng)驗(yàn)。
2.數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)。
上述便是我的團(tuán)隊(duì)情況的簡(jiǎn)要概況。項(xiàng)目總是要做的,因?yàn)轭I(lǐng)導(dǎo)決策了啊。
先看上述兩個(gè)問(wèn)題我們是如何解決的。
1.針對(duì)開(kāi)發(fā)團(tuán)隊(duì)沒(méi)有JAVA的開(kāi)發(fā)經(jīng)驗(yàn),進(jìn)行培訓(xùn),由我親自操刀。培訓(xùn)為期15天,從開(kāi)發(fā)環(huán)境熟悉,到JAVA基礎(chǔ)知識(shí),上午半天講知識(shí),下午上機(jī)練習(xí)。
2.針對(duì)沒(méi)有J2EE的項(xiàng)目經(jīng)驗(yàn)。
整個(gè)項(xiàng)目就我一個(gè)人有過(guò)J2EE的項(xiàng)目經(jīng)驗(yàn),但是我以前沒(méi)有做過(guò)J2EE項(xiàng)目的架構(gòu)師或管理人員,我只是做過(guò)開(kāi)發(fā),熟悉里面的技術(shù)和開(kāi)發(fā)技巧。怎么辦?我們是這樣解決的,請(qǐng)老師。專門請(qǐng)了老師來(lái)講架構(gòu)設(shè)計(jì)知識(shí)。這還不夠,我們花錢請(qǐng)人做架構(gòu)設(shè)計(jì)。
但只是做架構(gòu)設(shè)計(jì),生成一個(gè)架構(gòu)說(shuō)明書后,離架構(gòu)的工作還很遠(yuǎn),還有很長(zhǎng)的路要走,而在合作公司做好架構(gòu)設(shè)計(jì)后,他們的工作也就基本結(jié)束了。后面的架構(gòu)的工作,基本上是由我來(lái)做的。
我說(shuō)說(shuō)我都做了什么事情。
(1)按照架構(gòu)說(shuō)明書,將整個(gè)架構(gòu)環(huán)境搭建起來(lái)。
(2)開(kāi)發(fā)一套便于開(kāi)發(fā)人員開(kāi)發(fā)的開(kāi)發(fā)框架。
(3)設(shè)計(jì)了Swing的MVC模式,并開(kāi)發(fā)實(shí)現(xiàn)。
(4)開(kāi)發(fā)了整個(gè)系統(tǒng)的基礎(chǔ)組件,為了實(shí)現(xiàn)架構(gòu)中的復(fù)用的原則,這個(gè)很重要。
(5)負(fù)責(zé)整個(gè)系統(tǒng)的權(quán)限的管理,這個(gè)很重要,跟各個(gè)模塊都有關(guān)系。
(6)負(fù)責(zé)開(kāi)發(fā)的編碼規(guī)范的制定,包括JAVA的編碼的規(guī)范,同時(shí)還有質(zhì)量屬性方面的編碼的規(guī)范。
上述,只有(1)是現(xiàn)成的,其它的都是具體的架構(gòu)方面的工作。
很多人,都以為,架構(gòu)師嘛,不就是高高在上的,待在象牙塔里給開(kāi)發(fā)人員發(fā)號(hào)施令的人嗎?其實(shí)不然,架構(gòu)師需要每天跟開(kāi)發(fā)人員在一起,一起寫代碼,一起工作,一起交流。
回顧起,在搭建快速開(kāi)發(fā)框架的過(guò)程中,開(kāi)發(fā)人員在開(kāi)發(fā)的過(guò)程中,提出了很多有意義的改進(jìn)的意見(jiàn),直到今時(shí)今日,我們還在改進(jìn)。只有開(kāi)明的架構(gòu)師,才能夠設(shè)計(jì)出好的系統(tǒng),好的基礎(chǔ)組件。當(dāng)然沒(méi)有意義的,也被篩選掉的,架構(gòu)師必須要有這樣的決斷力。
Swing的MVC模式就不說(shuō)了,可能每個(gè)團(tuán)隊(duì)對(duì)于該項(xiàng)設(shè)計(jì)都會(huì)有所不同。
說(shuō)說(shuō)如何實(shí)現(xiàn)組件的復(fù)用,要實(shí)現(xiàn)組件的復(fù)用,必須要鼓勵(lì)開(kāi)發(fā)人員復(fù)用已有的組件以統(tǒng)一界面風(fēng)格以及減少工作量。那么,就要告訴開(kāi)發(fā)人員,目前我們的系統(tǒng)有哪些基礎(chǔ)組件,他們都是怎么樣使用或調(diào)用的。有了這些,開(kāi)發(fā)人員自然就肯用了。
關(guān)于編碼規(guī)范,可能很多人覺(jué)得這是項(xiàng)目開(kāi)發(fā)中的小事情,其實(shí)不然,某位架構(gòu)大師說(shuō)過(guò),架構(gòu)無(wú)小事,編碼規(guī)范的執(zhí)行不力,直接影響到整個(gè)項(xiàng)目的代碼質(zhì)量,甚至影響質(zhì)量。例如,要求不要出現(xiàn)在循環(huán),要釋放對(duì)象,盡量用StringBuffer等。編碼規(guī)范的執(zhí)行的難度是,不是說(shuō)你有沒(méi)有規(guī)范,而是你的規(guī)范有沒(méi)有被執(zhí)行。那么如何使得你的規(guī)范被執(zhí)行呢?
這就需要架構(gòu)師的耐心和溝通能力了。在整個(gè)項(xiàng)目的開(kāi)發(fā)過(guò)程中,架構(gòu)師始終要保持與開(kāi)發(fā)人員的溝通,苦口婆心地說(shuō),編碼規(guī)范的重要性。時(shí)間長(zhǎng)了,開(kāi)發(fā)人員養(yǎng)成了好的習(xí)慣,架構(gòu)師也就省心了。
根據(jù)上述經(jīng)驗(yàn),我做個(gè)總結(jié)。
1.架構(gòu)師是整個(gè)團(tuán)隊(duì)的技術(shù)領(lǐng)導(dǎo),需要具備領(lǐng)導(dǎo)能力。
2.架構(gòu)師需要較強(qiáng)的溝通能力,需要與項(xiàng)目的各個(gè)方面的人員進(jìn)行溝通。
與項(xiàng)目經(jīng)理溝通,幫助項(xiàng)目經(jīng)理制定合理的開(kāi)發(fā)計(jì)劃;
與需求分析員溝通,了解系統(tǒng)的關(guān)鍵需求和非功能性需求;
與開(kāi)發(fā)人員溝通,使得架構(gòu)設(shè)計(jì)能夠被真正執(zhí)行;
另外還有與物理架構(gòu)負(fù)責(zé)任溝通等等。
3.架構(gòu)師需要編寫代碼,這樣使自己積累更多的代碼經(jīng)驗(yàn),加深理解設(shè)計(jì)模式,可以幫助自己對(duì)于整個(gè)項(xiàng)目更加熟悉,同時(shí)能夠回答開(kāi)發(fā)人員在開(kāi)發(fā)過(guò)程中出現(xiàn)的所有的問(wèn)題,樹(shù)立個(gè)人威信。
4.架構(gòu)師需要有較強(qiáng)的IT知識(shí)和廣博的知識(shí)面。IT的知識(shí)更新非常快,現(xiàn)在云計(jì)算等的出現(xiàn),必然要淘汰一部分架構(gòu)師,因此,架構(gòu)師要保持生命力,必須要不斷地學(xué)習(xí)。
5.架構(gòu)師要懂業(yè)務(wù)知識(shí)。架構(gòu)設(shè)計(jì)要滿足系統(tǒng)的需求。我雖然剛到公司不久,但由于之前積累了很多業(yè)務(wù)相關(guān)的知識(shí),經(jīng)過(guò)短期的學(xué)習(xí),也掌握了業(yè)務(wù)知識(shí)。
6.不要怕做事情,我在整個(gè)系統(tǒng)的開(kāi)發(fā)過(guò)程中,我的開(kāi)發(fā)量是別人的三倍還多,但我收獲的,則也是三倍還多的經(jīng)驗(yàn)。
自己的不足之處:
1.有時(shí)候會(huì)著急,當(dāng)規(guī)范強(qiáng)調(diào)了10遍,還是沒(méi)有得到很好的執(zhí)行時(shí),就開(kāi)始沒(méi)有耐心了。
2.需要加強(qiáng)溝通能力,將自己的想法能夠推銷出去。
3.需要在更多的業(yè)務(wù)領(lǐng)域知識(shí)方面得到快速的增長(zhǎng)。
下一步的目標(biāo)
1.系統(tǒng)理論地學(xué)習(xí)架構(gòu)知識(shí),使得知識(shí)更加固化,以進(jìn)一步使得架構(gòu)設(shè)計(jì)更加科學(xué)和有調(diào)理;
2.通過(guò)廣泛地閱讀學(xué)習(xí)企業(yè)信息化的各個(gè)方面的知識(shí),包括ERP,SCM,營(yíng)銷管理,企業(yè)戰(zhàn)略,企業(yè)管理等,每年看書或閱讀文章至少100本或篇;
3.熟悉企業(yè)的業(yè)務(wù)流程,與企業(yè)不同層次的人員多多地進(jìn)行交流,多學(xué)習(xí),多溝通;
4.多交朋友,多向朋友學(xué)習(xí)與交流。
【一個(gè)系統(tǒng)架構(gòu)師的成長(zhǎng)之路】相關(guān)文章:
系統(tǒng)架構(gòu)師概述11-07
系統(tǒng)架構(gòu)師的就業(yè)前景分析10-08
系統(tǒng)架構(gòu)師的知識(shí)和職責(zé)08-20
系統(tǒng)架構(gòu)師與產(chǎn)品經(jīng)理的區(qū)別08-01
如何成為優(yōu)秀的系統(tǒng)架構(gòu)師08-01
系統(tǒng)架構(gòu)師申請(qǐng)條件201708-28