天天看點

碼農和程式員的差別

人類總是會對自己的未來充滿了焦慮,在我們對未來心存懷疑的時候,任何一則“消極”一點的消息都能讓我們更加否認自己的未來,這一心理近日在對程式員前景心存質疑的人們身上,非常明顯。
碼農和程式員的差別

日前,據網易科技報道:美國萊斯大學表示,作為五角大樓的瘋狂科學部門,美國國防部先進研究計劃署(DARPA)對代号為PLINY的自動填寫編碼項目投資了1100萬美元,這一項目的研究人員期望在收集到大量的開源代碼編入索引之後,可以預測編碼人員将輸入的代碼。人類總是會對自己的未來充滿了焦慮,在我們對未來心存懷疑的時候,任何一則“消極”一點的消息都能讓我們更加否認自己的未來,這一心理近日在對程式員前景心存質疑的人們身上,非常明顯。

該項目如果被順利完成,它或将為那些找不到合格程式員參與研究日益複雜的軟體項目的公司帶來福音。根據聯考期間的報道,計算機專業是我國2014年聯考志願填報最多的專業。由此一來,那些孩子學習計算機專業,有可能走上程式員道路的家長們,以及本身對程式員未來心存質疑的人們看到這一新聞之後更加焦慮,仿佛自動寫代碼的工具讓大量的程式員下崗的事情已經闆上釘釘。但事實真是如此嗎?

碼農是程式員嗎?碼農與真正程式員的差別

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

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

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

自動寫代碼颠覆的是碼農 而不是程式員

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

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

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

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

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

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

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

科技的發展,往往是能有工具替代人類的體力活,而關于思維思想的工作,暫時或許并未在這些神奇工具颠覆的範疇内。在自動寫代碼工具面前,無論是碼農還是真正的程式員,其實更多地應該是勉勵自己不斷學習,不斷進步,而不應該在末日還沒有來臨就對自己的未來堪憂。人類是世界上最進階的動物,大腦所具備的思維能力就是其能夠成為最進階的關鍵,在程式設計領域,或許隻要人類肯學習,願意提升自己的思維能力,形成自己不可替代的價值還是有機會的。自動寫代碼颠覆的是碼農而不是真正的程式員!(這裡指學習能力不夠強、思維能力不夠強的初級程式員)

繼續閱讀