如何從程序員走向管理

 在軟件開發過程中,你經歷的每件事情都會潛移默化地影響着你。隨着時間的流逝,年紀的增長,對於程序開發技術(相同/或者相關能力)以及自身的理解也會不斷沉澱,這些最終也會幫助你達成目標——成爲一名優秀的程序員。這裏談到的經歷不僅限於程序員生涯裏的里程碑,比如換工作、成爲領導/經理或者自己創業。你所經歷的每一份工作、每個項目(不論大小)、與團隊成員的每次交流、甚至你實現的每一個程序模塊,都會讓你變得比以前更優秀、更有活力、更有見地。

  在日常的工作當中不放過任何一點可以學習的新知識,會讓你成爲更加出色的程序員。我說的是重要的經驗——你不必去關心瑣碎的事情(比如每一次敲擊鍵盤是否完美),重要的是把握好每一天的安排。如果你出去旅遊歸來發現兩手空空毫無收穫,你肯定認爲這是在浪費時間。對於程序員生涯也是如此。如果你在完成一個項目或者實現了一個程序功能之後自己沒有收穫(比如,對軟件開發的理解沒有提高並且也沒有學到什麼新的技術),這同樣也是一種浪費。

  你可能會說,有些必須完成的工作對你而言是無聊的重複勞動,從中學不到任何東西。事實可能的確如此,但是這取決於你如何看待它。歸根結底你需要自己創造成長的條件,在做事的時候需要保持創新。

  從每一次的經歷中汲取營養

  首先,除了學習新的編程語言,掌握你鍾愛的開發平臺最新特性,你還需要提高自己的溝通技巧。其次,學習如何與別人一起工作,提高自己團隊協作能力也很重要。接着,你還需要掌握領導能力、管理能力、如何自我激勵、財務知識、行業專業知識、營銷知識和組織知識。除此之外對所從事行業相關的內容最好也要有廣泛的認識和理解。在學習的過程中不斷將自己推向極限,最終你會不斷提升成爲優秀的程序員。

  我想說的是,無論你做什麼,都可以從上面列舉的這些方面來對照自己,看哪些方面可以有所提高。有的時候你的機遇很好,接觸的是最新的技術,採用的是對你而言嶄新的開發流程,這時你不由自主地就開始學習和吸收新知識。而有的時候工作確實很乏味,如果你不會自己創造條件自我提升(從上面列舉的方面找到可以提高的地方),你就只能做着機械勞動白白浪費了一次提高自己的好機會,以及自己寶貴的時間。

  下面我通過一個例子來說明如何從平凡的工作中提高自己。比如說你是一個SQL大牛,有一項工作需要完成很多SQL,只有你是最佳人選。你很精於此道,表面上這項工作很枯燥而且你也不能從中學到什麼。但是如果進一步來看,也許這項任務需要與別人配合完成,而你可能並不十分擅長與別人搭檔或者溝通,這就是你提高自己的絕佳機會,你要做的就是發現這個機會。或者也許你也十分擅長與別人搭檔工作,但是假如這次你的搭檔可能連新手都算不上,這就是你提高培訓技巧的絕佳機會,捎帶地也讓這位新人快速成長。

  也許這些都沒有發生,你在做着一件你閉着眼睛都可以完成的工作,爲什麼不嘗試去更深入地瞭解和提高你使用的技術呢?也許你也可以就此機會提高一下你的打字技巧,這肯定沒有什麼壞處。如果你實在不想做這件無聊的工作,可以嘗試和老闆溝通一下把事情推掉,雖然這不在我們上面的討論範圍之內,你也可以嘗試一下。也許溝通不能達到目的,但是你可以從嘗試溝通當中鍛鍊一下自己的機智和勇氣(如何在尷尬的情形下保持鎮定),畢竟你不會爲了推掉任務而去惹惱你的經理/領導:)。所以,如果你能從不同的角度看待一個任務,突然之間你會發現在成爲優秀程序員的路上又邁進了一步。

  如果你在原地踏步該怎麼辦?

  有的時候你一直無法擺脫一些事情(似乎這些事情本來就是如此)。即使從各個角度看也無法從中找到一點可以提高的地方,這個時候你該怎們辦?這個問題問的很好,但你應該問的不是這個問題。如果你真的覺得不能從工作中學習和成長,爲什麼你還在做這樣的工作呢(這個纔是你應該問的)?如果是因爲經濟的原因(比如你現在的收入很高),那麼一定要確保不會爲了短期利益而損害了未來的前途。如果是因爲你捨不得團隊裏一起工作的同事,那麼只要分析一下利弊就會知道,即使你不在這裏工作了,你們依然還是好朋友。你只是離開了公司,但你們的友誼沒有結束。

  如果不是上述的原因,那你爲什麼還在做這樣的工作呢?你應該意識到,你會因此喪失寶貴的機會。請記住,對你所做的每一件事情給出評價,看它是否能給你帶來改變或者加深你對程序開發技術的理解。如果答案是否定的,你可以馬上離開;如果答案是肯定的,那麼(做這件事的時候)你不但能夠從中獲得滿足感,而且每一天(而不僅僅是每一年)都會在技術和人格上朝着完美的境界邁進。

        永遠不要忘記投資自己。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章