在學(xué)習(xí)編程的時(shí)候,你是要做將軍還是要做元帥呢? 其實(shí)編程是一個(gè)比較大的話題,在入門編程的時(shí)候,會(huì)有那么幾個(gè)深夜,坐在電腦前,看著電腦上各種版本的hello world,思考自己到底在學(xué)什么,在學(xué)各種版本的hello world嘛?哈哈,當(dāng)然不是啦,進(jìn)入編程的世界,覺得選擇了程序員這個(gè)行業(yè),但是程序員也分好多種,如果在入門的時(shí)候我們就選好我們要走的方向,那么學(xué)習(xí)的路途就會(huì)輕松很多,因?yàn)槟繕?biāo)很明確。
簡(jiǎn)單的來說,從事程序員分為兩個(gè)方向,一個(gè)是統(tǒng)御全局,做個(gè)元帥,定一國者為帥嘛,這個(gè)方向發(fā)展到后期是不怎么寫代碼的,為什么呢?因?yàn)楝F(xiàn)在的產(chǎn)品,比如微信,不是光寫一個(gè)手機(jī)app就能用的,還要寫服務(wù),需要好多程序配合起來,要是做這個(gè)方向,那你就是李云龍,需要指揮各部門的程序員配合,需要設(shè)計(jì)整套產(chǎn)品的架構(gòu),就是所謂架構(gòu)師。
那么另外一個(gè)方向是什么呢?另外一個(gè)方向就是死啃技術(shù),當(dāng)然對(duì)架構(gòu)也是知道的,但是更精于技術(shù)細(xì)節(jié)的東西。就像打仗一樣,架構(gòu)師要指揮各部隊(duì)的排兵布陣,但是技術(shù)大牛呢是干什么的呢?就是在技術(shù)上非常厲害,就好比打仗時(shí),需要爭(zhēng)奪要塞,但是一般的程序員肯定是不行的,那么需要誰上呢?就是這種技術(shù)大牛,技術(shù)骨干,技術(shù)骨干說能打下來,那么方案才能通過,技術(shù)大牛說不行,那就要換方案。這個(gè)方向呢,就是要做程序員里的特種兵。
說到這里,可能有些朋友覺得,架構(gòu)師也沒啥嘛,就是弄個(gè)方案,很多東西都是行業(yè)成熟方案,直接拿過來用就行了,其實(shí)不然,要做好一個(gè)架構(gòu)師,必須對(duì)技術(shù)細(xì)節(jié)有足夠的了解。好的設(shè)計(jì),能在整套軟件的設(shè)計(jì)層面上避免bug高發(fā)的地方,也能讓廣大的一線程序員少掉幾根頭發(fā),還便于后期維護(hù),不會(huì)出現(xiàn)殺了程序員祭天的情況。
當(dāng)然,肯定也會(huì)有人覺得,技術(shù)骨干不行啊,你再牛逼,不還是得聽架構(gòu)師的,其實(shí)不然,很多時(shí)候,架構(gòu)師需要遷就技術(shù)骨干,因?yàn)橐惶追桨缸龀鰜?,是要交給程序員去實(shí)現(xiàn)的,那么最難的部分,肯定就得技術(shù)骨干來弄了啊,技術(shù)骨干都不會(huì)的方案,對(duì)于公司來說,那就是shit!?。?/p>
其實(shí),在很多小公司都是技術(shù)骨干兼職架構(gòu)師,而且也沒有架構(gòu)師崗位,技術(shù)骨干作為一個(gè)公司的技術(shù)最強(qiáng)者,很多時(shí)候,能影響公司的決策,但是也有很多技術(shù)骨干慢慢都轉(zhuǎn)行做架構(gòu)師了,畢竟架構(gòu)師的頭發(fā)多一點(diǎn),而且現(xiàn)在國內(nèi)的編程環(huán)境不是很好,程序員比較辛苦,能堅(jiān)持在一線寫代碼的技術(shù)大牛很是比較少的。
如果布局謀篇更讓你有成就感,那么選擇架構(gòu)的方向還是很好的,那就需要了解很多的新技術(shù),學(xué)習(xí)架構(gòu)思想。如萬馬軍中直取上將手機(jī)更讓你有成就感,那么還是選擇做一個(gè)技術(shù)骨干吧,只需要深挖自己喜歡的技術(shù)方向,就可以一招鮮吃遍天。