程序員,你整天在忙啥

4 評(píng)論 18320 瀏覽 45 收藏 8 分鐘

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

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

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

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

Web前端開(kāi)發(fā)

1

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

Android終端開(kāi)發(fā)

2

他們個(gè)個(gè)都是爬墻高手,因?yàn)樗麄兊睦洗蟾绫魂P(guān)在了墻外。他們個(gè)個(gè)油光滿面,大好青春都浪費(fèi)在了無(wú)窮無(wú)盡的機(jī)型適配上面。他們用Java語(yǔ)言寫代碼,但是Java語(yǔ)言天生相比很多語(yǔ)言執(zhí)行速度慢,所以他們天天被用戶吐槽卡頓,但是沒(méi)有辦法,只能不停的優(yōu)化再優(yōu)化。

iOS終端開(kāi)發(fā)

3

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

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

4

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

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

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

#專欄作家#

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

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

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

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

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

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

      來(lái)自廣東 回復(fù)