即使別人是碼農,你卻不該是

jopen 10年前發布 | 20K 次閱讀 碼農

即使別人是碼農,你卻不該是

        好幾天前,在微信里,有個童鞋給我留了這么一段話:

        「程序君,昨日知乎日報上出現的那篇《為啥中國的程序員都被稱為碼農》(以下簡稱「碼農」),看完實在心酸,作為一名還在大學校園即將走向“碼農”大軍的愣頭青,想請教您,你對那篇文章有啥看法?上面的說法屬實嗎?中國程序員的現狀大體是怎樣?麻煩指點」

        我大概看了一下那篇文章,說的有些道理。但程序君認為:別人是不是碼農與你無關,你不該成為那篇文章作者眼中的碼農。作者說碼農一詞強調程序員「地位低下、枯燥和勞累」。作為一個程序員,我也來隨便說說。

        收入和地位

        一般而言,程序員的收入水平不低。我沒有具體的數據,但在一線城市,程序員的平均收入應該都能達到該市的中上水平 —— 我猜 top 30% 左右。2012 年,我們在校園招聘的時候,很多面試后非常心儀的同學(清華,北大,中科院等)最終都拿著十幾到二十萬的薪資去了B,T等公司,有一個我們特別中意的 iOS 工程師,被我們追了很久,但后來最終還是被某著名游戲公司招安,拿了二十好幾萬的薪水 —— 這可是程序君工作了好幾年后才能拿到的 package 啊。

        所以你說程序員的收入低么?為什么你的收入會低?為什么你怕你未來的收入會低?

        程序君有個朋友,也是途客圈的前員工,本科來實習前已經有很多獨立的項目經驗,掌握了 python/django 和 iOS 的開發能力。他聰明好學,上手能力非常快,稍加指點就能從事重要功能的開發,勤奮程度又不輸于程序君,所以進步神速。后來途客圈的很多核心功能都交由他來 負責,某些功能程序君都自認為無法做得比他好。一年半后他從途客圈「畢業」時,已經是各大公司爭相想招致麾下的「面霸」,同時拿到了好幾份 offer,最終去了某搜索公司,現在前途一片光明。

        我想這是一個很有借鑒意義的例子,尤其對于在校學生。就像之前的『軟件開發升級打怪之路』所講的那樣,我們身邊有那么多很有意思的問題可以通過軟件來解決,你愿意放棄一部分打 dota 的時間和精力去解決么?你愿意在解決的過程中排除萬難,啃下一個個硬骨頭么?

        如果你在學生時代就有很多拿得出手的項目,那么在現在互聯網熱火朝天,人才缺口很大的時代,找一份薪水不低的工作還是難事么?

        程序員可能是世界上唯一一份不用太靠學歷,不用太靠爹娘,甚至都不用太靠熬日子出頭的工種。有人杜撰了這么個故事:

        說 Python 之父 Guido van Rossum 有天跑去 google 面試,說了三個詞:"I wrote python",就被錄用了。

        當然像 Guido 這樣的大牛犯不著主動去找工作的,就像球場上的超級明星,給獵頭打個電話,說我想挪個窩了,工作機會就會像雪片一樣飛來。這個故事雖為杜撰,但不失一個很 好的例子說明程序員「不靠天,不靠地,就靠自己一雙手」的本質。你的薪水取決于你能做出什么來。

        至于地位,我覺得除了權貴階層,其他人的地位都差不多。如果不做公務員,沒事別老琢磨地位,那玩意說來就來,說走就走。我倒覺得程序員應該多提高自己的品味 —— 至少多學學打扮自己,別拿著中產的收入過得像無產階級。

        另外,建議妹子們也多關注關注程序員這個群體 —— 畢竟能夠改變世界的幾類人中,程序員算是最好接近,在比較年輕的時候就能看出潛力,也最好玩弄于股掌中的。^_^

        工作枯燥

        工作枯燥這事真心和你自己的感受有關。首先不是所有人都適合做程序員的,如果你換了不少團隊或公司,做什么都覺得枯燥,自己又沒興趣做 pet project,那你要好好考慮下自己是否適合這條路。否則走下去,就真成了「碼農」一文中的碼農了。

        有人曾經給我留言說自己不想做業務相關的事,沒意思,想做「真正的程序員」做的事情。拜托,我們做的是產品,哪個產品不是和業務相關的呢?脫離了業務的軟件,要么是純粹個人愛好,要么只能在象牙塔里生存。

        有人說工作特么沒勁,每天干的都是瑣碎邊緣的活兒,枯燥死了。好吧,你以為程序君做得總是高大上的事情么?程序君最近兩周干的活也瑣碎得要命, 其中一個任務類似于「從 linux kernel 的源代碼里,把所有.c 引用的.h 文件摘一摘,只留下真正有用的(但系統還能正常編譯運行)」。

        工作中這樣的活不少,枯燥是有點枯燥,遇到了與其怨天尤人,不如想辦法快點將它完成。程序君花了大半天時間,在走了很多彎路寫了兩個程序后,終 于找到一個巧妙的辦法,僅僅寫了五十多行 python 代碼就將其完成。效果從最初的方案減少了 25% 的.h 文件一直到減少了 95% 的.h 文件。

        我比較不理解有程序員說自己總不得不做重復勞動,所以感覺工作異常枯燥。想想「程序員」這頂帽子帶在頭上意味著什么?它意味著全世界任何群體都 有理由說自己的勞動是重復勞動,唯獨程序員這個群體不能。為何?程序員堅守的信條是 DRY(Don't Repeat Yourself),一件事當你發現你需要重復第二次時,就要考慮將其自動化。做不到這一點的請努力,因為這決定了你的效率和效能。

        還舉我自己的例子吧。前些日子我要測試幾個開發環境,流程大概是下載代碼,編譯,運行 UT。因為開發環境有點問題,所以在下載完代碼后我需要對代碼打個 patch。這活第一遍我是手工做的,為了驗證整個流程的正確性,調整 patch 等等。第二遍以后我就寫了個腳本將其自動化。雖然在我寫這個腳本的時間里,我完全可以對所有的開發環境都一一驗證,但腳本化的好處是,我可以讓別人用這個 腳本也進行獨立驗證,我也可以在今后幾天的工作中反復使用。

        枯燥是你看待任務的主觀情緒。很多看起來外表光鮮的互聯網公司或者軟件公司,真正分到你手上的任務就不見得光鮮靚麗。大數據?那是對外美好的商 業表述。你真正做的事情也許是對海量日志進行或手動或半自動分析,枯燥不?操作系統?好吧,你去了以后發現主要做的是本地化,枯燥不?虛擬化?好吧,那里 很大的團隊在做驅動開發,枯燥不?

        沒那么多枯燥。軟件就是一個個實現起來非常枯燥的功能有機地組合在一起,為用戶(客戶)提供價值。無法認清這一點,總認為自己干的就是最枯燥的,那你只能繼續枯燥下去,也只能成為「碼農」作者眼中的碼農。

        辛苦勞累

        辛苦勞累倒是真的。不過要看你怎么個辛苦法。

        如果你在一家各種限制你自由發揮,還以你工作時長為工作態度和工作能力的評定標準,那么,除非你有其它想法,否則應該選擇離開。記得我畢業后工 作的第一家公司,有天晚上吃飯,老板問我對 team 里兩個女孩有什么評價,我說她們工作得挺好,合作愉快啊(潛臺詞是男女搭配,干活不累^_^)。老板努了努嘴,說:可她們一下班就回家,工作態度不積極 啊。我聽著不是滋味,心里就萌生了離開的念頭。

        程序員的工作絕對不應該用工作時間,是否加班來衡量。如果你的老板給你的評定是「該員工工作積極努力,主動加班,blablabla」,你還愿意這么呆著,那你就別抱怨辛苦勞累。

        不過現狀的確是是很多程序員都在加班,包括我在內。

        有些人加班是真忙。但其實有很多行業比程序員忙得多,比如四大所在的會計(審計)行業,比如投行,咨詢。

        也有些人加班是刷存在感。

        但更多的人加班是為了有一個清靜的環境,能做點什么。

        要說辛苦勞累,我覺得一個很重要的原因是:這個工種需要你不斷更新夯實自己的技能。

        如果被迫接受,那身心俱疲;如果主動出擊,身體累了點,心靈上的成就感還是不小的。

                    <span id="shareA4" class="fl">                          </span> 

</div>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!