1. 程式人生 > >【科普】碼農是程式設計師嗎?碼農與真正程式設計師的區別是啥?

【科普】碼農是程式設計師嗎?碼農與真正程式設計師的區別是啥?

IT界知名段子手,網路紅人留幾手曾經說:對於那些月薪兩萬以下,自稱程式設計師的碼農們,其實我們從來沒有把他們歸為我們程式設計師的隊伍。他們雖然總是以程式設計師自居,只是他們的一廂情願罷了。

此話一出,不知有多少小猴子默默地捏著工資條躲在廁所裡輕輕啜泣。然而,錢的多少並不該成為分辨碼農和程式設計師的分界線,那麼碼農和程式設計師之間的區別到底是什麼呢?

根據百度百科釋義,碼農是一個依靠寫程式碼為生的群體,表現在:低收入,工作時間長,這種職位只能強化職業者在單方面的技術領域技能。如果按照從業者們將自己自嘲為碼農的表現,那麼碼農的程式設計師分級中理應只屬於初級程式設計師,是屬於依靠複製貼上將各類程式碼連結的IT從業者。

這個群體的數量有多少呢?大學計算機相關專業的同學們、大中專軟體專業學習者、畢業不久的程式設計師、廣大程式設計初級愛好者。這一群體龐大的數量,讓碼農很難在IT世界中擁有不可替代的價值。

按照小編曾經的java老師的說法,牛逼的程式設計師能夠依靠經驗和其邏輯,設計出高效地演算法,更好的解決問題。
對於真正的程式設計師(非初級程式設計師,也即碼農)而言,他們不僅是枚資深的碼農,還熟悉與客戶溝通的技巧,在幫助使用者解決問題的時候瞭解使用者的需求,進而迭代產品;他們可以深諳獲取使用者需求的技巧,也懂得市場分析、技術執行分析、價值分析估算專案的風險;他們能獨立完成專案使用文件的能力,甚至都可以獨立完成一個專案。他們與純粹的碼農有一個非常顯著的差異:碼農靠體力為生,真正的程式設計師不僅體力行,其也靠腦力,靠思維邏輯上的突破、靠團隊管理贏得個人魅力。

自動寫程式碼顛覆的是碼農 而不是程式設計師

從區別中,我們不難發現:真正的程式設計師與碼農相比最大的區別就在於:真正的程式設計師不是完完全全的技術工人,其除卻技術高超之外,其思維邏輯上的價值,讓其不可替代性比碼農強多了。

自動寫程式碼工具,這對於大量的程式設計師們來說可能是福音,但對於單純的碼農而言,帶來的卻是毀滅。微軟在其發展中,對IT程式設計領域做出的最大貢獻就在於製作了很多便捷的程式設計開發軟體或構建了非常省事省力的開發環境,其中不乏有大名鼎鼎的Visual Studio和SQL server。

以小編在學習C#之時常用的Visual Studio為例,無論你是選擇c/c++還是其他的一些程式語言,在Visual Studio的語言庫中已經存在某一程式語言的情況下,我們通過輸入程式碼的前幾位英文字母,就能快速地檢索出我們想要的程式碼。因此,其實在目前的程式設計環境中,大量人性化的程式設計工具都已經初步實現了主流程式語言語法的檢索,無論是美國政府的PLINY,還是微軟正在利用去年釋出的外掛Bing開發助理,他們想要做的事情,各大研究機構或許已經研究多時的。

雖然這樣的工具要實現準確預測編碼人員將輸入的程式碼,檢查語法錯誤與漏洞存在一定的難度,但這樣的工具的確有實現的可能,也會給人們更高效率地程式設計帶來很大的幫助。由此一來,備受衝擊的便是碼農的。

一旦這樣的工具真正成型,這些工具會讓原本需要多位碼農分功能塊而執行的程式碼,由一個碼農也可以完成,在這個過程中,原本可能一家企業能夠養活5名碼農,最後只會有2名碼農倖存。由於目前碼農們所做的事情與真正的程式設計師相比,並無太大的技術含量,其被寫程式碼工具顛覆的可能性非常之大。

但在程式設計師的發展歷程中,大家幾乎都是從碼農走過來的。自動寫程式碼工具會淘汰大量在碼農期間無法加強自己學習能力,加強自己不可替代價值的初級程式設計師,也就是我們所說的碼農。因為自動寫工具出行的情況會讓初級程式設計師們感受到市場的殘酷性,在激烈的競爭中會淘汰很多困難並不適合並不樂意往程式設計師更高層次發展的人,也會激勵初級程式設計師不斷學習,從而提升程式設計師整體的質量水平。

因此,在自動寫程式碼工具顛覆、淘汰掉一批初級程式設計師之後,其也會為提升程式設計師整體的質量做出巨大貢獻,對程式設計師未來的發展有推動作用。學習能力強是高階的程式設計師或者優秀的人才都具備的因素,而對於使用者需求、市場的分析能力;對專案程式碼的邏輯思維掌握;能夠捨棄個人英雄主義,以團隊以專案為主;敢於創新敢於思考敢於學習也都是高階程式設計師們不可替代的一些地方。