1. 程式人生 > >【程式人生】之成長

【程式人生】之成長

【程式人生】之成長

引子

來疆已經第6天,除了零星的商務會談or技術會談,更多的時間實際被用來處理西安公司的事情。對於擁有某種工作強迫症的我來說,工作做不完是不可能心安理得的休息,因此最近一直感覺在忙於奔命。

具體表現為:由於兩地的時差存在,但是西安並沒有根據與北京時間的時差對工作時間進行調整,而烏魯木齊往後順延1小時或者1個半小時。導致我每天正常上班時間前後加了3個小時,再加上加班。 對於一個人生只對床和老婆有要求的人,睡在公司宿舍的感覺真是,崩潰ing

閒暇之餘做了兩天華為軟開雲的測試,積累了一些專案管理模組的使用經驗。今天早上處理完公司事情,實在是不想繼續寫一些枯燥乏味的方案、demo,教程。思考了一下,決定今天聊的話題是,成長。

成長是什麼

關於人生的四個階段,我一直用穿秋褲的故事舉例:

  1. 你媽讓你穿秋褲,你還不樂意:幼稚
  2. 你媽讓你穿秋褲,痛痛快快穿上了:成長
  3. 天冷了,自己把秋褲穿上了:成熟
  4. 天冷了,開始勸別人穿秋褲:老了

這就是我理解的成長,成長就是會審時度勢,明確當前的問題,且接受別人的意見。成長和成熟的區別在於,對於同樣的問題,處於成長期的人往往需要從問題源頭入手,開始剖析問題過程,找到問題根源。而成熟的人,通過經驗或者閱歷,能從問題表象直達問題根源。

二者殊途同歸,比的無非是形式方法以及耗費時間的長短。

如何成長

在技術氛圍如此濃厚的地方,除開上面一大堆的扯閒篇,我們直達問題根本,談一下一名程式設計師是如何成長的。

首先我要談一下我經歷的幾家公司以及目前自己經營公司對於程式設計師的要求:把給你分配的工作做好

就是這麼簡單,公司不是學校,不會給你一個研究課題,對產出物要求很低或根本沒有要求。公司是一個以盈利為己任的社會機構,想要保證自己有效、高效的經營前提就是,每一個人把手上的工作做好

但是對於程式設計師來講,每個人對把工作做好的理解往往差異萬千。有人理解是做完即可,有人理解是做到自己能做到的最好,還有人理解是做完做不完都行。

對於上述三種人,最後一種不用說,無論公司運營情況如何,都會直接淘汰掉,因為降低了公司的收益率。

現在分析一下前兩種人:

結果 對公司影響 對個人影響
把工作做完 無負面影響,不會降低收益率 個人無提升
把工作做好 無負面影響,可能會提高收益率 個人有提升

公司在經營過程中,由於成本或者其他考慮,不可能在安排工作的過程中將每個人的素質進行單獨考量,因此會選用通用的標準,即“能把工作做完

因此,公司對於分配後的每一項工作,對員工的要求都是把工作按照需求完整的實現即可。只要實現,實際上做完和做好對於公司收益的影響就非常低了(此處設定為一般工作,研發、探討類工作不包含在內)。所以,只要一個員工,把公司安排的工作做完,已經滿足了公司對員工的所有預期。

但是,從上表中可以看出,把工作做完和把工作做好,對於員工個人的影響是有區分的。

按照公司分配工作的一般方法,大致可以參考以下流程(作為程式設計師,我還是寫虛擬碼吧,畫圖不是我強項):

function 工作分配(員工姓名,當前任務等級) {

	變數 任務完成情況 = 任務實現(員工姓名,當前任務等級);
	
	if ( 任務完成情況 == ‘做完’) {
	
		工作分配(員工姓名,當前任務等級)
		
	}else if(任務完成情況 == ‘做好’) {
	
		工作分配(員工姓名,當前任務等級+1)
		
	}
}

這是一個迴圈呼叫的過程,其流程直至員工離職(原諒我稍微有點懶,沒在程式碼中實現)。但是可以很清晰的看到,做完和做好,對於員工來講,任務等級的提升是不一樣的:

  1. 對於做完的員工,任務等級一直不變,所以完成的任務等級曲線是一條特別平滑的橫線,中間可能由於各種其他原因,跳躍上升一點點,然後繼續橫線

  2. 對於做好的員工,任務等級一直在上升,可能在某個階段需要沉澱一下自己的技術能力,但是總體方向是向上的。

在這裡插入圖片描述

如果我們以做好的員工作為企業員工標準(現實中往往達不到這一點,但是我們可以設定,把工作做好的員工其實際的市場工作崗位競爭力是100%,以此作為參照),可以分析得出,僅僅把工作做完的員工,其市場競爭力實際上是一直在走下坡路的。
在這裡插入圖片描述

結論

所以,當寒冬到來之際,餓死的往往是沒有儲備過冬物資的那一類。把工作做到自己能做的最好,是一名程式設計師最簡單的成長方式。