為什麼程序員轉管理層經常被當作壞事來討論?


因為在程序員的語言裡面,帶人幹活的那種管理不叫管理,叫主程。


想轉管理的程序員有三種,

一是在中國公司管理普遍薪水高過架構,我年輕時候就是這種,後來發現不符合個性

二是本身就沒技術能力,因為技術能力可量化,管理能力不可量化,所以想轉

三是由於各種原因小看了管理職,覺得天然我帶個title就會有人無條件聽我,這種是各個公司普遍被吐槽的一線小管理中一大半都是這樣


我不知道有多「經常」。但以「管理者」自居的「年輕人們」,太多 「douchbag」。

中國人認為的Mangement,是「管」字里的那個「官」;中國人認為的Lead,是有權讓別人給自己當炮灰的人;而不是有義務去服務,去走在所有人前面的那個人。

官本位的意識形態,一有權威,立刻覺得自己JJ比別人大一截。

「管理層」這個詞兒,你不覺得非常暴露價值觀?為什麼沒人說「技術層」?因為他眼裡技術層是「底層」,把技術層簡單看成「底層」的人,是不會發自內心尊重你的。而尊重是和生產力直接相關的,生產力是和組織前途相關的。

「你」和所有人一樣,躲不開 「彼得原理」,二十五歲的時候公司冠你為「技術經理」;三十五歲的時候才能看到自己因此得到、失去了什麼,二十五歲的時候看不到的東西,叫做「機會成本」,他總是存在的。

為什麼?

第一,你也許不適合 Lead或者Manage,其實多數技術都不適合,至少在他們還只有二十齣頭的時候。這種場景下,升遷太容易等同於升遷渠道不明確,提拔你的人並不在乎誰來。HR可以很聰明,給一個對公司來說很廉價的Title,多留你幾年。要是沒Leadership的人做了Lead,會發生什麼呢?到了戰場就是人命,在職場就是耍橫耍滑頭,因為他沒有可下的台階。

第二,從你出校門決定做技術的那一刻,到成為專業的技術人,需要很多年,八年十年不能短。可做了兩三年的時候,你覺得自己是「搞管理的人」了。你有了讓別人幹活的權力,代碼別人寫,技術能力別人在積累,而你只找到了自我安慰的理由,你把遠離一線技術工作當成「解脫」,開始生活在一種職業幻象里。我不想來說服你成為專業技術人是值得的,這是另外一個價值觀的問題。

第三,職業選擇因為所謂「轉管理」而變得寬闊否?這是一個需要認真思考的問題。你應該好好地看一看職位變化後的自己在市場當中競爭位置。是否這樣的工作讓你更幸福,早上更有動力去工作?動力是否是今天可以開三個小時的會,坐在會議室顯眼的座位上,讓所有人聽你說話,你愉快的大腦告訴自己「具體的工作讓他們去做就行了」,享受輕飄飄的存在感;還是是因為手頭的東西將迎來關鍵進展,你去上班的路上,你思考著具體而讓人振奮的東西?

第四,沒有多少人看到馬路上躺著一個胖胖的錢包,還能自覺地審視自己的價值觀。他也許剛從自己熱愛的車間里走出來,出了一天的汗,夕陽真好,「咦,那是什麼??」,他撿起錢包,打開一看,內心一陣僥倖。第二天上班的時候,發現自己沒有以前那樣有注意力了,身邊的工友也沒有那麼可愛,苦練的手藝沒那麼重要了;這是為什麼很多中層臃腫的公司走向滅亡的內在原因。

太早所謂「轉管理層」,是平庸化一個程序員的捷徑。太多「轉管理層」,盯著「轉管理層」的人,不能熱愛自己做的事,這樣的組織必然平庸化,這不是情懷臆測,而是實實在在的「管理」實踐。

這是為什麼「有時"這事被當做壞事來討論,為什麼你會看到有的文章里會提到面試官要表達不想找想當「管理者「的高級技術,為什麼Google做那麼大的努力去壓縮中層,為什麼現代公司努力扁平化的原因。


可能國內,尤其是IT行業剛發展起來的時候,管理層都不懂技術吧,然後再加上那一代人普遍的官僚主義、形式主義,自然是惹得智商高又努力的年輕程序員們不服了。

但是,其實,管理層,就該是懂技術的人做,程序員不轉管理層,難道等銷售轉嗎?


因為很多真的不會管、管不好。

管理真的是門學問,不比寫代碼容易。。

"等年紀大了轉管理",是個偽命題,從沒管過人,到三四十歲了突然就會管理了?不可能。


發言的大部分人都是轉不了管理層的,為了保持自己的優越感,他們當然要使勁黑管理層。

真的成功轉管理層的,哪有空來玩嘴炮。


大概我還是有資格來回答這類問題的,技術出身,會管理,但是感覺不適合做管理,目前彷徨中

首先管理是需要學習鍛煉的。和技術一樣,比技術難的多。大多數技術出身的,技能點加在技術上,管理方面加點太少,這是一個大問題。

第二管理實際上是一門非常瑣碎的工作,不像技術那樣有明確的難題,明確的產出,管理實際上是天天油鹽醬醋。無趣也無聊的很。

