程式設計師到底是幹什麼的?請不要再黑程式設計師了

皇家娛樂線上下載軟體V18669187779發表於2020-11-14

程式設計師,一個傳說中的高智商群體。

憑藉其認死理、頭髮少、情商低和收入高四大絕活,入選當今網紅職業No.1,當仁不讓。

程式設計師也是在網上最活躍的群體,他們貢獻了無數的話題和爆笑動圖。

他們幾乎都是鋼鐵直男,就算有女的那也是女漢子。

在相親市場上,程式設計師是集收入高、工作穩定、聰明聽話、成熟(頭髮少)等於一身的潛力股,成為結婚物件的優質選擇。

在戀愛關係中,程式設計師又是集死板、反浪漫、情商低、溝通費勁等一系列讓人惱火的技能,讓他們的欠揍指數一直保持在高位。

哎呀你男朋友是程式設計師啊:他把時間都用來賺錢,你把時間都用來花錢,真幸福。

Md別提我家那程式設計師二貨:跟他說去買兩個桃子,如果碰到西瓜,就買一個。結果這貨只買了一個桃子回來,還說我表達不清楚!?

過年回家,親戚朋友問你現在幹啥工作了?你說程式設計師。他們都歪著腦門看你:程式設計師是幹啥的啊?

對,程式設計師到底是幹什麼的?

大家只知道程式設計師天天對著電腦劈里啪啦的敲鍵盤,餓了就外賣可樂炸雞。但他們究竟拿電腦都幹了什麼?年薪動不動就是幾十萬的。

你如果直接問程式設計師,他們會很認真的告訴你:

就是寫程式啊。

我們的工作是用程式語言編寫程式。

程式設計師就是開發軟體的,做APP的。

嗯。。。這個麼。。。太專業了。。。說了你也不懂。

我曾經寫過很多年的程式,是一個非典型程式設計師(髮量充足情商線上)。

即便我也是同行,但跟他們溝通的時候,依然想把手裡的滑鼠塞到他們嘴裡。

不過我知道,他們這麼較真刻板,都是職業思維習慣,就像搞金融的愛談投資回報率和槓桿一樣。

程式設計師愛談邏輯、可行性,因為他們的共工作主要玩的就是這兩種思維。

程式,可以理解為一套操作流程。比如一個做紅燒肉的菜譜,一共多少步,每步用哪些配料,用量多少,開火多久等等。你照著這個做,就能燒出一盤紅燒肉。

只不過程式設計師寫的這個操作流程(程式),是給計算機看和執行的。

再舉個例子,有個外地人找你問路,你告訴他前面路口左轉,直走,第三個路口右轉,再直走200米左手邊就是了。你告訴他的就一個導航程式。

程式設計師每天的工作和這類似,他們的工作就是編寫大大小小的這樣的程式,只不過要比問路複雜多了。

有多複雜?有人問你路,你只需要告訴他哪個路口怎麼走就行,但跟電腦溝通,非常費勁,你少說一個標點符號,電腦就當機了。

如果一個機器人找你問路,你必須告訴他每一步怎麼走(包括方向、距離),比如第一步向前半米,第二部繼續向前半米等等。還有,你得告訴他遇到紅燈怎麼辦,遇到斑馬線怎麼辦。還有哦,你得告訴他遇到闖紅燈怎麼辦,遇到。。。各種情況你都得跟他說清楚了,不然一開機他就會勇往直前。最後,這個機器人每一步只能走1釐米,想想你要是給他設計個距離10公里的導航???不如給他叫個車吧。

跟人比起來,電腦是不是個傻子?明顯是的。人的話你只要告訴他路線就行,機器人就是大腦一片空白,連人類世界的常識都沒有,而且是你抽一鞭子它動一下。

但是,電腦速度快。你設定好路程,機器人搜一下就到了,人還得慢慢走。

再舉個例子,抄文章,人一秒抄一個字。但如果設定好程式,機器知道了按步驟怎麼抄,那它0.01秒起碼能抄好幾萬字,想想你複製個文件有多快?

