程序員:放下技術(shù)情節(jié),與你的同伴一起進(jìn)步
如果說掌握一門賴以生計的技術(shù)是技術(shù)人員要學(xué)會的第一課的話, 那么, 我覺得, 技術(shù)人員要真正學(xué)會的第二課,不是技術(shù),而是業(yè)務(wù)、交流與協(xié)作,學(xué)會關(guān)心其他工作伙伴的工作情況和進(jìn)展。
為什么這么說呢? 因為技術(shù)人員太容易陷入“孤島”狀態(tài),更注重自己的工作任務(wù)的完成,忽視其他工作伙伴的工作,甚至一無所知。 我就一直犯這樣的錯誤。我敢說,對內(nèi)心我還是比較明白清楚的,但是對外面所發(fā)生的事情實在是知之甚少,這不是好的狀態(tài)。 一個開明、開放的程序員不應(yīng)該囿于自己狹隘的小天地,而是更廣闊地去看待工作和職業(yè),和同伴一起進(jìn)步和成功。
為什么要關(guān)心業(yè)務(wù)?
很多技術(shù)人員都立志成為系統(tǒng)架構(gòu)師, 那是編程領(lǐng)域的“圣杯級職業(yè)”。問題是, 系統(tǒng)架構(gòu)本身是為了業(yè)務(wù)需求和擴(kuò)展而服務(wù)的,必須充分理解業(yè)務(wù)需求和未來的發(fā)展趨勢,深入理解系統(tǒng)所涉及的數(shù)據(jù)及分布, 才能作出更可靠的設(shè)計決策。如果對業(yè)務(wù)知之甚少,以為僅靠書上說的那一套,或者以前的零碎經(jīng)驗,就能夠勝任的話,那這個項目多半要失敗的。 因此,即使立志要成為系統(tǒng)架構(gòu)師,也要對業(yè)務(wù)有很深的理解。
其次, 技術(shù)的發(fā)揮必須有用武之地。如果沒有足夠強(qiáng)度和有挑戰(zhàn)性的業(yè)務(wù)需求和擴(kuò)展, 足夠多的問題的磨煉,技術(shù)的提升又從何談起? 僅僅靠閱讀那些技術(shù)書籍嗎? 那只能提供一個指導(dǎo)的作用罷了;真正還是要在實戰(zhàn)中得到提高。
如果一個技術(shù)人員對業(yè)務(wù)不感興趣,只對技術(shù)感興趣, 那會發(fā)生什么事情呢? 他將只能滿足于使用自己所熟悉的技術(shù)去完成上面分派下來的任務(wù); 也許今天是做一個系統(tǒng)A, 明天是做另外一個類似的系統(tǒng)B。 他對系統(tǒng)涉及的各種業(yè)務(wù)都不甚了解,也不清楚行業(yè)領(lǐng)域的發(fā)展?fàn)顩r, 就只能局限于使用技術(shù)來做各種具體的功能,無法提出中肯的建議。他的職業(yè)發(fā)展將嚴(yán)重耦合于所掌握的技術(shù)。如果該技術(shù)保持比較長久的生命力,那么, 他還能兵來將擋水來土淹, 但無論如何,也只能局限于成為這門技術(shù)的“高級工程師”而已;如果該技術(shù)開始被淘汰,那就悲劇了。
換一種方式。如果一個技術(shù)人員很關(guān)心業(yè)務(wù)。 那么,經(jīng)過一段時間的磨練之后,他能夠提出中肯的意見,知曉行業(yè)領(lǐng)域的發(fā)展?fàn)顩r, 在深入理解業(yè)務(wù)的基礎(chǔ)上,同時發(fā)展相應(yīng)的技術(shù)專長, 做一個在業(yè)務(wù)和技術(shù)方面并行發(fā)展的技術(shù)人員。 他的職業(yè)發(fā)展將不是完全耦合于特定的某種開發(fā)技術(shù),而具備了更大的靈活性。
你知道嗎? 三國時期,我最佩服的是徐元直先生。 他是一個技術(shù)和業(yè)務(wù)同樣精通的人才; 技術(shù)方面, 作戰(zhàn)思想豐富, 業(yè)務(wù)方面, 實際指揮作戰(zhàn)和應(yīng)變能力都很強(qiáng), 這樣的人才, 難怪即使不獻(xiàn)一策, 曹操這樣的人物也愿意留他在帳下, 讓他無功受祿,—— 能夠不讓他為競爭對手所用就已經(jīng)是大功一件了。
放下技術(shù)情結(jié)
技術(shù)人員要學(xué)會放下心中的“技術(shù)情結(jié)”。 因為我也是技術(shù)人員,也有技術(shù)崇拜的傾向, 也能夠感受到這種情結(jié)帶來的益處和束縛。 “技術(shù)情結(jié)” 表現(xiàn)在哪里呢? 你期望能夠盡可能多盡可能深入地掌握各種技術(shù),這給你帶來一種很好的安全感,因為有了強(qiáng)有力的依靠,—— 你對自己的能力充分自信; 但也束縛了一個人的發(fā)展: 他的內(nèi)心容易更加依賴于自己的能力,而對別人的能力抱有懷疑,難以與別人形成優(yōu)勢互補(bǔ)和良好搭檔,很難發(fā)揮出超出自己能力的能量。
是的, 你學(xué)了 C, java, python , Lisp , ...., 還可以列出更長,你還想掌握并發(fā)編程,軟件架構(gòu)等等,你的同事卻只會C, java 或 python , 會敲入一些命令, 這樣你就舒服了嗎? 感到優(yōu)越了嗎? 高枕無憂了嗎? 成為核心骨干了嗎?
技術(shù)是學(xué)無止境的, 一個人的精力卻有限,就算一個人在某個領(lǐng)域里非常精通,那么同時也可能意味著這個人在其它方面是孤陋寡聞,“技術(shù)牛人” 和 “科學(xué)大師” 一樣, 可能只是一個美妙的光環(huán),是程序員給自己套上的鐵鏈。不要妄想一攬子全抓在手里, 確立自己的專長, 善于與別人優(yōu)勢互補(bǔ),良好協(xié)作才是。敢于舍棄 “技術(shù)情結(jié)” 給自己帶來的安全感, 才能走出更廣闊的空間。
技術(shù)人員的通病
大多數(shù)技術(shù)人員,包括我在內(nèi), 都不甚明了自己究竟能夠利用計算機(jī)做什么。 我們只是年復(fù)一年日復(fù)一日地學(xué)習(xí)和使用某種編程語言和技術(shù)來寫程序,以為這就是利用計算機(jī)的唯一的正統(tǒng)方式。你用過MATLAB嗎, 一種很強(qiáng)悍的科學(xué)計算軟件? 那里一條命令, 就頂一個編程人員幾個月的努力。作為一名計算機(jī)專業(yè)人士, 學(xué)習(xí)了那么多專業(yè)知識,難道僅僅只是為了掌握一兩門編程語言和技術(shù)來寫點程序養(yǎng)家糊口嗎? 如果一個程序員懂得去使用一些專業(yè)軟件,學(xué)習(xí)一些信息處理、統(tǒng)計分析方法, 那么, 他所能提供的價值可能遠(yuǎn)遠(yuǎn)超過一個普通開發(fā)者所能提供的價值。具備編程能力和對編程技術(shù)的領(lǐng)悟,是技術(shù)人員擁有的特別優(yōu)勢, 但并不意味著一個技術(shù)人員能夠干的活就只是編程。只是,大多數(shù)技術(shù)人員,由于各種原因,就把自己定位在一名普通的程序開發(fā)人員身上, 跳不出“開發(fā)人員”的視角。
我們總是沉迷于重新發(fā)明輪子,以及被迫重新發(fā)明輪子,用不同的編程語言,或者用同一套技術(shù)框架,搭完了管理系統(tǒng)ABCDEFG,再搭HIJKLMN,以及OPQRSTUVWXYZ, 感覺很有成就感吧? 不懂尊重和利用別人已有的工作成果,低水平重復(fù)建設(shè),耗費大量的時間、精力、人力和資源成本去做那些沒有太大意義的事情; 總是沉迷于爭論語言、技術(shù)之間的孰優(yōu)孰劣,卻甚少關(guān)心哪些事當(dāng)做不當(dāng)做,甚少關(guān)心做那些關(guān)鍵重要的事情有哪些方案以及孰優(yōu)孰劣;總是沉迷于某款科技產(chǎn)品的宣傳和特性,甚少關(guān)心環(huán)境問題和兒童失學(xué)問題,如果說程序員有什么可憐可恨之處,那絕對不在于這一族自甘被孤立,難以為人所理解, 而在于他們自身的心態(tài)就將自己鎖在了井底之中,還自以為很與眾不同。
假設(shè)你不再為公司編程,而為自己寫程序, 你知道自己該干些什么嗎? 你會感到迷茫嗎? 如果我們連自己該干什么能干什么都不清楚, 那么徒有一身武藝,又有什么用呢?
大多數(shù)技術(shù)人員,包括我在內(nèi),都還不懂得主動與工作伙伴良好協(xié)作,只是因為工作關(guān)系而不自覺地交流和協(xié)作。不信,在你工作之余的時候,你會主動邀請別人一起來編程,共同去做一個有用的產(chǎn)品, 還是埋頭去學(xué)習(xí)技術(shù),孤立地去做一些技術(shù)實驗,來掌握所謂的某門開發(fā)技術(shù)?
一個技術(shù)人員對于另一個技術(shù)人員的認(rèn)可往往起始于對其技術(shù)能力的是否認(rèn)可。技術(shù)人員面試的時候通常會更關(guān)注: 他掌握了哪些技術(shù)? 對這些技術(shù)的掌握程度如何? 而不是這個人利用自己的技術(shù)能力和所學(xué)做了哪些影響卓著的事情。這就導(dǎo)致了: 技術(shù)人員往往更關(guān)注自己的技術(shù)能力的發(fā)展,而忽視其他能力的培養(yǎng)。
因此,大多數(shù)技術(shù)人員,包括我在內(nèi), 都有四個通病: 一,不清楚自己究竟能夠利用計算機(jī)做什么,不懂得如何充分利用計算機(jī)的真正威力; 二. 不能主動與別人優(yōu)勢互補(bǔ)和良好協(xié)作; 三。放不下技術(shù)情結(jié); 四. 局限于狹隘的自我優(yōu)越感,以及伴隨而生的強(qiáng)迫癥。這四個通病導(dǎo)致一個人永遠(yuǎn)局限于只見一葉不見林的狹隘視角。
真正優(yōu)秀的技術(shù)人才
作為一名技術(shù)人員,你對公司的業(yè)務(wù)發(fā)展能夠提出自己的建議嗎? 你有能力說服工作伙伴和主管來采納你的提議嗎? 能夠集思廣益,融眾人之所長嗎? 我認(rèn)為,一個真正優(yōu)秀的技術(shù)人才,應(yīng)當(dāng)具備這種多方面的能力,除了技術(shù)專長,他具備說服能力,集思廣益, 能夠有力地推動事情的發(fā)展。企業(yè)也應(yīng)當(dāng)提供機(jī)會,讓技術(shù)人員參與更廣闊的工作,而不僅僅是寫代碼和完成需求功能。
我相信,從企業(yè)聘用人才的角度來說,它們更看重一名技術(shù)人才究竟產(chǎn)生了怎樣的影響。只是當(dāng)大量技術(shù)人員沒有什么可證明自己做過有影響力的事情的情況下,才不得不求其次,去聘用那些在技術(shù)能力上有更高造詣的技術(shù)人員; 從技術(shù)人員的角度來說,因為他沒有什么可以證明自己確實做過有影響力的事情,只好倚靠有限的技術(shù)水平為自己尋一個差強(qiáng)人意的安身之所。我覺得, 那些沒有做過有影響力的事情的技術(shù)人員,相比那些利用自己所學(xué)做過有價值的事情的人來說,其職業(yè)高度就已經(jīng)低了一個檔次,盡管后者可能在技術(shù)能力上要差一些。
事實上,我敢斷言: 中國不缺技術(shù)能力優(yōu)秀的人才,雖然技術(shù)級別與國外還差一兩個檔次, 但還是人才濟(jì)濟(jì)的。確實有很多人依然努力成為最好的技術(shù)人才,致力于引進(jìn)國外先進(jìn)技術(shù)。中國缺少的是那些懂得利用計算機(jī)能力創(chuàng)造價值、服務(wù)和效益的技術(shù)人才。 這種技術(shù)人才必須能夠放下技術(shù)情結(jié),以更開放、開明的心態(tài)去與其他的人良好協(xié)作,優(yōu)勢互補(bǔ), 一個真正優(yōu)秀的產(chǎn)品往往是多個人共同協(xié)作完成,孤膽英雄的年代已經(jīng)過去。即便是一個黑客,如果他能與另一個黑客強(qiáng)強(qiáng)聯(lián)合, 也能產(chǎn)生出比自己一個人更強(qiáng)大的能量。要知道,蘋果至少也是由喬布斯和沃茲尼亞克兩個人初創(chuàng)起來的。
要一起進(jìn)步和成功
最后, 如果一個技術(shù)人員通過重重磨難終于成為了很牛級的人物,而他的親友早已埋沒于塵世中,過著一般的日子, 他的成功又有多大意義呢? 應(yīng)該聚合所有人的才智和經(jīng)驗,一起創(chuàng)造共贏的結(jié)局才對,缺了誰都不行。人生苦短,正是因為一路上有了親友的陪伴, 才不會寂寞, 人生才不至于蒼白。不要只顧著自己一個人往前走路, 把親友們拋在看不見的后面。
PS: 因為本文的非技術(shù)成分很高,而且很有點羅嗦, 故將其刪除; 后經(jīng)人提醒, 認(rèn)為此文還有些價值, 因此又發(fā)上來, 希望文中的一二觀點能夠?qū)Υ蠹矣兴鶈l(fā)。