【程序員上下50年】程序員:諸神之戰(zhàn)
你看那個人,格子衫,雙肩包,禿頭……

是個程序員沒跑了。
才怪!
因為程序員跟程序員也是不同的!

- 我想讓你看啥,你就得看啥!
比如他們,他們決定了我們能看到什么樣的內(nèi)容。我們作為普通用戶能看到、能操作的所有東西都是拜他們所賜。他們叫做前端工程師,善用HTML、CSS、JavaScript、Flash等技術(shù)。如果開一家餐廳,他們就是服務(wù)生、收銀員、裝修隊,決定了這家餐廳裝修、格調(diào)、氛圍、環(huán)境 的具體實現(xiàn)。

- 好好跟我講話,不然抹了你的數(shù)據(jù)!
有前端,自然也有“后端”。服務(wù)器開發(fā)工程師決定著我們能得到什么樣的內(nèi)容。各種數(shù)據(jù)都是他們幫忙保存好的,負責幫我們處理數(shù)據(jù)的也是他們。他們是餐廳廚師,你吃到滿漢全席還是咸菜土豆,全在他們一念之間。

- 我規(guī)定的,咋了?
下面登場的這群人就有點抽象了。他們更多的工作內(nèi)容是在建模,他們需要將各種現(xiàn)實問題抽象成一個個的數(shù)學模型,然后再選擇合適的算法來解決這個問題。沒錯,他們就是算法工程師。他們是規(guī)則的制定者,他們不光懂得如何用最少最便宜的食材做成最美味的菜肴,還一并規(guī)定了餐廳中的各項服務(wù)標準。

- 這個別放這兒,放那邊兒!
不管什么程序,數(shù)據(jù)必然是重中之重,數(shù)據(jù)庫的地位也不言而喻。有這樣一群人,他們運維管理著數(shù)據(jù)庫管理系統(tǒng),他們叫做數(shù)據(jù)庫管理員(DBA)。俗話說的好:巧婦難為無米之炊。他們掌握著菜窖的鑰匙,為廚師提供最干凈、最完美、最準確的食材。

- 我康康,又有新鮮的數(shù)據(jù)來了?
既然數(shù)據(jù)是很重要,那么數(shù)據(jù)怎么來的就要問問大數(shù)據(jù)開發(fā)工程師了。他們從事大數(shù)據(jù)采集、清洗、分析、治理、挖掘等技術(shù)研究,并加以利用、管理、維護和服務(wù)。在餐廳里最貼切的工作應(yīng)該就是采購了,所有的食材都是他們跑遍了全世界菜市場才買到手的。在大量采購經(jīng)驗的加持下,他們還會將這些食材經(jīng)過篩選和優(yōu)化。

- 這樣太浪費了,得重來!
也許只靠上面這群人,已經(jīng)可以完成一個項目了。但需要有人操心整個服務(wù)的高可用性、部署效率、資源利用率,操心這些的人就是運維工程師。操心的他們理所應(yīng)當?shù)淖錾狭瞬蛷d的后勤,無論鍋碗瓢盆哪個摔了,還是煤氣空調(diào)哪里壞了,就連衛(wèi)生環(huán)境,他們也都一并承擔下來。

- 這邊可以了,那邊不行!
一個項目需要有一個靈魂,這個靈魂就是系統(tǒng)架構(gòu)師。他們需要最終確認和評估系統(tǒng)需求,給出開發(fā)規(guī)范,搭建系統(tǒng)實現(xiàn)的核心構(gòu)架,并澄清技術(shù)細節(jié)、掃清主要難點。他們主導(dǎo)這家餐廳的選址、裝修、定位,由整個團隊將他們構(gòu)想的餐廳模樣最終實現(xiàn)。

- 你這BUG咋回事兒啊,小老弟?
在程序正式跟我們見面之前,還要經(jīng)過測試工程師的檢查。他們需要對產(chǎn)品的功能進行測試,檢查軟件有沒有bug,測試軟件是否具有穩(wěn)定性、安全性、易操作性。他們承擔了試菜的重任,不光是口味的問題,食物中毒也得他們來處理。

- 防止內(nèi)訌:移動端萬歲!
最后出場的是一對相愛相殺的程序員——IOS工程師和Android工程師。他們專注于移動端,從系統(tǒng)到應(yīng)用,從開發(fā)到優(yōu)化。除了語言之外,他們還得對平臺有足夠深刻的理解。對一家餐廳而言,這就是兩家分店。

當然,這只是從工作內(nèi)容這一個角度出發(fā)的區(qū)分。
要是按照別的標準來區(qū)分。
比如,有女朋友的和沒有女朋友的……

光棍節(jié)已過,該脫單了!


