程序員,你整天在忙啥

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

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

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

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

先說說前端開發。前端開發概念比較廣,用戶直觀看到的東西,都屬于前端開發的范疇?,F在比較流行的有三個,Web前端開發、Android終端開發、iOS終端開發。

Web前端開發

1

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

Android終端開發

2

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

iOS終端開發

3

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

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

4

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

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

當然,程序員遠遠不止這些,限于篇幅僅僅列舉互聯網行業的一些代表。最后,如果你發現你身邊有這樣一個人,他前端后臺,樣樣精通,文能提筆發paper,武能調試除bug。請不要害怕,這種人叫做:全棧工程師。

#專欄作家#

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

本文原創發布于人人都是產品經理,未經許可,不得轉載。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 哈哈,搞笑逗樂,你就是文能提筆發paper,武能調試除bug的吧 ??

    來自重慶 回復
  2. 被最后一句逗樂了,哈哈,文能提筆發paper,武能調試除bug

    來自遼寧 回復
  3. 作為一個開發出身的設計人員,看后笑出聲

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

      來自廣東 回復