這在“真正的教授”決定細節的學術界確實如此,只保留“大方向的東西”。換句話說,組織正面向垂直協作:頂層的管理者管理一個平行結構中的一些(更廉價的)僱員。在研究機構中,高階科學家提出想法,而初級科學家的任務就是來實現這些想法。
隨時間的推移,高階科學家可能不會做初級科學家會做的事情,但是他們會變成融資方面的專家。因此,就出現了這麼一個可擴充套件的模型:高階科學家可以讓中層科學家指導初級科學家等等。Jorge Cham 將這種模型稱之為 Profzi scheme,因為一旦資金方面非常充足的話,它的表現就異常的優異。
同行間橫向協作
在此模型中,高階科學家做所有事情,從點子到實現。他們喜歡儘可能地自動避免繁雜的工作。合作主要是用來得到一個不同的角度和專業互補點。這種模式在資金缺乏的前提下仍然可以良好的執行,但是它不能夠適應參與者過多的現象:橫向協作關係過於緊密。
每個模型支援不同型別的工作。我認為,垂直協作有利於長期的和可預測的工作。而橫向協作有助於偶然情況和“狂野”的想法。
我願意花寶貴時間去程式設計的理由
我比較贊成橫向協作,這也正是為什麼我老了但是我還在程式設計的原因。這看上去很不尋常,也許有人對此很不解。有些程式設計需要花費很多時間,我一年當中用在程式設計上的時間有兩三個月之久。雖然我的時間很寶貴,我也可以將我的這些工作花點錢外包出去也行,但是我還是願意自己親手做這樣的在別人看來浪費精力的事情,為什麼呢?這裡我引用 Donald Knuth 的話來做解釋:
那些致力於更高層次和抽象思維的人們通常會錯誤地認為低層次的具體想法相對而言沒有價值而且很可能被人遺忘。恰恰相反,最好的電腦科學家需要透徹地瞭解計算機實際執行的基本概念,而且電腦科學的精髓就在於能夠同時理解眾多層次抽象的能力。但我也有我自己的觀點:
我希望我的工作是重要的且能產生影響力的。然而,即使是被廣泛引用的研究論文都很少有人詳讀細看,也是因為很少有研究論文能夠產生顯著的影響力。然而,從事與軟體相關的事情是比較容易的。例如,最近 Facebook 的一個團隊整合了我釋出的一個 Apache Hive 中的壓縮點陣圖索引庫:基於 Hadoop 資料倉儲框架。在 Apache 的配置單元我壓縮的點陣圖索引庫之一:基於 Hadoop 框架的資料倉儲。但是我敢打賭,Facebook 團隊裡肯定沒人去花時間閱讀我寫的這個軟體的原始論文。一次又一次實踐經歷只是為了讓自己更好的理解自己的想法。常見的情況是一些聽起來似乎很有道理的想法卻無法通過實踐途徑實現。我也經常通過執行我的數學論證發現 bug。我能把這個工作外包給別人嗎?也許可以。但結果估計不會是很讓人滿意。
隨著時間的推移,你在程式設計上的運作做得會更好,駕輕就熟。幾十年來,我一直在鍛鍊我自己的專業技能。如果你在哪一天從頭開始,在數天內解決了一個難題,特別是當你知道別人可能需要數週或數月才能解決問題的時候,那種感覺是很享受的。
如果我的論點是合理的,就連 Donald Knuth 也支援我的觀點的話,為何當我承認自己是一個程式設計師科學家的時候仍有人大跌眼鏡?我覺得可能是大部分人都會拒絕程式設計這樣低層次的工作吧,這一點從《閒人階級理論》這可以得到證實。實際上,我們往往追求名望而不是實用。為了最大限度地提高信譽,必須瞭解休閒階層的含義:你的工作一定不要產生實際的作用。因此,成為一名 CEO 或政客要比成為護士或者廚師帶來更大的聲望。那些離現實世界更遠的科學家們會更加有聲望。程式設計是一項類似製作工具的工作,因此來自有閒階級的人們不會喜歡。人們會把自己稱作工程師、分析師或是開發者,但很少稱自己為“程式設計師”,因為這會顯得太功利。
所以,並不是每個人都應該去學習程式設計。它是一個耗時的活動。我編寫了這麼多的程式,花了那麼時間以至於很多令人興奮的事情我都做不了。
老程式設計師還會出現哪些下場呢?
之前在“外刊 IT 評論”上看到一篇文章,講的就是一位 55 歲的老程式設計師的感慨,對自己變老之後的境遇痛心不已。
50 多歲時你的職業仕途會成為一個問題。如果你有很好的技術,有人僱你,你會有一個很高的職銜,或你是一個專家,或有很好的人際關係,你都有可能找到一個新的職務。否則,你會從衣食無憂淪落為無家可歸。這是真的。我 55 歲,我的簡歷會讓你感覺非常優秀,10 年前我能掙到多達 100 萬美元。現在我是一個流浪漢。我身體不是很好,沒有醫險,沒有牙醫。能找到的工作只是一些基本不需要技術的體力勞動,我也幹不了。
不希望年輕的程式設計師以後也變成這樣,只能給你們下面的一些建議:
- 職場上往上爬,不要停。
- 成為某一方面的專家——雖然保持足夠寬的技術面也很重要,這樣你才不會被淘汰。
- 建立一個人際圈。擴大它。
- 多樣化你的投資。
- 有工作時醫療保險一定要上,這方面不要出問題。如果你沒了工作,沒了錢,醫療保險也沒有,這將會成為一個嚴重的問題。
- 與人為善。但也不要犯傻。大部分你幫助過的人不會回報你。
- 提早打算,人生不如意十有八九。
有著 10 年軟體行業從業經驗,專注於微軟 .NET 技術領域及專案管理的徐洪軍根據自己的現狀總結出了三條出路,希望對你有用。
自己也是一個程式設計師,整天 coding, debugging,有時候也在想,真的有一天寫不動了,或者公司更傾向於用年輕人做這些事,因為便宜而且有精力,那我怎麼辦?雖然國外也有很多老程式設計師,像我認識的幾個德國同事,年紀一大把了,還是個軟體工程師,幹得還有滋有味。他們不在乎名也不在乎利,全在興趣。可我不一樣啊!國內和國外的環境也不同。時常到網上了解一些程式設計師的出路問題,總結起來覺得下面三條比較可行。
出路一:向 IT 培訓師轉型
分析:IT 企業在招聘新人後,一般都須經過培訓才能上崗,這個培訓有時是在崗位上進行的,由富有實踐經驗的“老人”負責。年輕人想要進入 IT 行業,必須接受這樣的專業培訓。如今 IT 培訓市場蛋糕相當大,利潤空間可觀,行業發展前景看好。無論是在 IT 公司內部轉型擔任培訓工作,還是到 IT 培訓機構擔任教師,都應該有發展空間。這樣的工作不會有太大壓力,且比較穩定,對年齡也沒什麼要求。而且也沒有脫離本行。
優勢:在這個行業工作多年,擁有豐富程式設計、專案經驗,曾參與過許多成功案例。而多年積攢的行業人脈關係,還可以幫助我們發展企業客戶,順便擔任市場擴充工作。
挑戰:缺少培訓工作經驗。如果要向培訓師轉型,可能需要接受一些專業訓練,提高擔任培訓師的能力。
出路二:向 IT 營銷轉型
分析:IT 與其它行業不同,由於技術性較強,營銷人員一般也須有較強的技術背景,且最好有著豐富經驗。網際網路公司、
電子商務公司、軟體公司目前都需要有技術背景的營銷人員;另外,電子商務的再度火爆,使得傳統企業開始重視電子商務營銷,也需要有技術背景的營銷人員。這類工作薪水不低,加上提成應該可以拿到高於程式設計師的薪水,同時也比較穩定。
優勢:深厚的技術背景,廣泛涉獵了各種程式設計軟體和工具,對 IT 行業也有相對深入的瞭解,這些都是比較大的優勢。
挑戰:程式設計師一般都很少與人打交道,口才也不太好,而營銷工作恰恰需要跟人打交道,這可能是最大的挑戰,要求徹底改變工作方式,加強溝通能力與人際交往能力;此外,營銷工作會面臨銷售指標的壓力,這些問題都是轉型前必須深入考慮的。
出路三:向專案管理努力
分析:如果說前面兩條出路轉型的成分多,那麼專案管理可以說是更為便捷的發展之路。目前,軟體專案經理是人才市場上炙手可熱的人才,有豐富經驗、外語好的軟體專案經理是搶手的香餑餑,供不應求,薪水自然也是水漲船高。在上海市勞動部門新發布的 2005 年軟體行業薪資調查中,專案主管的薪水是同層次主管中最高的,年薪高位數達到 211011 元,平均年薪達 109414 元。最重要的是,一個優秀的專案經理可以在這個崗位上長久工作下去,並且有向高層進一步提升的可能。
優勢:對有經驗、有技術、有人脈、有能力、參與過多個軟體開發、有一定經驗的人,專案管理無疑是發展的一個很好的方向。
挑戰:可能有些程式設計師在專案團隊裡一直是參與工作,很少擔任過專案帶頭人。而很多公司在招聘專案經理時,都需要有帶領團隊進行專案開發的經驗,這是一個劣勢。最好參加一些專案管理方面的培訓課程,自學相關的知識,增長自己在流程管理、溝通協調等方面的能力,以便積累資本,逐步向專案管理崗位邁進。
來自:CSDN
相關閱讀
評論(2)