從事專案管理工作也有很長時間了,合作過的程式設計師也有幾十位了吧,跟他們的合作大多都是愉快的,我也很喜歡跟他們合作,因為很多的好想法只有通過程式設計師才能實現。跟我合作的程式設計師很多都不是軟體專業,而是物理,數學,無線電等等專業的,但是他們比起軟體專業的人毫不遜色,也許還要強一些。
怎麼跟程式設計師合作可是門藝術呢,如果合作的好了,專案會穩定,快速向前推進;否則,後果不堪設想。在我工作的所有專案中,我發現合作的程式設計師不外乎那麼幾種:
1.極品程式設計師
這類程式的開發能力強,配合度很好。跟他們合作開發專案簡直就是種享受,我也經常能從他們的身上學到很多的東西。
在以前給國外公司開發pda系統軟體專案中,就有一位這樣的程式設計師,這位復旦畢業的仁兄,開發速度快,合作態度也好。更難得的是,他的外語能力也很強,標準的美音,日語也不錯,讓我這個英語專業畢業的人常有危機感,逼迫著我也要不斷進步。那時候經常因為客戶的需求變更導致我們的程式也要隨之作更大的改動,他也沒有任何抱怨,加班加點的修改程式,配合客戶。
跟這類程式設計師相處,比較簡單。也不需要太多的管理手段。只要把需求交代清楚,一切都ok啦。
2.天才程式設計師
這類的程式設計師的開發能力極強,思路清晰,思維縝密,開發速度也很快,不過,這樣的程式設計師都得比較傲氣,他們的配合度隨著他們自己的心情不斷變化,所以跟這樣的程式設計師合作時,我主要的工作是解決整個team的衝突,不讓這些衝突影響他的開發速度,舉行team building活動,改善他的心情,改變整個團隊的氣氛。
我曾經就跟這樣的一位天才型程式設計師合作過,我們提出的每個要求,他都能出色實現,即便是我們沒有提到的一些小細節,他也會從使用者的角度出發,很好地實現出來,力求程式的簡潔,完美,其他程式設計師看了他的程式也都一番仰慕和讚嘆。這類程式設計師很容易成為程式設計師中的核心人物。如果他的狀態有問題,也會影響其他的程式設計師。
就像上述與我合作的這位程式設計師,後來因為失戀,無法進行正常開發,著實讓我苦惱了好一陣兒。經過大量的勸服工作,team building才總算將事態平息,一切正常了。所以跟這類程式設計師相處需要較多的溝通,做些情緒管理的工作,管理成本也相對高一些。
3. 喜歡挑戰新技術的程式設計師
可能是因為從事的行業發展迅速的關係,很多程式設計師特別喜歡新技術,喜歡新挑戰;不喜歡運用比較穩定的技術。這本來是件好事情,不過新的技術或者工具都不大穩定,所以我們經常鼓勵他們去研究新技術,把新技術中比較好的實現方法吸收過來。把不穩定的因素排除掉。
對於這類程式設計師多給他們一定的時間,讓他們進行新的探索和研究。讓他的工作變得富有挑戰性,他就會勇往直前。
4.比較懶散,責任心不強的程式設計師
這類程式設計師通常在專案默默的做一些比較瑣碎的事情,承擔的責任也較小,他們在專案開發過程也沒有自己的聲音。重要的會議也沒有機會去參加。他們沒有那麼強的參與感,所以就很機械的完成一些細小的任務,每天都按部就班地上下班。要想調動這種程式設計師的積極性就要慢慢的增加他們的工作量,通過讓他們也參加一些比較重要的會議等等方法,增加他們的參與感,先讓他們融入到團隊中,然後再慢慢發掘他們身上的潛能與亮點,讓他們去分擔其他程式設計師的工作量,慢慢成為專案中的比較重要開發人員。
了解程式設計師們的不同,也方便我們針對他們的特點,採用不同的方式方法跟他們溝通與合作。使我們整個project每天都健康、快速推進。
程式設計師眼中的語言
語言是一種工具,語言應需要產生,並應需要而發展。原始的語言和詞彙是一種直接 具體的符號及符號組合。感性是理性的啟端,發展了的語言是建立在自我描述之上的一種抽象。詞彙是語言的材料,詞法是語言的模板,語義則是語言的精神。抽象是實際需要,是選擇的結果,一致性是抽象的目的,而抽象本身卻是二義的。抽象意味著表...
程式設計師眼中的CPU
cpu是暫存器的集合體。高階語言經過編譯轉化為機器語言之後,通過暫存器進行運算 累加暫存器 和儲存處理。根據功能將暫存器分為8類 1.累加暫存器 accumulator register 2.程式計數器 program counter 3.基址暫存器 base register 4.變址暫存器 in...
程式設計師眼中的Redis
redis 是用c語言編寫的記憶體中的資料結構儲存系統,可以用來作資料庫 快取 訊息中介軟體.資料結構 字串 strings 值是任何種類的字串 雜湊 hashs 值是map 字典,陣列 鍊錶,不管讀多還是寫多都能很好的效能 列表 lists 鍊錶或佇列或棧 集合 sets 無序集合,可用交集 差集...