說到中美程序員水平差距的問題,大家應該都有各自的評判標準。技術差距肯定是有的,畢竟國外起步比我們早了那么多年,但除了技術實力之外,還有很多我們正在努力提升的點,比如英語、工作方式、解決問題的思維方法等等。本文將對中美程序員的專業技能、情感訴求等進行對比,希望能幫助大家發揮優勢、補齊短板,并找到快速提高的方法。
一、專業技能
1、代碼質量
在美國公司,一個項目在前期花的時間是最多的,比如需求分析、架構討論、技術討論。美國的程序員寫代碼通常會考慮得比較長遠,有時間去考慮開發原則、維護成本,領導也會樂于去安排版本來解決技術債務。
國內的互聯網公司節奏比較快,講究的是小步快跑,就幾天的開發時間,不管三七二十一先上線再說,敢想敢干敢上線。
2、解決問題的能力
因國內外教育方式的不同,中美程序員在解決問題的能力上也有差別,國內的程序員是善于解決問題,而美國的程序員善于發現、探索問題。
美國程序員的探索研究能力很強,經過一段時間的研究后,能提出一套非常具體有效的方案,然后一步一步去解決問題。
如果把一個規定好的任務方案給到國內程序員,他們普遍完成得非常好。但如果沒有具體方案,完全是一個開放性課題,很多時候程序員就會束手無策。
3、溝通能力
由于編程需要用到的是英語,這對于美國人來說簡單易懂,使用起來也是易如反掌。再加上國內外思維方式的不同,所以在溝通能力方面會有很大的差異性。
美國程序員對問題的切入點和思路都有具體的分析,在闡述問題時背景信息也給得比較全面,所以理解他們的問題比較簡單容易。
國內的程序員闡述問題或多或少會有邏輯思維不清晰的情況,講了很多,但大家很難get其中想表達的重點,一味地自顧自說,不去思考和理解別人給他提的建議。
二、情感訴求
1、年齡
美國公司里的程序員20多到70多歲的都有,多數是三四十歲的中年人,大部分工作目標都是為了早日退休,攢夠錢隨時就辦退休party。當然也有一些純粹因為熱愛工作、熱愛寫代碼選擇不退休的。
反觀國內的程序員,平均年齡基本在30歲以下。年紀稍大的,有一部分人成功進入到了管理層,還有一部分人可能就會被優化。
2、熱愛程度
美國程序員大多數都是因為熱愛編程行業而從事這份工作的,他們會專注某個領域幾十年。50歲以上的程序員還會安心待在同一個崗位上寫代碼,鉆研技術。對于編程這種事情,更多的是單純的熱愛。
國內的程序員因熱愛編程而從事這份工作的并不多,更多的是因為這個行業火、賺錢快、入行門檻低。什么技術火就學什么,慢慢積累工作經驗,幾年以后當個小管理,拿著十幾萬,或幾十萬的工資,再無追求的過著小日子就好。
3、職業訴求
美國的程序員有大把的時間去嘗試創造,在物質方面比較輕松自由。而國內的程序員其實更關注物質回報,因為我們的文化強調盡早買房買車。
4、關于加班
美國的程序員基本不加班,加班需要申請。因為加班費比較高,需要走項目預算,領導為了控制預算,經常不批準加班申請。而中國的程序員996就是常事了。
三、工作之外
美國公司的程序員很注重對健康的投資,很多人有每天早上去健身房的習慣。健身不只是為了鍛煉,還是很多人的興趣愛好。看起來平平無奇的程序員,可能都是隱藏的運動高手。很多美國程序員熱衷于做慈善,回饋社會,小到獻血捐錢做公益,大到組織慈善拍賣會。已婚的程序員其他時間和我國的一樣,基本都花在養孩子和投資上。
相比之下,我國的程序員就比較“慘”了。辦公室的好多程序員,都不敢看體檢報告。20多歲的年輕人,檢查出什么的都有,高血壓、高血脂、膽囊炎、結石、痛風,還有得了痔瘡的,據說是因為久坐,加班經常吃小龍蝦。此外,國內程序員的離職率也比較高,有跳槽的、有轉行的、有回老家躺平的。除了領導們,幾乎每個人看起來都很焦慮,頭禿......
四、他們怎么說...
關于中美程序員,看看程序員們自己是怎么評價的:
@??王亞暉??
曾在中美兩國都工作和創業過,在 freelancer 上發過外包也接過外包,維護過開源項目。據我所知,
頂尖工程師水平:
美國>中國>日本=歐洲=韓國>印度
平均水平:
中國=美國>歐洲=印度>日本=韓國
大型互聯網公司技術能力:
美國>中國>剩下全加起來
無論公司角度,還是計算機技術能力角度,現在世界上只有兩個國家能放在一起說,一個美國,一個中國。
@vczh
美國程序員有一種莫名其妙的自信心爆棚的狀態,明明自己程序寫得那么爛,也覺得自己像超人一樣。我覺得中華民族應該向他們學習,不用太謙虛。至于編程技巧,其實都差不多。只是中華民族平時生活的瑣事太多,于是工作后連學習的機會都沒有了,差距就是這么慢慢拉開的。這一點在美國不會發生。
@swtc
對基層的程序員而言,中國程序員水平遠高于美國程序員。中國程序員解決實際問題的能力強,效率也高。但高階技術職位,例如架構師一類的,美國要高一等,因為在這樣的職位上,中國技術人員往往專注于解決實際問題,而不是解決技術問題。總體來說,美國更注重把程序員培養成 computer scientist,最起碼也要做到 engineer,而中國公司只要 programmer。
@坐家
心態:
中國:30 歲的程序員覺得再不升經理就要轉行了。
美國:50 歲的程序員還在安心寫代碼。
供需:
中國:30 歲以上的程序員太多了,都混成老油條了,多招點應屆生回來加班,擠走老的。
美國:50 歲以下的程序員不夠用了,需要加招 50 歲以上的,他們雖然加班少,但是經驗足。
待遇:
中國:按勞分配,老程序員不加班也不能加工資。
美國:論資排輩,老程序員沒有功勞也有苦勞。
流向:
中國:那些去美國當碼農的同學和同事都不回來了。
美國:那些到中國出差的美國碼農不久都回去了。
@來生再見
差距在于是否:敢于拒絕加班;敢于和老板表達自己的不同意見;敢于堅持自己的技術路線;敢于跳槽。
寫在最后
綜上所述,在解決問題的能力上,雙方基本在伯仲之間,但是在技術創新、問題的探索領域美國還是略勝一籌。此外,在高階人才方面,中國的技術專家在數量上不及美國。
當然,我們也無需長他人志氣,滅自己威風。作為程序員,一定不要以敲代碼、拿高薪作為自己唯一的人生目標。無論在什么時候,我們都要不斷提升自己的專業度和競爭力,永遠保持一顆熱愛自己事業的工匠之心,堅定地走下去。互聯網行業千變萬化,要不斷地學習,更新知識系統,才能不被這個社會淘汰。