軟件開發人員怎樣走好從技術到管理之路?這是一部分技術人員思考和談論的老話題。雖然我自己并沒有豐富的管理經驗,但還是想記載下這一段時間里對這一問題的想法。從我個人走過的路來看,要走順這條路,應該做好三個方面:先學會被人管,再學會管自己,最后達到管別人。
??? 以上三個方面其實就是三個發展階段,從你剛進入公司進行軟件開發,直到從開發轉為技術管理:
??? 剛進入公司進行軟件開發,應該先學會被人管。換句好聽的話,就是學會和老員工溝通交流,學會和自己的上司溝通交流,能接受別人的意見、建議、工作分配,能理解別人。這個時期要克服那種一聽到不同意見就發脾氣、消極抵觸的行為,大發雷霆跟人吵就更不應該了。在這一階段,學技術、學跟同事上司溝通交流、學更別人合作,至少有一個好的性格。
??? 慢慢自己變成老員工了,技術上也很熟練了,這時就應該學會自己管理自己。不要老是讓上司來費心管理你,什么任務都要上司追著你,你應該對自己這一天這一周甚至是這一個月,都要有一個工作計劃,有條不紊地按計劃去完成任務,按學習計劃去學習,自己主動及時向上司反饋工作進度和結果。還有一點重要的,就是一個老員工隨著手頭任務增多,肯定一周內不止一件事要做,那么我們就要學會把事情分出重要和緊急兩種情況,把他們按重要性和緊急性進行排序,然后按優先級來處理;另一個就是學會穿插來做事,做這件事過程中,中間有時會騰出時間來,我們不妨去做另一件事情。這幾天里我部門里就出現一個反面例子:一個老員工在做一個測試,追蹤一個bug,那他就運行程序去跑,等出現死鎖等異常情況,而這個程序一個上午也沒出現昨天的現象,這家伙就在那里等,聊天或跑來跑去,實際上他手頭還有一個小任務,明顯可以在這段時間里穿插的去做的,就是不主動做。我想很多人都是找著一件事做,不想多做一點的,反正領導來問,我手頭有事在做;作為一個領導,會在適合的時候提拔這種人嗎?!反正我是不會選擇這種人的,因為他要么懶,要么就是只能做線性的事。
??? 走好了前兩個階段,進入管理他人也應該不難。至少你學會了與同事、上司溝通,學會了管理計劃,學會了并行做事,這些是技術管理者必須的一些東西。當然管理還有很多東西,這里就不一一道來。
??? 這讓我想起王國維談做學問的經驗,他在《人間詞話》說:
??? 古今之成大事業、大學問者,必經過三種之境界。“昨夜西風凋碧樹,獨上高樓,望盡天涯路。”此第一境也。“衣帶漸寬終不悔,為伊消得人憔悴。”此第二境也。“眾里尋他千百度,回頭驀見那人正在燈火闌珊處。”此第三境也。此等語皆非大詞人不能道。然遽以此意解釋諸詞,恐晏、歐諸公所不許也。
??? 王國維這治學三境界跟我所說的走向技術管理的三個發展階段,沒有任何聯系,唯一聯系上的都是“三”個階段,扯遠了。