程序員,你整天在忙啥

4 評論 18307 瀏覽 45 收藏 8 分鐘

平時工作的時候,經(jīng)常有產(chǎn)品妹子呼哧呼哧的跑來找我,說你快看你快看,這兒程序有問題,你得改一改。我拿來一看,內(nèi)心頓生鄙夷,這特碼明明是后臺的問題,你找我一個做前端的弄啥咧。但是為了顧全同事間的革命友誼,我還是會笑呵呵的說好啊好啊,我先調(diào)查一下,如果不是我的問題,我轉(zhuǎn)給其他人。

也難怪,隔行如隔山。這幾天后臺有不少同學(xué)問前端后端前臺后臺的概念,今天我就冒著被組織追殺的危險,跟大家聊一下程序員每天在忙啥,你會看到,不同崗位的程序員,工作上到底有什么區(qū)別。

要理解程序員不同的崗位,首先你得看下市場上有什么樣的需求。用戶上網(wǎng)、打開APP,本質(zhì)上是在獲取信息。信息就是數(shù)據(jù),數(shù)據(jù)在哪里?數(shù)據(jù)在服務(wù)器上。我們之前講過,互聯(lián)網(wǎng)一切皆下載,下載的就是服務(wù)器上的數(shù)據(jù)。不同的數(shù)據(jù)有不同的展示形式,視頻數(shù)據(jù)會用視頻播放器來播,網(wǎng)頁數(shù)據(jù)要用瀏覽器來看,朋友圈里的新動態(tài),要用微信APP來展示。所以你看到了,整個過程需要兩撥人合作完成。一撥人負(fù)責(zé)管理數(shù)據(jù),一撥人負(fù)責(zé)展示數(shù)據(jù)。這也就是最簡單的前臺和后臺的劃分。那些整天守著服務(wù)器搗鼓數(shù)據(jù)的,是后臺開發(fā)。那些整天琢磨如何做出花里胡哨的展示界面的,是前端開發(fā)。

先說說前端開發(fā)。前端開發(fā)概念比較廣,用戶直觀看到的東西,都屬于前端開發(fā)的范疇。現(xiàn)在比較流行的有三個,Web前端開發(fā)、Android終端開發(fā)、iOS終端開發(fā)。

Web前端開發(fā)

1

這些人整天和瀏覽器打交道。昨天的文章講的ChromeDevTools,就是他們天天用的東西。他們寫出來的代碼,要放到瀏覽器里去運行,然后就成了你看到的各種網(wǎng)頁。但是你不要以為人家只是一做網(wǎng)頁的,這幾年大有Web前端一統(tǒng)江湖的趨勢,因為他們寫的代碼不需要發(fā)布版本就能上線,不信你可以查看前面關(guān)于ReactNative的文章。如果哪天你也想寫寫代碼體驗人生,建議看看Web前端的知識,之前講過簡單的HTML+CSS+JavaScript,學(xué)著敲一下,然后打開瀏覽器看看效果,你會發(fā)現(xiàn)其實人人都可以當(dāng)程序員。

Android終端開發(fā)

2

他們個個都是爬墻高手,因為他們的老大哥被關(guān)在了墻外。他們個個油光滿面,大好青春都浪費在了無窮無盡的機(jī)型適配上面。他們用Java語言寫代碼,但是Java語言天生相比很多語言執(zhí)行速度慢,所以他們天天被用戶吐槽卡頓,但是沒有辦法,只能不停的優(yōu)化再優(yōu)化。

iOS終端開發(fā)

3

iOS開發(fā)血統(tǒng)純正,一般人手一套Mac+iPhone,光是生產(chǎn)設(shè)備就要上萬。他們的開發(fā)工具叫XCode,號稱最優(yōu)秀的編程工具。程序界有句名言叫不要重復(fù)造輪子,意思是別人已經(jīng)寫過的代碼,就不要重復(fù)寫,直接拿來用。iOS這么多年,有很多輪子可以用,都在Github上。本來要一個星期做完的功能,用好Github可能一下午就實現(xiàn)了。所以我們說,我們不生產(chǎn)代碼,我們只是Github的搬運工。當(dāng)然這個是不會輕易告訴產(chǎn)品經(jīng)理的。

