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