擺在老程式設計師們面前有三條路,一是轉行,二是繼續鑽研成為技術大牛,三是轉型為管理人員。 我最近採訪了十五位30歲以上的老程式設計師們,在此我想發表下我的觀點。 網路上總有這類觀點—— 「如果所有的技術都想著去做管理,不腳踏實地寫程式碼,那技術就做不好了。」 如果仔細推敲這句話,便能發現其中的邏輯錯誤:該觀點私自敲定了「在轉型管理的過程中就一定不會再腳踏實地做技術」的預設前提,事實上,這是一種偷換概念。 賈伯斯說過一句話:「如果一家公司讓主管銷售的去主管產品,這家公司就會非常危險。」 優秀的程式設計師更懂得產品的本質,他們並不是網路段子手們口中的「除了寫程式碼什麼也不會的程式猿」。 今天,我來說說第三條路:「技術人員轉型為管理」。
人們對「技術轉管理」的三個誤區印象 什麼是管理? 非管理層中有很多人對「管理」二字本身就存在誤解,認為做管理只用分分工、協調下人際關係即可,即便是技術人員轉成了管理,也會因為長期不實際動手而慢慢淡忘了技術。並且,他們認為技術人員就該老老實實一輩子做技術。 人們對「技術人員轉管理層」存在很大誤區,總結下來有以下三點—— 誤區一:管理不用懂技術 國內很多企業的管理層都是從業務出身,業務出身的管理人員有得天獨厚的優勢,除卻擅長於人際關係外也對公司的收入支出、銷售體系理解得更為透徹。 也是因為上述原因,導致不少人認為管理不用懂技術。 其實不然,若運營一項網際網路產品,或管理一支技術團隊,沒有人比技術出身的人更為理解。 兩個月前,張先生通過100offer上拿到offer,他今年剛過30歲,去年一年都在創業。最初,他以技術合夥人的身份與朋友一起創業,出任CTO,參與核心程式碼的編寫,之後更是擔當起管理一支十一人團隊的重任。 程式設計師出身的張先生深知技術的重要性,在管理團隊時,他能理解技術人員的需求與苦處,從而對症下藥,面對非技術員工,他可以利用自身優勢,讓他們大致瞭解技術團隊的運作,從而使整支團隊的效率提升。 不過,三個月前,張先生選擇了離開,兩個月前進入一家公司擔任CMO,負責新公司的營銷戰略,他從技術人員徹底轉型管理人員。問起為何最後離開自己創辦的公司時,張先生搖搖頭,說—— 「合夥人不是很懂技術,最後把核心工程師逼走了好幾個。雖然說管理人員不必在技術上精通,但也不能絲毫不知。」 張先生在30歲完成了程式設計師到CTO再到CMO的管理轉型,即便他如今再也不用寫程式碼,但他仍堅持著「管理層至少要知道技術是怎麼一回事」的觀點。 38歲的顏先生常年擔任技術總監,他對於「管理不用懂技術」、「程式設計師轉了管理後就不用寫程式碼了」這類看法發表了以下觀點—— 「技術人員成為管理層後,仍要參與核心程式碼的編寫。優秀的程式設計師即便成長為CEO後,事務繁瑣到的確沒時間寫程式碼,他的技術知識層面也依舊非常紮實。一個完全不懂技術的人,他無法理解技術團隊人員究竟在做什麼,分工起來也面臨極大困難,這樣會造成工作展開的困難。」 顏先生目前負責公司的整體技術規劃、各系統總體解決方案,他的職業發展方向是從工程師起步,逐漸成為高階工程師,再一步步成長為技術總監。 技術與管理並不衝突,優秀的管理人員即便不是技術專家,也不代表他一點都不懂技術。 誤區二:做管理比做技術輕鬆 和很多人以為管理人員只需協調人員關係一樣,不少人存在這樣的誤區:做管理不用耗費太多體力,其實比技術輕鬆得多。 林先生今年29歲,碩士,六年工作經驗,在畢業第三年就成為一家公司的CTO,是程式設計師轉型管理人員中年紀較輕的,他說起他在創新工場當程式設計師的日子,總是會說:「熬夜是家常便飯的事。」 問起他這幾年擔任CTO會不會熬夜少一點,他搖頭,說:「CTO又不是不用寫程式碼,相反,CTO需要精通各類技術,APP開發和運營,可以讓CTO們沒睡過幾個好覺,更何況有十幾個人要管理,維護過程中出了問題出了bug最心急如焚的當然是CTO。」 林先生伸出他的手,讓我看他的右手食指,整支手指都附上昏黃色,他笑,說:「都是熬夜抽菸抽的,以前常寫程式碼時很少抽菸,因為手都在鍵盤上。現在也不是有空了,團隊大大小小事情那麼多,一晚上一晚上地熬,能不抽菸嗎?」 不僅是林先生,本次我採訪的十五名三十歲左右的程式設計師,其中七位是管理人員,八位是非管理人員,七位管理人員一致表示進入管理層後,就算會熬夜少一點,但從體力耗費而言,一點兒不比以前輕鬆。 即便是未成為管理人員的八位程式設計師,他們大多也表示「認為技術管理會很輕鬆的多半是沒有經驗的程式設計師」,僅有一名持不同觀點。 誤區三:技術轉管理的人往往帶不好團隊 多數人印象中的程式設計師都是木訥、內向甚至孤僻,認為他們不擅長與人溝通,更不具備管理能力。 這是大眾對技術人員的最大誤解,並且,也有很多木訥內向的人,成為了優秀的管理人員。 祖克伯是「技術人員轉管理層」的典型案例,在創辦facebook之前,便被稱為「程式神人(a programming prodigy)」。 祖克伯高中時,便開發過名為ZuckNet的軟體程式,這一套系統甚至可視為後來的美國線上實時通訊軟體的原始版本。高中時還創作了名為Synapse Media Player的音樂程式,並且藉由人工智慧來學習使用者聽音樂的習慣。大學二年級時他又開發出名為CourseMatch的程式,這是一個依據其他學生選課邏輯而讓使用者參考選課的程式。 甚至在創業初期,他也依舊著迷於技術本身,將公司管理交給其他高層。 羅賓曾對祖克伯爆發過:「你最好上課學一下怎麼當執行長,不然這會給你帶來麻煩的!」 不過,在羅賓對祖克伯爆發後,羅賓注意到,祖克伯身上發生了截然不同的變化。首先他確實同意開始向一位高管輔導老師學習如何做一名有效率的領袖。他開始更多地與他的資深高管們進行一對一的面談。 之後的事情我們都知道,祖克伯最終成長為一名出眾的執行長。 技術出身的管理人員或許在溝通上與業務出身的相比之下顯得安靜木訥些,但不代表他們無法管理出一支好的團隊。 很多內向的管理人員,更具同理心,他們能利用這個優勢迅速理解團隊中的成員在想什麼,使團隊更具凝聚力。 答案前面我說了,我這次採訪了十五名程式設計師,我對他們提了三個問題—— ◆ ◆ ◆ 1.三十歲後該不該轉管理? 十一名程式設計師表示應該,三名錶示不應該,另外,今年三十二歲的楊先生表示:優秀的技術人員應該轉管理,但不應該限制年齡,倘若他的能力到了,即便是20歲也該轉,如果未到,40歲也不遲。 有趣的是,楊先生進入管理層兩年了,轉型管理時恰巧三十歲。 ◆ ◆ ◆ 2.管理需不需要懂技術? 十五名程式設計師全部表示需要。 採訪樣本選擇的均是程式設計師,所以對他們而言這個問題的答案顯而易見,不過,最懂技術團隊的莫過於技術人本身,所以,他們的答案是合理的。 ◆ ◆ ◆ 3.技術若要轉管理,最合適年齡是多少? 除去第一道問題那位楊先生的回答。1人表示25歲以下,3人表示25歲至30歲,7人表示30歲至35歲,2人表示35歲至40歲,1人表示40歲以上,如下圖所示—— 大多數人都認為三十歲之後是轉管理的最佳時期。即便是國外的知名網際網路行業,處於中層管理的也多為30歲左右。 資料來源 U.S. Bureau of Labor Statistics 技術和管理並不衝突。 如我在答案開頭所說,擺在程式設計師們面前未來的路有三條,只要是認真抉擇過的,每條路都是正確的。但,極為出色的程式設計師更應該成長為管理人員,不應只將自己定位成「我只是個寫程式碼」的,問題不是到三十歲後轉還是四十歲轉,而是當能力達到該去管理時,應該為自己、為公司、為社會發揮出更大作用。 並且,三十歲後的程式設計師們,在戰略思維上,他們能更為清晰知道一個專案系統設計的具體規劃,細分之後的具體程式設計對於他們而言自然是輕而易舉,但他們應將精力更放在系統設計上,創造最大價值。
程式猿生活狀況報告 大家一提到程式設計師就會想到什麼?高薪與加班共存,整天埋頭計算機裡面,在自己人的世界裡面寫著一堆人們看不懂的東西,卻又一個個感覺牛逼哄哄的。下面就為大家奉上中國程式設計師的生存諜報,讓你一窺程式設計師的生存現狀
超過80%的程式設計師年齡在20-40歲之間,是程式設計師工作的黃金時期,需要大量精力和體力的投入。 有10%左右的程式設計師年齡在40-49歲之間,這部分人基本都已經在管理崗位上,但依然對程式設計有著濃厚的興趣,會做部分實際的程式設計工作。 有4%的程式設計師,年齡在10-19歲。這說明程式設計師的工作對年齡基本沒什麼限制,有些從中學時期就會開始動手寫程式。 程式設計師的年齡分佈與普通網民的年齡分佈趨勢基本一致,差別比較大的在10-19歲的年齡段,網民數量很高,這或許與網路遊戲對青少年的影響是有密切關係的。 在中國,男程式設計師佔了絕大多數,程式設計師這個行業還是有很明顯的性別差異的。這與程式設計師的工作特點有很大的關係(工作時間長,加班多,生活不規律等)。 程式設計師的性別比例與普通網民的性別比例形成了鮮明的對比。這說明,網際網路真正做到了男女平等,沒有性別歧視。而程式設計師這個職業,基本是男人的天下。
中國的程式設計師主要集中在經濟和科技最發達的地區。半數以上的程式設計師來自廣東、北京、江蘇、上海、山東和浙江。 而陝西、湖北和四川,由於高校雲集,科研院所和高科技企業眾多,也是程式設計師比較集中的地區。 程式設計問答社群Stack Overflow公佈的程式設計師調查報告顯示,157個參加統計的國家中92.1%的軟體開發者是男性。我只能說其中156個國家包攬了剩下的7.9%,一個姑娘也沒給中國同行留!你看我們像屌絲,我們嘲笑你看不穿——什麼叫“像”呀?
程式設計師的種族。高中理科女生少,大學計算機專業女生更少,工作後直接斷了活路,異性數量和質量下降到開始挑戰人性的地步。稍微漂亮點的妹子都去了測試部門,碩果僅存的異性都是內外兼修的爺們兒。
程式設計師的話題。很榮幸我們在和平年代還能感受到生存威脅。猝死程式設計師年年有,每次聽到訊息都下意識摸摸心臟。反思最近兩個月沒有日夜加班,拍拍胸口,囑咐小心臟“你可好好跳”。 程式設計師的生活。願望和事實之間總是差著幾百個產品經理,因為這些產品經理沒一個叫“豆豆”。他們的眼睛是掃描器,他們的代號是“天敵”,亮度、飽和、對比度通通都到碗裡裡,畫素更是一個都不能少。 程式設計師的工作。別問我為啥數數總從0開始,別問我為哈對任何東西都想做2的乘方,別問我打電話說錯話左手下意識敲Cthl+Z是啥意思。反正只要客戶和產品經理一句“改”,我們就得動起來! 程式設計師的薪水。社交是硬傷,抱大腿更是不擅長。公司幾百個程式設計師怎麼搏出位,不上位怎麼有錢賺。罷了,我賭公司不會成為下一個暴風,期權不等了,新找個年終獎發十幾個月的公司試試去。 程式設計師的出路。人家說,碼農做十年,就是沒出息。其實不是沒出息,是沒力氣。所以除了創業升職當領導的,就都往最熟悉的崗位轉。所以我最熟悉的是誰呢?
看懂這些,你就會看懂一個程式設計師的生活。