新聞中心
這個題目,不是標題黨,也不是為了給出答案,而是自問,寫出來一些看法,和自己對未來幾個月的規(guī)劃,當然更加希望同僚能多提意見或建議。

成都創(chuàng)新互聯(lián)于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站設(shè)計制作、成都做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元微山做網(wǎng)站,已為上家服務(wù),為微山各地企業(yè)和個人服務(wù),聯(lián)系電話:18980820575
很久之前,從大學(xué)畢業(yè)開始,自己就一直做著“成為一個架構(gòu)師”的夢,并且也在磕磕碰碰中前進和提升。但到現(xiàn)在已經(jīng)工作了5年,卻也還是不如人意。
從最開始做技術(shù)支持,到碼工,到高級碼工啥的,角色好像變了,但總是覺得有非常非常多的東西要學(xué),要不斷地歷練。到現(xiàn)在再換了一個環(huán)境之后,心里真是更加清楚自己到底有幾斤幾兩。不能全面否定自己的進取,應(yīng)該說來,自己對架構(gòu)師的角色越來越清晰吧。
首先說說自己到底想成為哪個方面的架構(gòu)師。因為一直從事跟web相關(guān)的工作,什么前端,后端的開發(fā)都做過,所以,自己就想成為一個web開發(fā)的軟件架構(gòu)師。當然因為主要用java,也毫無疑問要跟java有關(guān)的工程。
從哪些方面出發(fā)呢?在這5年的工作中,有兩到三年實際上跟開發(fā)有點脫鉤,我沒有好好開發(fā),總是丟三落四的承擔一點點開發(fā)工作(因為要帶團隊,有些身不由己)??偸菚陟o坐時清醒一些,想想自己應(yīng)該干什么。終于在去年離開老公司,進入新環(huán)境,也更加清晰地認識到自己應(yīng)該再從哪些領(lǐng)域著手提高:
1.針對業(yè)務(wù)或者是產(chǎn)品,以及工程或產(chǎn)品的生命周期選擇開發(fā)語言和開發(fā)框架。
必須強調(diào)的是,任何架構(gòu),都不能脫離產(chǎn)品或工程需要而存在。盡管很多成熟框架可以在很多地方使用,那也是要針對特定的情況而言。而需求永遠都是我們首先要考慮的,否則就會影響我們的判斷。就像孫子定的是36計,而不是僅有一計,道理相同。只要你符合具體需求,哪怕是自己寫的框架也是最成功的(DDD強調(diào)業(yè)務(wù)領(lǐng)域的重要性)。
用了幾年java,說實話,沒有java實現(xiàn)不了的,但是對一些實現(xiàn),成本是很高的。就目前來看,java之于web開發(fā),還是相當強勁的,因為有很多第三方軟件的支持。從這個角度講,可以給公司節(jié)約很多成本,但是java世界的開源環(huán)境是一個大而雜的生態(tài)狀況,正如當今社會的魚龍現(xiàn)狀。于是,個人覺得應(yīng)該再學(xué)習一至兩門其他語言,用于針對不同的問題,實施不同的解決方案,而不是手里拿著錘子,看啥都像釘子。
因為接觸的項目90%以上是java開發(fā),所以,要對java相關(guān)的技術(shù)了如指掌,包括:jvm(尤其是6,7兩版)、java api、web容器、設(shè)計模式、開源框架(如spring,guice等),重構(gòu)技術(shù)等。
了解jvm,是要清楚java的底層實現(xiàn),避免寫出易于出錯,或效率過低的代碼。Java原產(chǎn)地的人總是很注重對基礎(chǔ)信息的把握,但是我們卻總是急于求成。
熟練掌握好api,是使用一門語言最開始就要達到的要求。因為java的底層實現(xiàn)是很優(yōu)秀的,除非有特殊的效率等方面的需求,java中給我們的任何操作都提供了大量唾手可得的類和方法。尤其要熟練掌握的有:集合、io&nio、多線程等幾個常用包。
web容器重要性盡人(開發(fā)同僚)皆知。至少要了解一到兩個容器吧。(還是太少,開源的就得兩三個,企業(yè)版的如weblogic,websphere直流的也應(yīng)該會搭建,會部署,了解一些調(diào)優(yōu)知識)
設(shè)計模式,應(yīng)該在學(xué)習框架之前,最好是學(xué)過之后,再去看框架,因為很多框架中用了大量的經(jīng)典模式,spring就是其中一個極為牛X的牛叉框架。我忍不住再說一次,這是個牛叉框架,在用spring之前,最好把Johnson的那邊expert one on one弄來看看,我是看電子書,書有些老,挑其中關(guān)鍵點讀,很受用。
重構(gòu),對java來說,尤其是可持續(xù)發(fā)展的java工程來說,是永遠都不可避免的一種開發(fā)行為,有必要把Fowler的那本書好好啃啃。
2.深入了解存儲。
要掌握關(guān)于緩存,數(shù)據(jù)庫相關(guān)的知識。這點不想多談,就是想讓自己在數(shù)據(jù)庫調(diào)優(yōu)及數(shù)據(jù)庫建模方面有所建樹。涉及的數(shù)據(jù)庫也不多,oracle和mysql。而緩存方面,因為本身這個世界就是百家爭鳴百花齊放,所以,應(yīng)該多了解如ttserver,memcache之類的文件或內(nèi)存緩存實現(xiàn)。
知道存儲,就要將其融于架構(gòu)。讓最大的讀取壓力集中到緩存,而把僅有的寫操作施加于數(shù)據(jù)庫,這種決策不是說了這么一兩句就能搞定的。甚至這些是java架構(gòu)調(diào)優(yōu)的重中之重。
3.了解網(wǎng)絡(luò)傳輸。
在分布式系統(tǒng)如此風靡的今天,要是不了解分布式,那我們的軟件就固步自封了,同時也會給我們的硬件帶來很大的壓力,增加公司成本。在這個方面,很希望能從各位同仁處,得到些許建議。
4.熟悉操作系統(tǒng)。
Linux。
越寫心里越是驚嘆不已。因為真的有很多東西要掌握,而無法突出重點。
回看過去的5年,心里也很惆悵,曾經(jīng)壯志凌云,今朝卻有迷茫。不管怎么樣,一個步子一個步子地邁出去。既然需要學(xué),那就學(xué)。第一個5年已經(jīng)過去,盡管不想俺們黨說的第一個五年計劃成果那么顯著,至少也看到了自己的成長。
希望在此駐步觀望的同仁,能留下些許箴言,兄弟拜謝。
名稱欄目:架構(gòu)師如何從夢想變成現(xiàn)實?
當前路徑:http://m.fisionsoft.com.cn/article/cdspihi.html


咨詢
建站咨詢