再比如你淘寶賬戶裡的優惠券,必須提前編好程式告訴電腦怎麼處理優惠券,就跟培訓商場新來的收銀員一樣,你必須一條條的跟他交代清楚了才行。程式設計師大概會編這些:

檢查優惠券的有效期,如果過期,告訴客戶無法使用。如果沒過期,進入下一步。 檢查優惠券的品類資訊,如果當前購買的商品可以用,繼續下一步。如果不能用,就告訴客戶。 檢查優惠券是否符合起購金額,如果符合,進入下一步。不符合就告訴客戶。 檢查是否可以疊加使用其他優惠券,如果可以,從第1步開始,一張一張檢查。 等等等等。。。。後續可能還有幾百個流程。 而現實中的程式,每一步都比這要複雜的多,而且步數比這也要多得多,因為機器不像人一樣,告訴他過期的券不能用就行了。程式裡大概是這麼教機器判斷過期的:

檢查優惠券上的到期年月日,並算出1970年1月1日到這個日期有多少秒。 看下今天的年月日,並算出1970年1月1日到今天有多少秒。 用第二個秒數減去第一個秒數,如果大於0,就可以使用,否則算作廢。 上面這些都是我為了說明程式設計師乾的工作,簡化到不能再簡化的描述,實際上用程式語言去描述這些給機器看的操作手冊時,一般都複雜到頭暈眼花。

了可以想象一個大型的軟體專案,基本相當於用樂高堆出一個從裡到外從頭到尾一模一樣的重慶市來,這有多複雜?光想想就掉頭發了吧。

其實專案管理這門學科也是從軟體工程裡派生出來的,因為軟體工程實在是太龐大太複雜了,所以才有了專案管理這個學科專門來把這些複雜理清楚。

當然,現實中不是一個程式設計師就做一個專案的,再簡單的app,一般也得三五個很能幹的程式設計師才能搞起來。這就是為什麼淘寶、騰訊這些公司程式設計師都是幾千個的原因。

程式設計師每天面對的就是那個啥都不知道,但是計算速度是光速的傻子電腦,他得設計一套又一套的手把手的操作手冊(程式),來讓電腦去完成任務。一個簡單的使用優惠券的程式,可能就要有好幾百個操作環節,每個環節又有好多操作判斷,而這中間,不能有任何一點的錯誤,一點點都行,必須保證100%正確永遠不出錯。你再想想雙11,那些你看都不看不懂的、算都算不明白的各種活動,程式設計師也得給電腦一條一條的程式設計。這個複雜度和壓力,普通人不掉幾根頭髮能搞定麼?

現在想想那個段子:去買兩個桃子,如果碰到西瓜,就買一個。

在程式設計師眼裡,買桃子 是一個任務,如果碰到西瓜 是一個條件(對於買桃子來說)。所以程式設計師的理解是:本次任務買兩個桃子,如果碰到西瓜的話,就買一個桃子。是不是有點反人類?

跟電腦溝通的久了,慢慢就被電腦的思維方式給影響了。

在程式設計師的職業病裡,一切都是任務,任務必須要交代的一清二楚,有一點不清楚的話,就會出錯。

這也就是跟程式設計師溝通累的唯一原因:較真,咬字。他們必須要弄清楚你說的每一個字的含義,才能準確完成任務。

我有朋友就幹過這種天才的事:

他老婆跟他說:一會你打完遊戲去把碗都洗了。過了一會就聽到河東獅吼:你怎麼只把碗洗了?!!!他淡定的說:是你叫我洗碗的啊。。。

沒錯,後面半年的廚房衛生都歸他管了。他老婆就像對他程式設計一樣,制定了一整套的廚房衛生操作手冊和驗收標準。

有時候想想,哈士奇養的久了人都難免變的中二,那程式設計師天天擼電腦也難免變得像個電腦,非得用程式設計的思維才能跟他聊天。

相關文章