程式設計師應該具備的意識

pythontab發表於2013-03-14

正值換工作面試高峰時節,偶爾回憶起自己的經歷,還有不少感觸。我自己算不算好程式設計師,還不敢斷言,但對於什麼是好程式設計師,倒積累了一定的見解,這裡就分享一下。

很多人將激情和熱愛放在首位,其實做任何一行,也是如此,打球要有激情,當科學家要有熱情。

我個人比較認為知難行易,所以我喜歡說意識而不是素質。尤其我們這一行,思想決定一切。

第一位的,當然是技術意識。

每個人情況不同,開發領域有天壤之別,適合什麼樣的技術自然也不同。我們用的技術日新月異,必須不斷學習才能保證不被時代拋棄,讓自己的職業生涯終結在三十歲。

一般的程式設計師,接受新技術,比如客戶提出我們下個版本要採用MVC,才開始突擊。

優秀的程式設計師,追求新技術,並用於實踐,不斷完善自己,並輻射團隊。

頂尖的程式設計師,創造新技術,引領IT時代。

第二位,就是專案意識。

或者也可以說是流程意識。專案是軟體開發的基本單位,無論專案大或小,無論職業或業餘,只要投入精力去做,就應該有專案意識。為什麼做(需求),怎麼做(設計),採用什麼技術,測試、文件採用什麼形式,怎麼釋出。最重要的是,要明白自己付出了多少,能得到或學到什麼。

其實我自己還比較欠缺這方面的意識,可我知道這非常重要,我計劃做一個業餘的個人專案,參加一個開源專案,希望不會太晚。

第三位是使用者意識。

都知道,我們寫的軟體是給使用者的,使用者滿意度是檢驗我們工作至高無上的標準。使用者需求不明確時,我們就儘可能多提供一些選擇方案,當某個需求可能帶來效能問題,我們應該及時跟使用者溝通,讓使用者出取捨。此外,更不用說友好的介面,每個詞都應該斟酌。

某個介面響應慢了一點,安裝包的體積大了一點,記憶體佔得多了一點,就會感到不舒服,好像使用者的時間、伺服器是我們自己的一樣。這其實也是精益求精,追求極致的意識。當然,一款軟體沒有做完的時候,當我們開發某一個版本中,還不用等上線,更不待使用者反饋,腦海中就有了下次改進的思路。

當然,讓使用者滿意,並不是對使用者需求來者不拒。因為,有個事實很少有人注意,其實我們本身也是使用者。軟體不只是給人用,還是給人做的,只有將"用"戶的需求,和我們的需求融合,才是專案真正的需求。

第四位是團隊意識。

可能很多講程式設計師素質的文章將團隊意識放在很靠前的位置,其實我覺得這個意識雖然很重要,但並不是造成程式設計師個體差距的重要因素,甚至不太想寫這條。我覺得,我們開發軟體,做技術出身,雖然可能多偏內向,但除了極個別驚世駭俗的高手,都是普通的,不難相處的人,合作並沒有問題。在團隊中的角色和地位只取決於你的技術水平,這是抹煞不了的。

所以我在這裡講的團隊意識,有所不同。我指的是追求,而不是建設和維護。程式設計師,應該追求在高水平的團隊中,和高水平的其他優秀程式設計師合作,這樣你自己也會更加優秀。。

程式設計師的意識是很難培養的,你可以使團隊氛圍很融洽,但你不可能用你的技術水平輻射帶動大多數人。如果你想建設一個優秀的團隊,那就應該找一些至少和你一樣優秀,也就是具備前三條意識的。

最後,希望大家所在的團隊,水平都越來越高,工作越來舒爽吧。


相關文章