在介紹后臺開發(fā)之前,我們先來看看后臺服務(wù)器面臨的困難。你的產(chǎn)品剛剛上線,只有幾十上百個用戶的時候,你只需要一臺PC,加上稍微快點的網(wǎng)速,隨便下載個開源的服務(wù)端軟件就能勉強(qiáng)應(yīng)付得來前端的數(shù)據(jù)請求。后來你下血本搞運營,引來了一大波用戶,達(dá)到成千上萬級別的時候,你就得租一臺正兒八經(jīng)的服務(wù)器了。再后來,用戶量呈指數(shù)上漲,你開始幻想從此登上人生巔峰的時候,忽然發(fā)現(xiàn)無論有多少臺服務(wù)器,總是沒辦法快速響應(yīng)前端的請求。

4

后臺開發(fā)就是來解決這樣的需求的。為了讓各個服務(wù)器同時并行工作,他們研究分布式算法,把大任務(wù)拆成小任務(wù),分布給各個服務(wù)器單獨運算。為了提高數(shù)據(jù)庫的存取速度,他們研究非關(guān)系型數(shù)據(jù)庫,也就是NoSQL,把它們用在社交、O2O應(yīng)用的后臺。為了解決硬盤速度遠(yuǎn)遠(yuǎn)跟不上內(nèi)存速度的問題,他們研究緩存技術(shù),簡單來說就是數(shù)據(jù)從硬盤里取出來就不放回去了,這樣下次還用就不用再去硬盤取了。當(dāng)然,也有一些后臺開發(fā)專注于業(yè)務(wù)邏輯,前端想請求什么樣的數(shù)據(jù),大家坐在一起商量一個協(xié)議,他們負(fù)責(zé)寫個接口,前端來調(diào)用就是了。

還有一種被稱為科學(xué)家的程序員,他們天天看論文搞學(xué)術(shù),不參與實際的產(chǎn)品開發(fā),但是每發(fā)一篇paper都能搞一個大新聞出來。我們今天習(xí)以為常的東西,比如程序的運行編譯,計算機(jī)的架構(gòu)原理,都是幾十年前的科學(xué)家程序員摸索出來的。也許幾十年后,現(xiàn)在看起來高大上的機(jī)器學(xué)習(xí)、自然語言處理等技術(shù),會成為每個程序員的必修課。

當(dāng)然,程序員遠(yuǎn)遠(yuǎn)不止這些,限于篇幅僅僅列舉互聯(lián)網(wǎng)行業(yè)的一些代表。最后,如果你發(fā)現(xiàn)你身邊有這樣一個人,他前端后臺,樣樣精通,文能提筆發(fā)paper,武能調(diào)試除bug。請不要害怕,這種人叫做:全棧工程師。

#專欄作家#

給產(chǎn)品經(jīng)理講技術(shù),微信公眾號(pm_teacher),人人都是產(chǎn)品經(jīng)理專欄作家。資深程序猿,專注客戶端開發(fā)若干年,對前端、后臺技術(shù)略懂,熱衷于對新的科技領(lǐng)域的探索。

本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,不得轉(zhuǎn)載。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 哈哈,搞笑逗樂,你就是文能提筆發(fā)paper,武能調(diào)試除bug的吧 ??

    來自重慶 回復(fù)
  2. 被最后一句逗樂了,哈哈,文能提筆發(fā)paper,武能調(diào)試除bug

    來自遼寧 回復(fù)
  3. 作為一個開發(fā)出身的設(shè)計人員,看后笑出聲

    來自廣東 回復(fù)
    1. 為毛?寫的不對嗎

      來自廣東 回復(fù)