為什麼一般人認為管理人人能做?因為一個好管理者,下面的人是不覺得他會有什麼作用的,因為他能把下面的人都調動起來去寫代碼,去解決問題。每個人都有清楚的任務,每個人都很忙。這就是一個好的管理者。他實際上最忙最累,但是下面人看不出來。所以實際上天天開會,統計統計進度,啥事也不幹,這種人才是會管理的。

為什麼知乎認為主程序員等於管理,主程兼管理沒有多大意思。一般是這個組已經穩定產出了,工作可見可控,團隊成員相互信任。就像一部開到100碼的車,駕駛員只要稍稍調控方向即可。但不代表管理就這麼回事了,因為只要抽出幾個老人換進幾個新人,這部保時捷馬上變老破車。這樣問題,程序員是不好解決的。


程序員就是專業人士,把專業人士抽離專業,其實是在做空其根基,最近就有一例類似新聞

你看是不是好事?


管理普遍是認為是項目經理,

原來嘲笑的對象,現在自己去當了,說好的節操呢?(玩笑= =。。


最怕遇到技術實力無法指導下屬,又不實際開發,只會問問進度,開開會,分分任務的技術領導。感覺對項目來說沒有多大意義,有彙報的時間說不定問題已經解決了。技術人員最不需要的就是被管。

我認為那種小規模作戰的團隊,成員平等地位,各司其職又能互相照應感覺更適合現在的互聯網節奏。


程序員向上發展,可以成為 leader,設計架構,寫核心代碼,做 code review,找最難的 bug,做性能調優,培養新人,做技術分享。要做好 leader,技術要比別人好得多才行。

但是,有些程序員精力衰退,無法完成任務的時候,也會退出一線做 manager,憑藉過往的經驗做一些溝通協調的工作,例如分配任務,盯工期,催人幹活,處理矛盾,分配薪資獎金。這些活兒你去富士康找個線長,麥當勞找個店面經理,可能做的不比他差,所以當然不能得到尊重。


本人在上家公司曾經做過一段時間管理,一天到晚就是開會,搶資源,當時公司業務方向要進行調整,領導階層分了兩派,又牽扯到站隊問題。所以跳槽到下家公司繼續寫代碼去了,說實話寫代碼比管理容易和有趣得多了。


因為管理是另一條技能樹。程序員做管理,就是洗天賦了。天賦還能隨便洗的?況且真實生活不會返還你點過的技能點。
程序員要轉,可以考慮轉程序員的進階職業,Lead Programmer。


跟行業有很大關係,程序員每天跟電腦打交道,普遍跟人溝通需要弱化,但管理人不僅需要依靠制度,也需要話術。

程序員大多比較自傲,覺得技術改變一切,覺得管理太low.

最重要的是中國大多數的管理者能力相對差,所以讓程序員覺得是個人都能做。


想到巨人裡面的一個觀點

把最優秀的戰士晉陞到憲兵隊護衛中央,用最差的兵力對付最有威脅的敵人,這是一個很可笑的思路。

然而底層努力幹活的衝動就來自於高層的安逸。


程序員有時候也蠻酸的,平時說看不上管理,天天擼代碼最開心。如果哪一天他們有機會當管理,我想八成都會高興都來不及。原因簡單啊,世上有幾人不喜歡指揮別人?而且薪水還高人一籌?

過了十幾二十年,管理把技術都丟差不多了,公司覺得他沒多大價值了,把他退下來了,然後程序員們又開始笑話了:你看看吧,轉管理的結果就是這樣……

緊接著,公司又要篩選新的管理了,其實,這時候程序員的心裡又是不淡定的……

套路就這樣不斷輪迴啊輪迴。


說白了吧,偏見。

就這麼簡單,事實上哪行不算技術?

事實上能在任何一個方向上取得成績的人,都是懂得學習,會自我否定的人,這樣的人你怕他做不好管理?!


因為他們學的專業是技術層的東西,而管理是另一門專業,很多人都看低了管理這門學科,管理需要的是溝通技能和概念技能,所以這就導致了很多因為業務好而升遷的人做不好管理,你是適合技術層面的結果卻在管理層亂搞當然搞不好,很多人固有的管理觀念其實都是不科學的。如果要轉管理層起碼看一下《管理學原理》,《現代企業管理》,《組織行為學》這些基本的東西先吧


不能成為一個優秀程序員的項目經理,不是一個塞雷的部門總監。


轉純管理的一般和轉測試、轉產品一樣給人感覺是在技術路線遇到瓶頸時間過長,自認無法突破尋求運用已經積累的技術能力去相關領域開拓另一種發展的可能性。自認為是迎來事業新的春天,但是在仍然繼續提高自身技術能力的人眼裡,無異於認輸。反正我是覺得,管理雖然也是門學問,但是我程序員接觸項目多了熟了可以轉管理,你管理想轉回來。。。。。。呵呵。其實人人心裡都有一個評判,技術方案相對人事管理沒有那麼模糊,合適就是合適,漂亮就是漂亮,時間長不搞了你自己都覺得自己的技術方案沒有說服力,都不敢在討論中發聲。


推薦閱讀:

美國CS就業,大多數公司真的不看學校嗎?
軟體開發的分類有幾種。比如有上位機開發。單片機開發,底層開發,上層應用開發,嵌入式開發等?
軟體工程師經常逛的論壇有哪些?
數據挖掘工程師在公司中一般都具體做什麼?需要了解哪些知識?

TAG:程序員 | 軟體工程師 | 職業規劃 | 計算機專業 |