你看那個人,格子衫,雙肩包,禿頭……

 

【程序員上下50年】程序員:諸神之戰

 

是個程序員沒跑了。

才怪!

因為程序員跟程序員也是不同的!

 

【程序員上下50年】程序員:諸神之戰

 

 

  • 我想讓你看啥,你就得看啥!

 

比如他們,他們決定了我們能看到什么樣的內容。我們作為普通用戶能看到、能操作的所有東西都是拜他們所賜。他們叫做前端工程師,善用HTML、CSS、JavaScript、Flash等技術。如果開一家餐廳,他們就是服務生、收銀員、裝修隊,決定了這家餐廳裝修、格調、氛圍、環境 的具體實現。

 

【程序員上下50年】程序員:諸神之戰

 

 

  • 好好跟我講話,不然抹了你的數據!

 

有前端,自然也有“后端”。服務器開發工程師決定著我們能得到什么樣的內容。各種數據都是他們幫忙保存好的,負責幫我們處理數據的也是他們。他們是餐廳廚師,你吃到滿漢全席還是咸菜土豆,全在他們一念之間。

【程序員上下50年】程序員:諸神之戰

 

 

  • 我規定的,咋了?

 

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

 

【程序員上下50年】程序員:諸神之戰

 

 

  • 這個別放這兒,放那邊兒!

 

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

 

【程序員上下50年】程序員:諸神之戰

 

 

  • 我康康,又有新鮮的數據來了?

 

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

 

【程序員上下50年】程序員:諸神之戰

 

 

  • 這樣太浪費了,得重來!

 

也許只靠上面這群人,已經可以完成一個項目了。但需要有人操心整個服務的高可用性、部署效率、資源利用率,操心這些的人就是運維工程師。操心的他們理所應當的做上了餐廳的后勤,無論鍋碗瓢盆哪個摔了,還是煤氣空調哪里壞了,就連衛生環境,他們也都一并承擔下來。

 

【程序員上下50年】程序員:諸神之戰

 

 

  • 這邊可以了,那邊不行!

 

一個項目需要有一個靈魂,這個靈魂就是系統架構師。他們需要最終確認和評估系統需求,給出開發規范,搭建系統實現的核心構架,并澄清技術細節、掃清主要難點。他們主導這家餐廳的選址、裝修、定位,由整個團隊將他們構想的餐廳模樣最終實現。

 

【程序員上下50年】程序員:諸神之戰

 

 

  • 你這BUG咋回事兒啊,小老弟?

 

在程序正式跟我們見面之前,還要經過測試工程師的檢查。他們需要對產品的功能進行測試,檢查軟件有沒有bug,測試軟件是否具有穩定性、安全性、易操作性。他們承擔了試菜的重任,不光是口味的問題,食物中毒也得他們來處理。

 

【程序員上下50年】程序員:諸神之戰

 

 

  • 防止內訌:移動端萬歲!

 

最后出場的是一對相愛相殺的程序員——IOS工程師Android工程師。他們專注于移動端,從系統到應用,從開發到優化。除了語言之外,他們還得對平臺有足夠深刻的理解。對一家餐廳而言,這就是兩家分店。

 

【程序員上下50年】程序員:諸神之戰

 

 

當然,這只是從工作內容這一個角度出發的區分。

 

要是按照別的標準來區分。

比如,有女朋友的沒有女朋友的……

 

【程序員上下50年】程序員:諸神之戰

 

光棍節已過,該脫單了!
 

【程序員上下50年】程序員:諸神之戰