初級Java程序員與架構(gòu)師的區(qū)別是什么?如何突破自己?
網(wǎng)友解答: 區(qū)別很大的。如果是問資深或者高級工程師和架構(gòu)師的區(qū)別,那還要好好想想??墒浅跫壋绦騿T和架構(gòu)師的區(qū)別那可太大了。1,解決問題的速度同樣面對一個沒見過的問題。架構(gòu)師往往能通過自己
區(qū)別很大的。如果是問資深或者高級工程師和架構(gòu)師的區(qū)別,那還要好好想想??墒浅跫壋绦騿T和架構(gòu)師的區(qū)別那可太大了。
1,解決問題的速度同樣面對一個沒見過的問題。架構(gòu)師往往能通過自己多年采坑的經(jīng)驗,快速找到解決問題的方向。幾乎所有人都在說,程序員吃的是青春飯。但實際上,在公司里會發(fā)現(xiàn),有豐富經(jīng)驗的程序員定位問題解決問題的速度比初級程序員快的多,為啥?因為這些坑他們以前就踩過,或者看別人踩過。
架構(gòu)師更是其中見多識廣者。通常都有一套自己的工具集或方法論。
通常來講,架構(gòu)師已經(jīng)不會事必躬親的去解決代碼上的小bug。因為他們知道,這些問題交給初級工程師,時間長點也能解決。自己要做的是思考更高一層的東西。
2,思考問題的廣度架構(gòu)師要掌握的東西,絕不限于代碼層面。
Linux系統(tǒng),必備。這沒什么好說的。TCP,Http,網(wǎng)絡(luò)通信相關(guān)必須有研究。
分布式服務(wù),分布式緩存,負(fù)載均衡。
高可用架構(gòu),容災(zāi)機(jī)制。
數(shù)據(jù)庫設(shè)計,分庫分表。
消息中間件。。。。太多了
凡是在系統(tǒng)中用到的技術(shù),架構(gòu)師必須對其知根知底。
3,影響他人的能力架構(gòu)師是技術(shù)方面的團(tuán)隊領(lǐng)袖,必須在團(tuán)隊中有自己的威信。
對內(nèi)能解決問題,領(lǐng)導(dǎo)別人。
對外能輸出方案,擴(kuò)大影響力。
如何突破自己?幾點建議:
1,勇于研究自己不懂得代碼
現(xiàn)在能很容易的獲取各種優(yōu)秀的源碼,都可以下下來看看調(diào)調(diào)
沒有人一開始就懂所有領(lǐng)域,架構(gòu)師也是這么一塊一塊肯過來的
2,精通代碼debug
每個牛逼的程序員,都一定是debug高手
也是看源碼的必備手段
3,系統(tǒng)性思考
從現(xiàn)在開始養(yǎng)成系統(tǒng)性思考的習(xí)慣。不要局限于解決一個小問題。
4,優(yōu)化代碼的習(xí)慣
一個初級程序員確實沒機(jī)會設(shè)計整個系統(tǒng)的架構(gòu)。但是卻可以不斷重構(gòu)優(yōu)化自己的代碼。
網(wǎng)友解答:程序員也叫碼農(nóng)或者碼工,從名字上可以看出程序員在IT行業(yè)是處于最底層的。程序員的工作是最為基礎(chǔ)的工作,就是所謂的“搬磚”的工作。
架構(gòu)師負(fù)責(zé)的是客戶的需求分析和系統(tǒng)的設(shè)計。如果通俗的講就好像建筑行業(yè)的設(shè)計師,負(fù)責(zé)與客戶溝通大廈想設(shè)計成什么樣子,并進(jìn)行大廈的設(shè)計工作。
軟件開發(fā)工作最講究實踐,每個架構(gòu)師都是從程序員成長起來的。因此首先要把本職工作做好,然后要考慮自己的領(lǐng)域。雖然都是做軟件開發(fā),但領(lǐng)域不同差異也非常大。以Web服務(wù)端為例,在數(shù)據(jù)Java語言本身的內(nèi)容后,需要數(shù)據(jù)其它相關(guān)內(nèi)容,包括業(yè)務(wù)知識和基礎(chǔ)技術(shù)。
業(yè)務(wù)知識就是后端的具體業(yè)務(wù)流程,比如某寶,那你就要屬性購物流程,購物車原理,商品管理原理等等。
基礎(chǔ)技術(shù)則包括如何提高系統(tǒng)的可用性、如何提高系統(tǒng)性能,如何應(yīng)付大并發(fā),如何提高運(yùn)維效率等等,數(shù)據(jù)庫的性能優(yōu)化等等需要廣泛而深入的了解這些領(lǐng)域的內(nèi)容。