顯示具有 生涯規劃 標籤的文章。 顯示所有文章
顯示具有 生涯規劃 標籤的文章。 顯示所有文章

9/06/2019

如何建立信任關係 (軟體主管的31堂課)


一個好的主管,會讓其團隊成員高度信任,在軟體開發團隊中,如果主管可以有效地和團隊成員建立健康的信任關係,就容易達成三贏效果:對企業有利,對團隊有利,也對個人有利。相反的,如果團隊主管不受信任,那麼組織內部就容易內耗,很容易就形成三輸的情況。普通的團隊則是部分成員信任團隊主管,部分則不太信任,主管意識到這點,其實是很有改善的機會。


何謂信任?


信任並不是說團隊成員要變成主管的莫逆之交,在危急的時候就算赴湯蹈火也都在所不辭。當然可以達到這點很好,但在企業團隊內是不太可能。所謂信任是指,團隊成員對主管決策方式以及最做事方式,有預期感,並能相信這樣的決策和做事方式,即便自己不了解,甚至不完全贊同,也願意有效的合作。

如何建立信任。有些事情對於建立信任的雖然有一點點幫助,但效果有限,例如典型的團康活動。有些事情則是對建立信任有決定的影響:


(一) 傾聽了解個別成員:


信任是「個人」心理狀態,因此,有效地傾聽個別成員在組織的需求,針對個別成員的需求,量身定做互動的方式。

傾聽的重點在於「傾聽」,中途插話,表達太多意見都不是傾聽的要訣。



(二) 共同接受並完成工作上的挑戰:


這和傳統軍隊建構團隊的方式雷同。一小組人一旦一起面對挑戰,並且度過挑戰,就容易互相信任。在經歷生死戰場的退伍軍人戰友,特別容易建立長期的信任關係,就是因為如此。
當然在企業環境大概不會有生死攸關的情況,但仍然有許多挑戰。好主管的要務在於對挑戰的本身必須要是正面看待,

例如:在跨國企業中研發團隊總是對某國家的另一些工程師作法相當不認同,並常在討論中發生意見衝突。團隊常常對主管抱怨狀況。不適任的主管在此最容易做的事,就是一起跟著抱怨,並且將責任歸於其他人,試圖在團隊塑造共同敵人,這樣短期團隊成員或許會開心,但是衝突並不會因此解決。一個好的主管,會將這狀況是為共同挑戰,讓團隊成員明白如果我們可以一起解決這樣的衝突,不但對組織有好處 - 可以讓跨國團隊更有效工作,對自己也有好處 - 在履歷表中就可以多一項很難得的成功經歷。


(三) 建立一致性:無論任何事情的好壞


建立一致性是在不公平的社會環境中,讓團隊成員認為主管會公平處理事情的最有效方式。所謂的一致性,倒不是指不能改變作法,而是指作法本身有可預期的一致性。

例如,在營運團隊中常常有假日需要輪值的情況,最簡單的方式是直接按照姓名或者到職日期,輪流安排成員在假日值班。表面上看起來是最最公平,實際上有可能是公平,但也有可能不公平,因為每個人上班期間的工作內容可能不同。一致性並不是說不應該輪流值班,而是指輪流值班的班表如何取得共識。例如,每次班表都是每3個月前產生,產生之後,會在兩週內先逐一詢問個別的需要,個人的需求被滿足後之後,在隨即email公布並詢問有沒有需要調整,並且在一週後正式啟用此輪班表。幾次之後,團隊成員對主管的做事方法就有一致性,知道主管在困難事項一定會先詢問個人,調整每個人狀況,還會在所有人面前再度公佈一次,然後再做最後調整。

這樣一次一次建立一致性,無論事情的好與壞,也無論主管個性,就容易建構工作上的信任關係。




8/27/2019

如何處理員工離職 (軟體主管的31堂課)


無論如何,主管一定會遇到離職的情況,因此,事先計畫離職處理是軟體主管必定要做的事情。執行上大致上分為三個階段:一:慰留決策,二:離職程序,三:事後檢討。


案例:B是一個資深的QA,在開發團隊裡擔任許多重要任務,與此同時還負責管理在印度的測試外包團隊。某日B突然告知,有個新創團隊找他擔任QA主管一職。由於B的職涯規劃是希望朝主管職前進,因此對他而言此機會非常難得,錯過這次也不知道何時能再有這機會,因而提出辭呈,離職時間希望是三週後。


一:慰留決策


當接收到離職訊息,第一件事情其實是評估現況。這位成員現今是否適合團隊,並且有很大貢獻?如果是的話,那麼就應該慰留,如果不是,則應該迅速答應並且直接進入離職程序。

請謹記,考慮是否慰留,僅只需要考慮此人適合團隊與否,及是否有很大貢獻。並不是要考慮「他現在手上工作很多」,也不是要考慮「沒人交接很麻煩」,也不是要考慮「現在A專案要是有人走,會對進度造成影響」。倒不是說這些不重要,而是短期因素不能影響長期決策,如果他沒有要走也就罷了,但是一個剛好不那麼適任的人要自己離開,等於是天上掉下來的禮物。

案例中的B明顯是屬於需要慰留的情況。

慰留可以做的事情是:提供主管權限可以提供的任何方案,特別是應該要和B一起討論「如果有什麼事情發生,你就會打消辭意」。討論的本身必須針對「能近期發生的事情」,就事論事才有機會。

慰留不能做的事:不能答應任何自己也做不到的事情。以案例中B的情況,他想要往管理職方向前進是非常好的事情,但公司如果很明顯在未來6個月不可能有此機會,則就不應該答應升遷的可能。慰留也不能當作「拖延離職時間」,任何拖延對大家都不利,因此設定慰留期限是很重要的,頂多2-3工作天已經綽綽有餘。

大部分高績效人才的慰留機會其實相當低。主要原因是高績效的人才通常對事情想得夠清楚才會提離職。


二:離職程序


當提出離職無法慰留後,當下就進入離職程序。主管無論對團隊有多麼強的信心,都應該在建立團隊的時候,先行建立離職程序有備無患。要謹記的是:這裡所謂離職程序,並非HR的離職手續,離職手續僅為文書作業,只要遵循HR的規範即可,但離職程序是要確保對組織的衝擊最小,對現存專案的影響最低,並且讓團隊更能成長。這只能由主管來設計進行。

離職程序最重要先有的事情是最後上班日。雖然說勞基法對最後上班日有規定,但仍然可以和離職的人討論。

以人才為主的軟體公司,其離職程序的管理與執行,絕對不能由「要走的人」執行,而是由「要交接的人」執行。即便我們已經知道要離職的人是個好人,也知道交接的重要性,樂於幫忙任何事情也一樣。主要原因是事情的目的必須要和個人方向一致,即將離職人的方向絕對和現存的人「不一致」。

如果你作為主管還沒設定離職程序,可考慮如下步驟

(1) 確定離職時間 例如3周後
(2) 列出目前工作清單, 列出目前擁有系統權限清單, 列出目前硬體資產清單 電腦等等
(3) 與團隊討論出負責交接的主要負責人,有時候也需要特定工作交接負責人
(4) 設定hands-off day (預計是離職前一週) :在這天之後,離職人仍然要上班,但只需作為顧問任務,工作都是交接人來進行
(5) 設定交接目標與時間,直接約好交接的教學會議:交接必須是交接工作內容,而非交接技術知識。交接會議必須要專注於現況,而非未來。
(6) 每週至少設定兩次檢查會議,檢查會議只需要10分鐘檢查交接現況。但要注意的是hands-off day之後檢查會議就不應該讓離職人參加
(7) 設定離職人的文件轉移,必要時需要繼續撰寫文件
(8) 倒數第一天:將硬體資產點交
(9) 最後一天:取消系統權限,歡送會
(10) 離職後2周內:事後檢討


三:事後檢討


是否有效的進行事後檢討,是好主管跟普通主管在處理離職的「最大差異」。

高績效人才通常也是重視溝通合作與人際關係的人才,因此不見得會在離職理由上說出實情。然而,探索實情,「正確」調整領導管理方式,以及「正確」調整組織結構會是事後檢討的重點。

(1) 探索實情

統計數字不會騙人,請自己google看看「離職原因統計」,可以看到許多統計數字都指出,離職理由和主管有很大的關係。如果你是主管,對於高績效員工離職,切勿以其他的方式糖塞欺騙自己。要能夠避免這件事情,在探索實情時,必須直接假設「自己就是問題的一部份」:無論你覺得自己有多好。

常見的藉口有:

* 外部拉力:他找到更好的發展機會 我們無法提供
* 有限資源:我們公司資源有限 已經給他很好的薪資福利但他還是不滿
* 內外部歸因:我覺得他自己個性有問題
* 往上推責:最上層主管做事風格讓我難以處理

(2) 調整領導管理方式

檢討大部分的時候結果是都要調整領導管理方式。不見得是大幅度改變,可能只是些微做法調整。但簡要的說,高績效的離職如果不做任何調整就幾乎等同自己騙自己。

關於調整方式有空會再多解釋一點。

(3) 正確調整組織結構

有空再針對這問題解釋多一點。簡要的說,以案例B而言,他想要往主管職前進,並不代表公司應該要產生很多「主管職位」來應變未來眾多人想要擔任主管職的情況,正確調整組織結構並不是直接反映離職人的期待。




2/24/2019

主管的責任:三件不能做的事情 (軟體主管的31堂課)


作為用人主管,是帶領團隊前進的最重要的人。無論團隊是2個人還是200個人,主管應該對團隊的成敗擔負最大的責任。

企業內用人主管(people manager)是指的要直接負責員工的招募,任用,考核,薪資,工作指派,管理,領導,培訓以及資遣。

而現代化企業團隊本身的績效,最大影響因素其實不是某個別員工的能力與態度,團隊主管(領導者)才是最大影響。

無論團隊大或者小,也無論是什麼樣的團隊。團隊主管會大幅影響團隊合作(參考這裡),也會大幅影響員工對團隊的參與感(參考這裡),也會大幅影響個別員工的績效(參考這裡)。

簡而言之,團隊主管承擔大部分一半以上的成敗責任,如果是小規模的團隊,也就是團隊加主管成員為五人以下,團隊主管會承擔100%成敗責任。(參見這裡,這裡,這裡)

當然根據組織和工作任務的不同,主管有不同的事情該做。不過,有三件事情是管理上,一個現代企業的好主管,不能也不會做的事情:

(1) 將個人與團隊績效不好,歸為外在因素 
(2) 以情緒感受為先,事實為後
(3) 無法修正自己溝通方式,認為部屬難以溝通

1. 將個人與團隊績效不好,僅歸為外在因素或歸責於部分團隊成員 


當主管個人或者團隊績效不好,無論是業績數字不好,或者專案延誤,或者原定目標沒達成,當然是很多不同的原因導致。

然而,作為主管應該知道績效的大部分來源是「主管與主管的領導管理」,因此,績效不好,當然要先「檢討自己,以及自己管理與領導的方式」。

這並不是說,外在因素沒有影響。當然許許多多因素都會影響成效。然而,如果不是先檢討以及改變自己,作為用人主管,最容易落於「怪罪」

2. 以情緒感受為先,事實為後


某些主管大概參考了許多以「權力」為中心的書籍,例如:這本或者這本。又或許根據個人經驗,知道要說服別人,情感優先是非常重要的。因而在優通重要事情,或處理意外時,常常會以「情緒早於/優於事實」的方式進行。

最明顯的例子就是,團隊某些成員犯了錯,主管可能在第一時間會是說:「我很生氣,因為你做了某某某事情,後來某某結果發生」。

但合理的情況,應該是「某某結果發生了,是因為你做了某某某事情,因而我很生氣」

這並非在字句上的咬文嚼字,也不是探討主管的講話藝術。問題是在於主管本人內心深處事實的重視表達。

前者主管先重視的是「自己個人心情好惡」,其次是「團隊成員怎麼做事」,最後才是「那件事情的結果」。

只要幾次之後,團隊成員在工作進行上就有兩種可能。(a)成員在潛意識中,自然會認定主管是以情緒優先,知道自己無論績效能力好壞,最重要的是討老闆開心,對自己職涯不利,若有機會自然會儘速離開。(b) 成員不知道產出的標準為何,只知道主管的情緒標準。然而,情緒標準在現代化企業中難以作為成效指標,因而難以在結果上確切達到組織要的效果。 



(3) 無法修正自己溝通方式,認為部屬難以溝通


特別是在小團隊(少於五人),主管與團隊成員的溝通好壞,並非取決於團隊成員,而是取決於主管本人。

主管認為某團隊成員難以溝通有幾種可能,但這些可能性都不是「難溝通」的理由,主管應該都能和任何部屬達到「工作期望的有效溝通」 

(a):某成員是我招募進來,但怎麼講都很溝通:如果他真的這麼難溝通,表示招募選用對該主管來說是失敗的,換言之,責任仍然在主管身上。

(b): 某成員不是我招募進來,怎麼講都很難溝通:主管擁有考核和解雇的權利。難以溝通的時候,應該以事實溝通成效,如果主管對自己有權限的屬下都難以溝通,更別說沒有權限的橫向單位。

當主管認為某屬下難溝通,最糟糕的做法恐怕就是在一對一面談時,坦然的溝通說:「我覺得你很難溝通」。因為這表示,主管在內心深處不能理解「溝通是雙向」的簡單事實。因而,很難溝通只能見裡在於「我們兩個很難互相溝通」的事情上。根本不可能建立在「我個人沒問題,是你很難溝通」的事實上。

和前段相同,這並非咬文嚼字,也不是認為用人主管是不會犯錯的聖人。而僅只是要說明,特別是擔任主管的時候,溝通絕非單向問題。必須要先認定問題所在,才能找到正確解答。

當主管認定溝通問題單存於對方,那麼問題鐵定無解,因為問題鎖定方式已經不正確。單只要求對方「改善溝通方式」,最好情況是對方改善了,但是自己沒改善,此問題還是會出現在其他部屬身上。造成主管認為自己的屬下統統難溝通,這種主管應該儘速被開除才是對組織最有貢獻的時候。

當主管認定溝通問題在於雙向,解答方法自然呼之欲出。有幾個方式可供參考:(a) 密集但是以事實為基礎的短溝通 (b) 盡可能使用精確直接而且短的溝通方式 (c) 建立互信關係用以輔佐溝通。 最近沒麼時間所以上述方式會在之後文章再說。

參考資料
(1) 自我感覺良好的認知能力不足

2/08/2019

如何在工作中成長


過去招募時,常聽到軟體工程師的離職原因,是因為在公司已經沒發展空間,無法成長。在某些情況下的確有可能,但更多情況下是工程師限制了自己成長,並非公司已經沒有成長空間。

每個人所謂的成長有很多種類,有些人追求的是技術的成長,有些人則是職位的成長,當然每個人多少都會追求薪資的成長。無論如何,環境確實是職涯成長的重要因素,只是工作環境的選擇,通常只決定了個人成長的一部分,而非全部!

如何在工作中成長有幾個要點:

(1) 培養成長心態


成長心態與固定心態在過去幾年中常被討論,無論是ted還是書籍皆如此。

簡單的說,擁有成長心態的人會視問題與困難為自己的挑戰,知道克服了挑戰之後,自己會成功並且有所成長。並且,擁有成長心態的人,會審慎看到自己以及環境的問題,不會一昧地把問題歸咎於外在因素。並且,擁有成長心態的人比較容易知道努力不見得會成功,但是不努力鐵定不行。

關於成長心態還有很多常見故事,請自行上網搜尋。但在此舉個反面的例子:完全不具備成長心態的人,會將自己的問題歸咎於環境問題,直接的表現在職場上就容易極短時間換了許多工作,詢問過去做得不好的事情時常歸咎於環境等等。


(2) 建立能和現在環境結合的學習清單


只要是正常合理的公司,通常都有值得學習的地方。有時候,光是公司仍然還能賺錢這點,就已經值得學習。

然而,軟體工程師的天性就是學習「新事物」。對於已經熟練的技術和事物,久了總是會覺得厭倦。厭倦倒是無所謂,重點是厭倦之後怎麼辦?成熟的軟體工程師通常會了解,真實的環境需要的是「能正確無誤並且低成本有效率的工具與環境」,而非需要「最近好像很熱門的嶄新技術」

成熟的軟體工程師能找到環境與自己的平衡,如果要學習新事物,就應該建立學習的方向,最簡單的方式不外乎就是建立學習清單。

技術上的學習清單容易取得,但是,能和個人現在身處的環境結合就需要認真的想一下。

(3) 主動執行

執行自己的計畫聽起來容易做起來難。大部分的情況下,軟體工程師(特別是處於大公司中)都會認為自己在為別人工作。

事實上,至少在台灣就業市場上的勞工都是在「為別人工作的情況下為了自己而工作」。因為現行的台灣就業市場,已經非常接近自由透明的市場,只要「有能力」通常都可以有非常大的選擇。

執行各種學習計畫的要點在於「這是為自己而做」而非為了別人。



一個考慮離開目前環境的軟體工程師,通常會將「能在工作中成長列為尋找新公司的重要條件」。但其實更重要的是要讓自己有能力「無論在任何環境中成長」是為更重要要做的事情。





12/23/2018

軟體工程師的職稱頭銜重要嗎?



軟體工程師根據所在的環境不同,通常有不同的職稱頭銜。例如:程式設計師,工程師,技術經理,架構師,策劃工程師,平台工程師等等。對應於英文可能會有:programmer, engineer, technical manager, architect, principle engineer, platform engineer。 在大組織中,升遷可能是職稱上的轉換,例如在前面加個「資深」,大家就都知道你被升遷了。

對於轉換新的工作來說,職稱頭銜是否重要呢?

1.以工作的本質來說不重要


就技術為主的軟體工程師來說,(假設並沒有直接負責管理員工),職稱頭銜幾乎不重要,更重要的是做事情的內容和能力的展現。

假如在一個組織裡,一位新進員工的職稱是「sr architect資深架構師」,但他的工作內容實質上是對客戶提案,撰寫業務報告。則其實他是做接近pre-sales或者sales-consultant的工作。在未來無論是組織內部還是他要對外尋找工作,通常還是評估實際做的事情為主,並非職稱。

2.以團隊角度來說可能很重要


職稱是公開的,一個團隊組織裡如果有工程師,資深工程師,資深架構師這三種不同職稱的人:一般來說,大部分的人會傾向遵循同意資深架構師的意見。特別是剛組成的團隊或者互相不認識的團隊。畢竟,職稱的功能有時候類似制服,當你在路上看到穿著警察制服的人,在需要協助的時候自然而然會傾向找穿警察制服的人幫忙。

然而,就軟體開發組織成長來說,職稱的重要性是伴隨組織成長的缺點。這個缺點和人類的認知偏誤有很大的關係:團隊貢獻中,絕大部分的人會認為自己佔比重比較大,因而,在決定升遷或者其他公開獎勵時,一定會有很大比例的人覺得自己沒被升遷是不公平的。

團隊貢獻中,大部分的人會認為自己佔比重比較大:許多實驗(參考這裡)都說明,假設一個團隊的總貢獻是100分,有10個人自己評估自己佔的比重,並且加總起來,很容易就超過150甚至250,但這實際上是不可能的。

也因為大部分的人都有這種偏誤,導致於職稱很多時候對軟體開發團隊有負面影響。如果有重新建立軟體開發團隊的機會,可以採用「無職稱」或者「自選職稱」的方式。


3. 無職稱頭銜讓團隊與夥伴的三贏

當組織沒有職稱時,無論是中期還是短期發展,組織成員會更專注於「實質工作產出」而非「表面變化」。這對組織,對團隊成員,甚至對組織外的人都有好處:

- 對組織的優勢


在組織內,成員都知道自己「做出的事情」才是決定自己的「職稱頭銜」,而非「職稱頭銜」決定自己「做出的事情」。自然而言,團隊成員就會以提高自己的能力和對組織的影響力,並且使用的方式不會是以頭銜和權威。升遷和加薪兩者同時都變成機密,再也不會影響其他人的心情。

當組織要招募人才時,組織會更專注於了解應徵者「過去做的事情」,而不是過去有的頭銜職稱。過去我們面試的時候,常常在履歷表中看到非常驚人的頭銜,但是實際上做的事情可能非常基本。

無職稱會讓面試的效率提高,錯誤率降低很多。

- 對團隊成員的優勢

當團隊成員想要換工作時,在他對外面試的時候,很容易就專注於展現自己的產出。而非說明自己的頭銜。

同上一小節之說明,團隊成員專注於工作的本身而非頭銜的表面公平性不足時,更能發揮自己的潛力和提高產出。

- 對組織外部的優勢

其他外部組織在遇到沒有職稱的人前來面試時,更容易專注於尋找人才得要件。換言之,本來評估能力和是不是適合,本就不應該和職稱有關。已經有人自己不帶著職稱頭銜前來面試,就更容易避免錯誤。









10/19/2018

企業巫醫:就業大環境不好的問題該如何解決?


曾有一次面試某碩士畢業社會新鮮人,他說:「許多企業找碩士實習生,都是讓他做高中生能做的事情」。

然後詢問說那麼為什麼大學或碩士在學的學生,願意去做這種高中生會做的事情的。畢竟,在台灣決定選擇實習也是學生的選擇,並非被強迫的。他的回答是:「大環境的問題,市場情況,不能怪學生,他們很多都涉世未深,不知道這些工作沒學習成長。既然是實習,企業就應該有"習"的部分。現在大環境是這樣,並不代表這樣是對的。」

接下來又再請教他,如果你是企業主,這些實習生比較無趣的工作,如果不找碩士實習生,應該找誰來做,他回答是:「可以找私立大學的學生」

其實觀念無所謂對錯,對於這位新鮮人的想法,每個人大概都有不同的解釋。然而有件事情倒是很重要,當環境不好的時候?應該要什麼方式解決?


(1) 個人永遠都有選擇



相較於生在阿富汗,敘利亞,烏干達之類的戰亂地區,大部分的台灣人都有選擇。特別是如果你上網看到這篇文章,就表示你能上網,同時也就表示你可以取得的資訊知識範圍遠比任何30年前的人多幾億倍。

當然,選擇多寡因人而異,但是當你心裡想著:「好像只能這樣」或者是「我這樣的背景就很找到更好的」或者是「不知道該怎麼辦」的時候,也許應該更廣泛的思考有哪些選擇。

有經濟壓力(貸款,家人等等)的時候選擇是比較少。大概不可能離開一個自己很不開心的工作,畢竟還是需要收入。但你仍然可以選擇「自我學習」。

為什麼要「學習」?很簡單就是因為要增加選項

(2) 如何增加自己的選項

不可否認的是,祖上積德的人,一出生選項就比較多。然而,選項少的人也不應該因此唉聲嘆氣。與其花時間抱怨大環境,不如花時間增加自己的選項。

最簡單,而且最沒有成本的是:到公立的圖書館借書,透過閱讀來增加知識。擺脫經濟壓力的最重要的關鍵,而且增加選項的關鍵應該是自己的知識和技能。




不過,學習知識技能也有不同的方式。有些學習時間長,有些較短。舉例來說,如果你突然之間想變成醫生,那麼至少也得花上7年,而且重讀醫學院幾乎是唯一可能。但如果你想成為一個手機遊戲專案經理,卻是有可能從零開始:先主動自願參與手機遊戲測試,再主動閱讀和QA有關的書籍,並開始投遞遊戲測試工作,例如這裡。透過變成遊戲產業的一份子,逐漸增加自己的知識能力...這樣確實是可讓沒有相關技術背景的人,進入遊戲開發的世界。

其他自我學習的議題可以參考這裡


(3) 不要自我設限的方式

許多人會自我設限,而自己限制自己,是無法面對大環境的其中最最最大的原因。
自我設限的情況例如:

「這個是某部門的人負責的,所以我就不想碰」
「我英文不好啊,所以就不考慮外商的工作」
「家裡有固定開銷,所以沒辦法亂換工作」
「我本來就不會讀書,不喜歡讀書,看到書就想睡覺」
「不知道怎麼開始」
「我就只能先這樣,不然也不能怎樣...」

這些即便都是事實,也對自己沒啥幫助。

然而,想要突破自我設限,最根本的方式是從累積「短期,有成效的事情」開始。例如,英文不好,就買本哈利波特1的英文版,每天花15分鐘讀一頁。累積習慣之後,再開始增強聽力。重點在於「每天只有15分鐘」,一次投入太多,非常容易放棄。

其次,找同伴一起。這就像是慢跑或健身活動,總是一群人比較有效果。人類畢竟是群居動物,在群體中容易自我約束自我成長。

最後,尋求資深的人意見。這也是為什麼網路上,常常有匿名發問,查詢資訊的原因啊。



4/30/2018

在多個工作機會中的選擇


只要有數年工作經驗,一個還不錯的軟體工程師,在轉職的時候,應該都有可以拿到3個以上的錄取通知。然後,從中選擇一個最好的工作變成另一個快樂的問題。

如何在獲得錄用的公司中選擇?

扣除掉工作距離,家庭因素,法律因素之後(註一),有以下幾個方向可供在多個工作機會中選擇的參考:

(1) 優缺點列表


將你的選擇寫在紙上,例如A,B,C三個公司。並且將你認為的優缺點條列出來。

這雖然是很基本的做法,但將腦中的思緒,用另一個方式呈現,會讓思考者以較高而且抽象的角度思考選擇性問題。

大部分的人,會列出條列項目大概是:使用的技術,工作內容是否有趣,薪資,工作時間,壓力大小,未來發展性等等。

除了薪資與目前使用技術之外,這些項目大部分都「主觀的判斷」。盡可能在優缺點列表使用客觀的資料。

以未來發展性為例,一個成立不到一年的新創公司,無論其產品有多厲害,它的未來基本上有90%的機會會在2年內倒閉,這到目前為止是鐵的事實。而上市上櫃公司,未來發展性應該優先調查過去3年的財報來判斷,而非看目前的股票價格。

再以工作內容是否有趣為例:必須要是「你到職之後會做的工作」來判斷是否有趣,而非是這公司產品很有趣。因為,即使是資深軟體工程師,到一個新地方也有可能會先做最無聊的工作。

最後,壓力其實因人而異,但客觀的判斷也不可避免,應該以「過去一年有多少比例的人離職」這類型的數字做為判斷的依據。

(2) 自身能力所帶來的影響力


除非是你自己就是這公司的老闆,否則,當你加入一個工作時,透過自己能力的產出,對公司造成正面影響力,是唯一你能做得好做的開心的原因。其他皆屬次要。

某些工作的特性,讓軟體工程師本身的影響力比較低,舉例來說,所有傳統的IT工作恐怕都是如此。即便IT工作非常重要,但通常被歸類為「保健因素」:也就是沒有會死,但太好也沒用。

某些工作看似很重要,但由於組織結構龐大,讓資深軟體工程師發揮空間較有限。例如在超大型軟體公司,有上千名員工,即便是非常厲害資深的工程師,其實對組織而言相對重要性也低。一個超過千名工程師的公司,不會有任何一個工程師特別重。

小型公司對大部分的軟體工程師來說,都比較能透過自身能力,發揮較大的影響力。這也是為什麼過去數年,新創公司能蓬勃發展的原因之一。但的確也有可能,大型公司的某些小型部門,工程師反而會發揮巨大影響力,line的故事可作為參考

(3) 未來的主管


英文俗語: people quit their bosses, not their jobs.  
在有多個工作機會選擇下,未來的主管是誰變成是重大的考量。

(a) 不知道是誰?

特別是超大型企業,新建員工會有「儲備培訓期」因此有可能在加入此公司之後一段時間,都不太能確定未來主管是誰。這在軟體開發的領域機會不大,尤其是對資深工程師來說。

(b) 考量的方式

盡可能以「事實」來考量,而非憑「感覺」。面試時通常會有問問題的機會,此時可以探究事實。基本的事實像是:團隊有多少人,最近三次加班是什麼時候,最近一次績效評估中,產出最好的員工做了哪些事情。感覺則是「這裡看起來好像很溫馨」,「面試我的主管看氣來很溫和」。

大部分的情況下應徵者期待的是「一個好主管」。然而,人非聖賢,要考量的其實是管理風格上最適合的主管。因此,詢問管理上實質作法,就是考量的最大因素。

當然,這些考量的事實,也應該呈現在比較的優缺點表格中。






註一:法律因素是指,即便有超高薪水,不合法的工作還是千萬別碰。

1/18/2018

企業巫醫:強人不受環境影響,很遺憾大部分的人不是


TED眾多演講中,有位經濟專欄作家Tim Harford講了因挫折而成長的主題

他用著名的科隆演奏會為例,告訴聽眾,一位爵士樂大師Keith Jarrett如何在一台誤送來的沒調音半殘鋼琴上,彈奏出驚艷的效果。科隆演奏會(1975)的錄音,甚至成為史上最暢銷的個人即興爵士鋼琴專輯。實際故事可以參考這裡

演講者,接下來也提出在稍微困難的環境下:例如英文書本的字型都是粗體大寫,會讓學生為了解內容,刻意「用力」讀文字,讓文字內容更容易被思考和記憶。

些微困難的環境,可以讓大多數的人獲得進步,但極端的環境只有極端少數擁有高強度的技術能力和意志的人,才比較有機會不受環境影響,進一步從極端環境中創造更大價值。

以科隆演奏會為例,Jarrett大師是因為已經熟記樂譜到閉著眼睛都能彈,每個音調和效果對他來說都已經是無意識的動作。因而,演奏遇到即時問題時,他才有「閒暇」的即興創意產生,並實踐出來。一般演奏者,遇到半殘的鋼琴,鐵定是難以完全發揮能力。

在職業生涯中,每個人勢必都有自己擅長的領域,然而,實務上環境造就的問題,在大部分普通厲害的人,會產生難以克服的影響。而僅有在一些特定領域的強人,才能改變環境。

因此,在企業組織中,人通常會去「適應環境」和「控制環境」。就好像Jarrett試著去適應半殘的鋼琴,並且透過自己的能力,進一步控制它,讓它不成為發揮自己能力的阻礙。

幾乎所有的創業者,都是透過創造新的企業,來達到控制環境的結果。不過創業成功的機率相當低

而在企業組織內工作的人,都需要適應環境,然而,適應了之後,鮮少有人不受環境影響。如果組織內部的氛圍是「保守」「部門壁壘明顯」「官僚」的話會更嚴重,這樣的環境,可能會直接影響一個人對工作的認知與態度 -  特別是剛畢業出來工作的人。最糟糕的是,即便這位新鮮人換了環境,可能還受前一個比較糟糕的工作環境影響。

要能不受環境影響,適應環境,進而控制環境的方式有許多種,但最有效的恐怕是「變成強人」,在專業工作領域上,要變成「強人」,遠比鋼琴大師容易許多。

在專業領域上,如何變成強人?


(1) 特定主題的實質經驗(深度)


無論是nodejs,VBA,還是對excel有非常深入的了解,都是一種特定主題。盡可能探究深入某個主題,當你認為這我已經會了,要試著問一下自己,「全部都很瞭解?」還是「我會用它做某些事情」。以簡單的excel為例,大部分的學生都會說自己「會」excel,但是大部分的剛畢業的學生恐怕連pivot table都不曾使用過。


(2) 和工作領域相關的學習(廣度)


在工作上,必然會遇到和自己工作相關,但可能是其他人負責的事情。這些工作領域,會逐步造就自己對工作上的廣度的了解。以程式設計為例,許多人都對SQL有使用上的了解,特別是由於MySQL, Oracle, MSSQL歷久不衰,程式設計師多多少少都知道SQL。然而,把SQL寫在履歷表上的程式設計師,其實有一半以上的人不了解OUTER JOIN。傳統上SQL的管理是屬於DBA的任務,但現在的程式設計師,越來越多會涉獵devops的領域,對SQL了解就是一個增加廣度的例子。


(3) 在目前工作貢獻


就像鋼琴大師一樣,必須要有「在目前工作上的產出」才是真正的貢獻。貢獻和能力並不見得有直接相關,但是,當具有深度與廣度的知識經驗之後,當然容易對組織有更大的貢獻。


簡而言之,持續學習,就是成為不受環境影響的強人的唯一途徑。






10/01/2017

簡單的路難行 - 人才的激勵與維持


資訊時代前的資本主義中,價值的產生來自三個要素:土地,勞動,資本 - 參見亞當斯密國富論。然而在資訊時代,絕大部分的人都知道,員工(也就是勞動力),是最最能夠產生價值的地方。換言之,只要找到最厲害的團隊,就可以幫企業做出做適合的產品與服務,並最能產生獲利。


但是,簡單的路難行。


在壹週刊有一篇容易的路最難行中,黎老闆描述了早在40-50年前,即便是一個成衣小工廠,人才仍然是獲利的最高因素。即便付出比別人高3倍的薪資也值得。但是,簡單的路難行,即便全世界都知道簡單的道理,可是執行起來實在太難。

大致有三個原因(特別是在台灣)


大型企業敘薪


台灣大型企業的都有薪資結構,對於已經有工作經驗的人,不太可能提供比過去多25%以上的薪資。就算這個人過去已經證明是難得的人才,也很難以「倍數」成長,頂多是以「百分比」加上激勵獎金成長。


小型新創企業資金不足


這應該很容易理解。和壹週刊黎老闆的文章一樣,小公司為求生存,不得不盡可能壓低薪資(改用夢想股票激勵)。然而,壓低薪資會導致於找到「人力」而非取得「人才」。這變成惡性循環,小公司變得更難獲利。要突破困境,恐怕企業主必須要有決心和毅力維持「難行之路」。請參考黎老闆的這篇

CP值的誤用

CP值用在買東西是很合理。用在專業人才的工作績效是非常扭曲的作法。例如,兩個很爛的程式設計師,其薪水加起來跟一個好的程式設計師一樣。甚至,做一些簡單的工作也跟優秀的程式設計師差不多。然而,遇到複雜,開創性的工作時,三個臭皮匠很難贏過一個諸葛亮。



解決之道?


如果你是新創公司的企業主。建議看一下黎老闆的「一個創業者的道白」系列文章。非常有啟發性。

如果你是大企業的主管,畢竟已經受組織本身的限制,能做的事情稍微受限,但只要緊記一件事情,一定會有所幫助

激勵方式:主管對於團隊成員的真正最好的激勵方式,是找到讓團隊成員能自己激勵的方式。

(這段話節錄自 Work Happy 一書,作者為Jill Geisler)



9/19/2017

如何建立一個還不錯的部落格(blog)



The only thing you really have in your life is time. And if you invest that time in yourself, to have great experiences that are going to enrich you, then you can’t possibly lose.  (Steve Jobs, Entrepreneur)

你真正擁有的其實只有時間,如果你把時間用在投資自己,得到很棒且能豐富你人生的經驗,你不可能會失去什麼。」 史蒂夫‧賈伯斯


部落格和Facebook(臉書), twitter, instagram有根本上的不同。相較於快速的互動,部落格更具有長期性,也因為長期性,讓近年來的知識型部落格(註1),成為一個需要長時間投入,也可能會長時間回收的事情。就短期行銷而言,部落格或自己的網頁,遠不如fb的粉絲團或twitter的密集短暫貼文。然而,就長期內容累積,擁有比較完整的表達敘述來說,自有網頁或者部落格仍然比較適合...只是要投入比較長的時間。


關於生活類型的部落格可以參考註2,在此謹分享專業類型的部落格。

專業人士為什麼需要有自己的部落格

這裡的專業人士是指:工程師,程式設計師,法務專家,行銷人員,心理諮詢,作者...等等。和一般生活類型:旅遊,吃喝玩樂...的訊息傳遞有很大的不同。

很有可能專業類型的部落格,僅在特殊情況下會被陌生人看到,大部分是「為了自己而寫」,而長期累積之下有很多好處:

1.  提升與反思


教學相長,當你能把一件事情表達清楚,表示你對這件事情了解得更清楚。在寫作的同時也更容易發掘自我問題。

2. 資訊傳遞


某些專業領域有自己的知識瓶頸,或者想要傳遞和其他人略有不同的觀念。一篇簡單清晰的部落格文章,就可能會達到效果。例如:Scrum認證,不要再浪費錢了。這篇是對於Scrum認證的反思,在google search "scrum認證"的時候已經會出現在第一頁,讓想要考Scrum認證的人,可以多一個參考觀點。


3. 專業行銷


由於退休新制的實施,現在換工作的門檻越來越低,而專業人士必須要能展現與行銷自己的能力。履歷表或者linkedin固然是好方法,但是有效的,長期的分享自己的能力與觀點,更能展現自己與他人的不同。請參考這裡,與這裡


但請切記,部落格只是「額外」產生上述三個好處,自己寫的愉快才是重點。


工具選擇

如果你還沒有自己的網頁,部落格。想要開始,自然要先選用平台/工具。當然,已有許多部落格文章在討論「部落格」工具的選擇。

例如:

* 2017部落格平台調查報告 :這篇主要是討論收費的平台

* Blogger 和 wordpress的比較 :如果懶得研究太多免費平台,考慮這兩個就好。

假如你是資訊專業者(程式設計師等等),自己搞台電腦或者VM,自建網站,也是個好玩的方式。但如果不是為了好玩或者學到網站營運的技術,就專業分工的角度來看,採用成熟的平台或許更好。例如:你也不會自己host email server對吧?

不過其他類型的專業人士(心理諮詢,牙醫,法務人員,行銷,業務,作家,顧問等等),採用現有的平台是最簡單,效果穩定,而且不用花太多時間處理雜務。

在還沒有決定怎麼做之前,有幾個建議:

1. 如果你不想要廣告,未來也不打算透過部落格廣告賺錢,不建議用痞客邦這類型預設有廣告的平台。

2. 網址名稱很重要。現行第一層網址,例如.com,已經有超過1000個可以選。也表示不要太特殊的網址也並不貴。以你現在看到的這個blog網址:5233.space,一年也不到300台幣,第一年還是特價70元台幣而已。

BestProgrammerInTaiwan.com 五年,2242台幣


3. 如果你的讀者群,不包含中國大陸(註3),那麼免費的google blogger會是最佳選擇。因為即便綁定「自己的網域」名稱,它仍然免費。以你現在看到的網域www.5233.space,就是在godaddy買了網址名稱之後,綁定到google blogger上。

建立的基本步驟


如果對於建立部落格還沒有計畫?可以考慮採用以下方式:

1. 決定目標


最好有個清楚的部落格專業範圍。例如:心理諮詢,程式設計,軟體工程,如何創業等等。決定目標也比較容易決定名稱和網址名稱。

範圍可大可小,而範圍大小各有優勢與缺點。

2. 建構平台環境

沒有太多考量的話,就...

(a) 直接到blogger.com建立一個自己的部落格,

(b) 到godaddy.com買個不會太貴的網址。建議直接買5年。因為部落格需要長期經營,5年的網址,通常也不過2000台幣。

(c) 綁定godaddy網誌到blogger.com,請參考這篇說明

(d) 寫2-3偏草稿

(e) 隨意試用一下Blogger.com的設定

3. 持續撰寫文章


最好能維持每週一篇,每年50篇的速度。專業部落格是不太適合一天一篇,實務上也不太可能。

要持續不間斷撰寫文章,才能迫使自己持續不斷的在專業上成長。

4. 定期檢視


定期檢視部落格文章數量與分類是否合理。更重要的是,當部落格文章達到一定數量時,可以和自己的linkedin以及履歷表連結。

5. 橫向連結


無論有意無意,橫向連結同類型文章或網站,是建立一個還不錯的部落格的要件。




如果你還沒有確實的實施計畫,可在此索取「建立部落格一頁計畫書」,可以確實並腳踏實地的建構自己的部落格網站。





註1. 這裡指的知識型部落格,是非「吃喝玩樂型」的部落格。然而,以pixnet為例,絕大部分訪客數多,能用廣告賺錢的的部落格,都是屬於「吃喝玩樂型」。請參考排名:https://blogranking.events.pixnet.net/

註2. 成為人氣部落格的方法生活部落格5步驟部落格衝人氣的方法...

註3. 因為截至目前為止,大陸長城會擋住大部分google的服務。


8/17/2017

如何學好工作英文 - 極簡計畫書



在台灣職場上,英文能力是工作能力重要的一環。英文能力不好,並非職業生涯就會失敗,也不是就不能賺很多錢,只是會「受到各種限制」。有正確足夠的英語文能力,會讓職業生涯有「更多選擇」。

除了在自己的職位上,有需要以英文讀寫和對跨國組織的溝通之外。還有兩件極為重要的
其是:

(I) 擴大其他知識學習的能力。當你可以順暢地閱讀聽取英文資訊時,你路上的知識來源,就遠比只會中文多了數倍。

(II) 擴大資源取得的範圍。當你可以流暢的使用英文,就可以把想做的事情,透過網際網路外包給其他國家。


就和其他計劃一樣,執行力永遠比計畫詳盡來得重要。而執行力是透過「限定時間」的「分階段」採用「正確方式」達成。


如果你目前還沒有自己的方法,或者,曾經試過自己的方法只是不太成功。那麼請考慮這個極簡一頁計畫書。

按此索取如何學好工作英文的極簡計畫書

這個計畫乃是參考(註1)的做法,與實務驗證改善而來。此極簡計畫適用於TOEIC 695分以下的上班族。


「如何學好工作英文 - 極簡計畫書」的使用步驟如下:

(1) 找到原因,定義目標


第一個,也是最重要的步驟是「坦白原因,定義目標」

每個人真正想學好工作英文的原因都不同。而真正的原因才是讓個人努力的動力。

找到自己想學好工作英文的真正原因。可以用消滅法,判斷這個原因是不是最重要原因。在計畫書中,將最重要原因填在80%欄,次要和第三原因填在16%欄與4%欄。將80%欄遮起來,想像一下,當這個原因消失之後,自己是否就不想精進工作英文了。如果這個原因消失,但是自己還是很想精進工作英文,表示不是真正原因,或者描述的不正確。

請填寫找到真正原因填寫於左上角。

目標是在未來一段時間(14週)預計取得的成長。

極簡計畫有兩個既定目標:

(a) TOEIC 800以上 
(b) 能以英文簡報10分鐘關於現在的工作進展 

另外,可以去掉目標(b),也可以自己制定目標(c)。但是,沒有特別原因的話,必須要留著TOEIC 800的目標。

在右下角的目標準備,就是為了確保自己已經報名TOEIC


(2) 學習材料準備


極簡計畫學習教材都是不用錢,而且對工作英文來說效果很好!

「起床後15分鐘」的教材是BBC網站,需要電腦或者手機才能使用。

「空閒的10分鐘」教材是一本英文書。


(a) 聽/說教材


聽和說請用BBC網站教材。這些課程都是以影音方式大約3-7分鐘。
請先設定好書籤於瀏覽器中,或者用手機也可以。實際學習方式請看: (3) 執行 


BBC英文學習課程:有用!簡單!又不花錢!

BBC English You Need
http://www.bbc.co.uk/learningenglish/english/course/english-you-need

BBC English At Work
http://www.bbc.co.uk/learningenglish/english/features/english-at-work


(b) 空閒時間的純閱讀:How to Read a book


建議直接列印出來。目標是看完第一,第二部分。約138頁,每天10分鐘閱讀一頁半左右。


(3) 時間分配


太長時間等於是挑戰自己的意志力,但是每天工作很累的人的意志力是有限的(註2)。

這個計畫是以3個月(14週)為目標時間,每週6天,每天僅25分鐘。這25分鐘,分成早上起床後15分鐘,和空閒10分鐘。

早上起床後15分鐘


早上一起床,要花15分鐘學習英文。如果你平常是9點起床,就改成8:45,如果是8點起床,就改成7:45,如果是7:30起床,就改成7:15。無論如何,一定是起床後的第一段15分鐘是在學習英文。早點起床學英文,絕對比晚點睡學英文的效果強太多太多!

空閒的10分鐘


在每天空閒的時候:坐捷運,上廁所,上班休息時間等等,花10分鐘閱讀。強烈不建議在睡覺前閱讀。這10分鐘最好是連續的10分鐘。

實際作法請看(3)執行。

在計畫書中央有個6x14的表格。在表格上有開始日期,下方有結束日期。直接填好開始日期以及14週之後的結束日期。

時間耗費其實很少,所以要確切執行,其實不會是時間問題,也大概不會是意志力問題。恐怕只是「習慣」與「執行技巧」的問題。

14周之後,無論如何,時間到就結束,並且以實際方式檢討結果。

(3) 執行!


當極簡計畫準備完成,接下來當然就是執行極簡學習計畫。
計畫執行非常非常簡單,所花費時間也非常非常少。

執行是每天,或者說每星期至少六天,做三件事情:
(a) 早上起床學習15分鐘以上
(b) 空閒時間閱讀10分鐘以上
(c) 把計畫書上的進度表格塗黑,並且自我檢查是不是有按照計畫進行

(a) 首先是起早學習15分鐘


所要做的事情是到BBC網站上,在BBC English You Need或者BBC English At Work選擇一個課程來「聽」。只聽不看,有聽不懂的暫時不理會。BBC的課程很短,大約5分鐘而已,聽完之後,在看上面的英文說明,還有不懂再查字典。

經過3-4天,如果你認為太簡單,BBC也有進階教材:

http://www.bbc.co.uk/learningenglish/english/course/towards-advanced

但是對於簡單的教材必須熟悉到「輕而易舉的理解」,才能進展到進階教材。而坦白說,倘若你的TOEIC成績不到850分,進階教材可能不太適用。

(c) 其次是每天空閒閱讀10分鐘:


找空閒10分鐘閱讀
教材是How to read a book。閱讀方法是印出來,在每天空閒的時候:坐捷運,上廁所,上班休息時間...等等,任何空閒的10分鐘都行,連續10分鐘閱讀。強烈不建議在睡覺前閱讀。


閱讀方式是,直接看完,中間看不懂的字先圈起來,如果可以的話,猜測一下不懂的字的意思。讀完一個段落,約1.5頁,閉起眼睛回想一下這一頁的意思,然後,再去查字典。切勿背單字,應該去了解整個句子的意義。

How to read a book是本經過設計的老教科書,用到的單字有限,其目的是在教學生「如何閱讀英文書」所以,當你看完這本書就可以一舉兩得,確保可以你的英文閱讀能力,真正往前進。

(d) 每天檢討:把計畫書上的進度表格塗黑,並且自我檢查是不是有按照計畫進行。

這個部分最重要的是,不要欺騙自己。請參考下一段(4)過程檢討。


(4) 過程檢討


極簡計畫書中央有個6x14的表格表格。每個格子代表一天,每天當你完成「早上起床15分鐘」和「空閒10分鐘」的學習之後,就可以把它塗黑。只完成一項就塗一半,都沒做就留空。

必須要把這個計畫放在每天都一定會看到的地方,例如辦公桌的某個小角落。表格上面只有開始日期跟結束日期,中間並沒有日期,但請不要趕進度,每天最多也塗黑一格!

如果有不預期的情況發生:例如連續兩天沒有按照進度進行。不要試著去彌補它!不要在某一天連續趕兩三天的進度,而是要找到一個方式,讓這不預期的事情,「以後」不要再發生。不彌補是因為過去的事情本就「已經過去」,和彌補錯誤比較起來,在極簡計畫中,更重要的事不讓錯誤再發生!


(5) 計畫結束


極簡計畫的概念是,無論如何,結束時間一到,計畫就結束了。

這時候必須要知道和原定目標有多少差距,如果TOEIC考了815就表示達成,考了790就表示沒達成。如果可以輕鬆地用英文解釋現在的工作狀態,就表示達成了。

然而,因為是你自己自定的目標,其實在計畫結束後,可以很清楚的看到過去14週以來的成果,即便沒有達到目標,應該會有大幅進展。也不見得要對自己太嚴厲。

重點在於結束之後,可以再次啟動下一階段的工作英文學習計畫。把握原來的極簡計畫的關鍵:限制時間,清楚目標,過程執行,檢討結果,並且不要花太多時間,當然就可以讓自己的下一次計畫效果更好。

按此索取如何學好英文-極簡計畫書


問題與解答:


Q1:可否修改計畫書?


Ans:極小幅度更動當然可以,例如把14週變成12週或者15週,把每天25分鐘改成30分鐘。但強烈不建議進行大幅更動。因為此計畫是經過設計與驗證,對絕大部分上班族是最能在耗費最短達到最大的工作英文進步。

Q2:我沒辦法早起學英文。


Ans:無論你現在做的是什麼樣的艱難工作,早起15分鐘通常是可接受的範圍。如果你沒辦法早起學英文,大概就表示你不太想或者不需要精進工作英文。

Q3:這計畫對我來說太簡單?


Ans:此計劃是用於大學研究所畢業後開始工作2-3年的上班族。如果你英文已經很好了(例如,TOEIC已經850分以上)當然就不適用此計畫。

Q4:此計畫對我來說太難?


Ans:如果你已經大學或研究所畢業,然而仍然覺得很難使用英文聽說讀寫,這計畫可能是有點難,但絕對不是做不到,只看你有沒有決心而已。

Q5:為什麼一定要去考TOEIC?


Ans:TOEIC是目前為止,比較有公信力的商用英文測驗,它並不困難,很適合「不準備」的情況下完全按照實力去應考。當然應考前還是要看一下題型,考試方式,跟考試用具。




參考:

* 註1:在義務教育的語言學習,大部分的人都認為沒效率而且也不實用,不僅只是台灣而已,而是放眼世界皆然。有本書可以參考一下: Fluent in 3 Months。這本書有中文版。

* 註2:意志力的研究有很多矛盾的地方,請參考這裡




8/07/2017

快速學習技能 - 解決職場困境


快速學習工作上需要的技能,而技能與知識同時成長,是在職場上能空出時間,進而控制時間的最好方式。

在這世界裡,「在N小時內學會XXX」的書籍研討會不在少數。這些都很有參考價值,然而,學習是非常「個人化」的事情。例如:國高中花很多時間在補習班的學生不在少數,但真能夠發揮補習的目的 - 也就是考上最好的學校 - 卻僅有少數。

有些書籍,宣稱找到共通的方式可以在N小時內,學習「任何」技能。並且當然以自己過去一年學習到的技能,作為鐵 證 (參考文末的註1)。不過,共通的方法都僅能參考,每個人終究都還是需要找到自己的方式 - 只要是真的想學。

在職場工作,會遇到的困境很多,有很大一部分是「人」的問題。但無論哪種問題,如果你是個「技術上的狠角色」,你就有很大的機會撇除人的問題。即使無法排除,擁有更多技能,就表示有更多選擇 - 大不了就是離開現在的環境。

技能的快速學習,首要之務,應該是找到自己的方法。

在還沒找到之前,或者,自己現有的方法似乎有所侷限。倒是可以考慮以低成本的方式,嘗試一下各個企業巫醫所提供的方式。

重點在於:有方法遠比沒方法好!

以下是幾個常見共通步驟與確切花費時間:


(1) 原因與目標確立

不知為何而戰,當然容易半途而廢。

有些原因很清楚,例如:目前會寫java,而現在因為工作需要學習Scala。有些是個人喜好,例如:常喜歡去日本旅行,想學基本對話比較方便。有些則是好奇性質,例如:聽說Big Data大數據分析很紅?不知道到底是那是什麼。有些技術是「執照類型」:例如開怪手,駕駛遊艇。

無論是哪種原因,需要一個簡單的目標,例如:學會Scala,了解Big Data,學會日文會話,學開船等等

不應該花太多時間在目標確立,最多0.5小時。



(2) 階段性成果確立


長期預測是很難,而且接近不可能。因此,快速而踏實的方式是計畫階段性成果。

階段性成果指的是一個「可以衡量的」,「有意義的」,「可展現的」,「務實的」極短期目標。

所謂極短期,是指20小時之內:也就是禮拜一到禮拜五,每天2小時,連續兩週。

這並不是指,超過20小時就是太多,也非20小時就能夠變成專家。而是必須要讓自己在20小時內「有所成果」。

舉一些例子如下:

Scala:撰寫網路爬蟲程式,可針對wiki做特定字串資料檢索和統計。

日文會話:用日文會話辦理飯店check-in,詢問餐廳資訊和找路。

Big Data大數據:選擇並且看完三本大數據的科普書籍。

學開船:考取動力小船執照


階段性成果的確立,其實和每個人對該技能瞭解程度的不同而有所有不同。了解的越淺,就會訂出越模糊的階段性成果。但其實無妨。因為這只是第一階段的成果而已。

其實,要能確立階段性成果,某種程度已經完成一個小型計畫。計劃本身是死的,「做計劃」這件事情才是重點。這個階段應該花費3-4小時的時間。


(3) 找到練習與取得知識的方式



取得知識和練習的方式非常重要。這方式必須要同時符合「階段性成果」和「目標」。

要快速學習知識和技能,必須「專心花一點時間」得先找確切練習方式,取得知識材料,和額外獲得協助的地方。

取得知識最踏實而且快速的方式,其實還是圖書館。先考慮,或者試用一下圖書館堆書法(參考這裡)。

然而,許多技能是需要練習的。例如:寫程式,學日文,Linux操作等等,就需要找到最適合自己的練習方式。

以學會寫Scala程式而言:即便只是做個簡單的網路爬蟲,仍要再細分小階段,先準備環境,簡單了解語法,知道怎麼使用Scala來執行http get...等等。每個練習的動作,都是為了達到階段目標。

以學日文會話而言:最好而且便宜的方式應該是「馬上去找」語言交換。其次則是去借幾本基本會話的書,再加上幾個app/網站。(註2)

當然,有些技能最簡要的方式,還是花錢受訓,例如「動力小船駕駛」。這反倒是最簡單的,只要有決心即可。

除了花錢受訓之外,這階段恐怕需要額外的時間,預計6小時是合理的。


步驟(1)到(3),最好是不要花超過8小時,也就是一個假日的時間。


(4) 練習與取得知識


這一階段的重點在於「專注」。如果計畫是兩個星期,共計20小時,則這時候,就該專注於自己決定的方式,無論如何,都要在兩星期/20小時之後來檢視成果。

這也是為什麼,設定階段性成果時間不能太長(註3)。

如果的目標過於抽象,例如要「瞭解什麼是Big Data」,在這段練習與取得知識的過程,就會變得更加含糊不清。以因此,階段性目標才會設定成「看完三本科普書籍」,這樣才能檢視成果。

要讓自己專注的方式有很多:短時間專注可用番茄工作法。長時間則需要計畫與經驗,而目前你在看的這篇文章,實務上就是在解釋,如何將學習技能知識時間專注於學習。

在這個階段,根據計畫的不同有不同的時間。但是切記「越短越好」。如果不確定時間長短,那就以10個小時,每天2小時為準。


(5) 自我評量



必須要有客觀方式自我評量。

因為是自我評量,當然一定要確實。

以學習Scale的第一階段:完成網路爬蟲為例,如果在20小時內完成,那麼就可以有信心的說學習Scale已經前進很多。

以學習日文會話來說:如果可以和日本人測試對談飯店用語,那就表示階段性成功。

再次強調:快速學習技能的階段性成果,必須要以務實為主。許多人在學日文一開始是以背熟50音為第一階段。但這其實不太務實。因為死背永遠是無聊的,而且即便你可以把50因背得滾瓜爛熟,在日文能力 - 特別是會話 - 的務實進展也等於零。




(6) 收成:前進或者換目標



達到目標後,請隨意犒賞自己。

而接下來,就是要決定往下一個階段前進,或者更換目標。

這時候的更換目標,並不是半途而廢,畢竟你已經前進了一段務實的路。這和達不到目的而放棄,無論在心態上,還是事實上都有很大的不同。

往前進的時候,記得也是重複設定一個「短期可達到」的務實目標。

例如:

學習scala,已經完成網路爬蟲程式,接下來的目標是在Spark中,以scala撰寫一個可分析http log的分散式程式。

瞭解Big Data大數據:已經看了三本書,接下來的目標是找一個有意義的主題,寫一篇部落格文章。



這樣的快速學習,真的能解決困境嗎?


快速學習能讓你在職場上,取得更多的「選擇性」,讓你對事物有所掌控。這才是針對困境的真正解決之道。

或者也可以跟我們聯繫取得困境的快速協助。





註1: 有幾個例子

   * Fluent in 3 Months: 三個月內可以流利的學會任何語言。作者甚至示範了中文學習,對外國人來說,學非拼音文字真的難為了他們。

   * The First 20 Hours: How to Learn Anything FAST. 作者示範了如何快速學會各類不一樣的技能:瑜伽,寫程式,風帆板,圍棋...但個人覺得比較難以置信的還是「新鍵盤佈置:colemak 」

   * The 4-hours 系列:作者Tim Ferriss寫的幾本書。內容從健身到創業都有,其中都會涵蓋快速學習的方式。

註2: 請參考Fluent in 3 Months 一書

註3: 當然如果你是想考動力小船執照,由於上課時間是固定,當然沒辦法「更快」。

8/04/2017

不玩一樣的遊戲 - 準備面試的真正技術


程式設計師如何在面試中展現真正價值:最好的方式當然是不要跟其他人玩一樣的遊戲,也就是在面試中,找出幾個能突顯自己技術能力的要點。針對這些要點,做延伸性的準備。




不管什麼原因,當一個軟體工程師下定決心要換工作時(註1 ),面試通常是免不了的。

作為軟體工程師,鐵定會上網搜尋各種「面試技巧」文章。

例如:常見面試問題的最佳回答:這篇或者這篇。也有些人會說,面試除了回答問題,更重要的還是會問對問題,例如這篇

但是,人資與主管,通常比面試者更知道這些所謂「標準問題」。也很清楚面試者可能會去找的「標準答案」。這些面試技巧文章只是一再重複大家都知道的常識,多複習這些常識是有很大的好處,至少可以避免緊張或者不必要的誤解。

但常識不會是關鍵。


在面試的時候,除了回答標準問題之外,最重要的是「確實展示自己的價值」才是關鍵。

軟體工程師/程式設計師的價值展現,其實第一時間點是在「看履歷表」的時候。短暫的面試時間是在「檢查履歷的正確性」。假設面試者的履歷寫的中規中矩,沒有什麼誇大,也沒有過度謙虛(註2),會讓你進入面試階段,就表示在履歷表上展示的技術能力是公司願意接受的。

面試展示自己的價值,通常是在幾個關鍵點。而這些關鍵點,都是「面試之前」可以先做好準備的。

(1) 應答技術問題
(2) 解釋過去做的事跡
(3) 詢問技術相關的問題


(1)  應答技術問題


大部份的軟體工程師工作,通常都會有程式考試題目。只要你在Leetcode, topcoder之類的網站,用你本來就熟悉的程式語言,多練習幾次,應該就不會太離譜。事實上,技術問題不可能考得過於艱澀 - 因為公司組織通常沒這麼多閒功夫在一個面試者身上。

其他的技術問題應該要根據你在履歷表上的專長做「延伸性」的準備。延伸性準備,才是展現價值的最好方式。

例如,倘若履歷表上你的專長是WebUI,那麼你就得延伸準備到HTTP:至少了解一些重要的header。如果你的專長上有寫Linux,那麼就必須準備回答曾經使用linux做過什麼事情?

如果曾經在linux上架設web server (nginx, apache...),至少也得知道設定檔在哪裡,如何開始停止服務,如何列出執行的行程(process),如何在不得已的時候強迫結束服務。當然,如果你會回答kill -9,最好確實知道為什麼是-9。

應答技術問題的不僅只是「防禦性」告訴面試者你的能力。而透過簡要地回答,「順便」展示自己對技術能力掌握的額外價值。就以上述kill -9為例,以筆者過去15年,面試超過400個人經驗,在履歷表上寫「熟linux」的起碼也有150人。這些面試者,八成都知道kill指令。然而,僅有不到10個人,知道為什麼要用kill -9,並能說明kill預設single 15是比較好的選擇。

在回答簡要技術問題,只要能有正確延伸性的回答,就能展現與他人不同的價值。而這絕對事是先可以準備的。


(2) 解釋過去做的事蹟


只要有2-3年工作經驗,面試時,一定會被詢問過去做了什麼。

因為,要了解未來一個人在組織的貢獻,最好的方式是看他「過去貢獻了什麼」。以下是一些解釋過去事蹟的要點。

** 妥善呈現事實而非感受。


當你已經離職時,過去的事蹟就已經成為「歷史」,而你可以準備的是「妥善呈現歷史的事實」,切勿扭曲或用「感受」呈現。

例如:「在那個專案裡面,幾乎事情都是我在做」。這其實是你的個人感受而非事實。事實必須要用無可扭曲的方式呈現。

又例如:「這個專案扣除html/css之外,前端javascript在git上大約有3萬行左右,其中兩萬五千行是我commit而且到專案結束也都是我負責維護」。這只是說明在程式碼上的「事實」,你並沒有貶低別人的貢獻,因為也許那其他5千行極端重要也說不定,但你也呈現了以code base而言,你的貢獻在事實上絕對不低。

**過去事蹟,絕對可以,而且也絕對需要在面試前妥善準備。


因為,你對過去自己真實貢獻越了解,就越能掌握過去事實。越能掌握過去的事實,就越能表示自己在技術上更有未來潛力。

例如,假設你是IT部門員工,過去都是協助內部系統上線,這些系統其實也是外包商提供。在面試時,被詢問做的內容,如果只是簡短回答「將公司委外開發的系統上線」當然也是可以。

但如果你在事實上,也會做「自動化檢測系統」「建構上線風險評估」「上線後的使用分析」「成本分析」以及「有沒有達到預期目的評估」,這些才是IT真正產生價值,並且與眾不同的地方。

最好的情況會是,公司之前並沒有此做法,而是你主動完成這些有價值的事,讓公司變得更好。可是,如果你已經離職,來不及產生事實 (當然也不可能去捏造說謊)。那麼,至少還是可以說「當時其實應做自動化檢測系統」,雖然那時候沒有完成,但你也可以在面試自己做一個小規模的自動化檢測系統,而在面試的時候就可以大大方方的說,當時雖然沒做,但是自己覺得應該要做,所以主動在事後做了。

當然這表示你需要在面試前付出時間準備。這樣的付出不會是沒有代價的。即便這次面試沒用到,你所做的事情是不會消失不見,只要是你做的「技術上正確」的事情,未來一定會對你的職業生涯有所助益。



(3) 詢問確實的問題


通常面試的最後,都會給面試者問問題的機會。

許多文章中,的確會說明問問題的重要,例如這篇。有上網查過的面試者,也了解不該問一些瑣碎小事,上下班時間,或者公司基本福利,因為這些問題只是等於打發時間。雖然沒有害處,但是也沒有價值。

軟體工程師最適合的就是詢問有價值的技術相關問題(註3) 。而這些問題也可以讓你稍微判斷此公司的狀況。

基本問題

一些很基本的問題,可以簡單展示你對軟體專案成熟度,也可以讓你了解這個公司的狀況:

* 請問目前是用什麼樣的版本控制系統,管理程式碼?

    該組織用什麼樣的版本控制系統不重要,無論是git, svn, cvs, p4...都可以。重點在於,的確還有些組織連版本控制系統都沒有。

* 請問目前組織是使用哪種專案管理方式?

    最近幾年是流行Agile/Scrum,

* 假如我有幸錄取,前三個月你希望我能完成哪些事情?

    這個問題代表自己的積極程度。主官如果對這個問題講得過於籠統抽象,很有可能該面試官(主管)並非實際的技術管理者。

* 團隊最近一次做code review是什麼時候?
* 團隊的bug追蹤流程目前大概是怎麼做的?
* 目前自動化測試的涵蓋率大約是多少?

    這些問題是展現自己對軟體開發的成熟度。特別注意的是,如果這些問題被籠統的回答,也不需要追根究底找別人麻煩。


進階問題

可能會引發進一步討論,也可能被反問,所以要事先準備被反問時的技術回答。

例如:

* 就現在的資料和面試的情況,您個人覺得會錄取我嗎?

* 最近一次在團隊裡面遇到最大的技術困難是什麼?

* 組織如何判斷成員的技術產出?




高級問題,


很有可能被認為是反過來刁難面試主管的問題。必須斟酌採用。例如: 

* 目前軟體專案程式碼的entropy有多高?

* 目前自動化建構和測試是採用哪些工具,涵蓋率有多高?

* 就您個人而言,最近在組織內學到新的技術是什麼樣的技術?新的程式語言或者新的工具?







面試是可以事先作準備地,軟體工程師的面試準備,應該花時間以事實展現價值作為準備方向,而非準備一些大家都知道的常識或者花時間準備外在行頭口語表達...等等。當成功地完成許多面試,就可以在工作機會上有所「選擇」。


參考文章:
(1) Scrum認證!不要再浪費你的時間了
(2) 如何充實自己
(3) 畢業前六個月 建構職業生涯
(4) 年底才績效評估或考慮轉職 已經太遲了
(5) 因為沒挑戰想轉換跑道,先檢討自己吧


註1:要轉職換工作區分成「主動」與「不得已」兩種。不得已:例如公司倒閉之類,當然就不用討論。但是如果是「主動」,就要先想清楚「真正的原因」。因為這個原因,可能不會因為你換工作而消失。

註2:剛畢業的學生可能是怕履歷表太空洞,通常都有誇大的傾向。而在業界打滾數十年的老鳥,有時候會有過度謙虛的可能。

註3:當然不應該「窺探機密」,因此可以在一開始的時候先說「如果這個問題不小心牽涉到公司機密,請告訴我,在這個時間點我無意探究貴公司的機密」



5/22/2017

企業巫醫 - 講重點!




在許多企業巫醫的書籍文章演講中,都繪聲繪影的描述「講重點」是極端重要。但也僅只是說它很重要,卻擺明著忽略這件事的真正重點:「關鍵重點難以找到」,或者更直接的「怎樣找到重點」。


就只是像提醒健康很重要的提醒「講重點」的文章像是:這裡這裡

另一些文章,表面上提出一些找到重點的方式,但是壓根也是一堆廢話。例如:從對方觀點找到真正價值。聽起來很有道理,但就像部落巫醫說:「得罪了祖靈,所以你生病了」,看似有理,但是到底做了什麼得罪了祖靈才是重點吧。「如何」知道對方的觀點,才是找到重點的重點。這類型的文章例如:這裡這裡這裡

只而更有些文章,提出了似乎務實的步驟,但都是太過一般化的案例,不是類似秘書處理好老闆的行程,就是與別人討論時的對話重點。這些在技術為主體的組織裡也根本派不上用場,例如:這裡這裡


絕大部分的人在工作上,並非不講重點,而是講不出來或找不到。而很遺憾的是,複雜環境(參考Cynefin架構)下的關鍵重點,並沒有簡單的三步驟,也沒有五個必備SOP之類的方式就可以取得。

關鍵因素的掌握,需要知識與經驗的累積。

知識的累積會堆積成智慧,經驗的累積會變成靈感,而智慧與靈感綜合起來,就能在複雜事物上以很短的時間將其抽象簡化,而抽象簡化的事物就容易看出重點。

雖然沒有捷徑,但就像是健身減肥一樣,從任何時間開始都不嫌晚。而且從任何時間點開始,都可以在比自己想像的時間內還早獲得效果。

知識的累積


只要抱著開放的心態,多閱讀,多請益,大概就很容易做到知識的累積。(知識快速累積可參考這裡)

值得注意的是,知識也有分軟硬兩種類型(註1)。

軟知識:談判技巧,溝通技巧,專案管理,人際關係,等等都屬於軟知識。換言之,軟知識可能會隨著文化背景改變而有截然不同的結果。

軟知識,容易落入「嘴砲唬爛」的範圍。軟知識的累積因為太多太多地方可取得,就不在這裡討論。要稍微注意的是,無論是什麼樣的人對「軟知識」都有自己的一套煞有其事的說法,要注意不要落入「純唬爛嘴砲」的範圍之中。

硬知識:數學,工程,程式設計,等等都屬於知識。換言之,硬知識不會隨環境的改變而改變,但它會隨時代的進步而進步,容易站在巨人的肩膀上前進。

硬知識,容易變得「極端」,不是容易被忽略,就是容易被過度強化。

絕大部分在組織工作的人,只要有數年以上工作經驗,都知道軟知識的重要。而各類型心靈成長,溝通協調,領導管理的書籍課程就孕育而生。在組織中,最極端的中階主管就會有意無意透露出「軟知識」遠比「硬知識」來得重要的許多(註2)。

最佳的情況是:硬知識和軟知識必須要互為成長基柱。兩者兼具的成長。

硬知識的累積:非常簡單,(1) 先設定知識累積範圍,例如設定為軟體品質改善 (2) 利用mindmap圖,整理自己已經在腦海的知識 (3)去圖書館至少借7本相關書籍,(4)上網尋找相關知識 (5) 閱讀並且搜尋完之後,僅憑自己的記憶和腦中統整結果,再次畫出mindmap圖,有必要的時候進行實作(例如寫程式)


經驗的累積


經驗可以解決在Cynefin framework中,「複雜」與「渾沌」這兩個象限的問題。(關於Cynefin請參考這篇)

不過,經驗的累積方式是經驗是否能「持續累積」的關鍵。

同樣一件事情做20年,有些人會取得20年的寶貴經驗,有些人卻是像是只做了1年一樣:只是做了20次一年。

以軟體開發為例:

1. 在SAP的ERP環境下,撰寫相關模組20年,如果沒有產業相關知識的成長,只負責出各種報表,那麼和2年經驗也差不多

2. 做為專案經理超過20年,如果遇到事情只會加班解決,那麼和1年經驗也差不多(參考這裡)。

3. 做為有10年開發經驗的java程式設計師,如果遇到組織調整,需要使用其他程式語言,但用各種方式拒絕推託,那麼未來可能就變成只有數年經驗值的程式設計師。因為推託學習不但會讓技術停滯不前,還會退後。

經驗的持續累積也很簡單。重點在於「持續」:每隔一段時間檢視自己的工作筆記,看看自己是否做了任何改善現在工作的技術的事情。如果沒有,就表示沒有持續累積經驗,經驗僅只是停滯而已。

沒有工作筆記?趕快去買一本吧,筆記本太便宜好用了。







註1:當然有些知識很難分軟硬,這裡只是概述而已。
註2:例如,軟體開發有個傳言:「coding co的好,要飯要到老。」

3/31/2017

企業巫醫 - 向上管理的實務作為?



向上管理是個歷久不衰的名詞,它和「人格特質分析」「領導與管理」等名詞雷同,每隔一小段時間就會以各種形式,出現在企業巫醫們的討論中。

近期隨意查詢就可以找到不少相關文章: 向上管理(cheers雜誌),如何讓老闆聽我的反對老闆的六種方式向上管理的四步驟 ......

「向上管理」向來是一個譁眾取寵的話題,眾多企業巫醫仍然以泛泛之談,試圖教導並解決一個現實而又務實的問題。

企業巫醫,總是能選定看似重要的無法辯駁,共通的話題,而且此類話題完全視個人情況而有截然不同的作為。因此,企業巫醫可以提出極端空洞的說詞,卻又多少讓人覺得有趣。除了「向上管理」之外,「創業」「創意」「領導與管理」「人格特質」等等都是屬於這類。

實務上,「向上管理」不能是打算進行的行為,而是產生貢獻中的其中一個結果。換言之,追逐向上管理,等於是捨本逐末的追逐影子行為。

因此,先務實地做到基本三件事情,假如踏實的做到了,向上管理就不是問題,而是附帶的結果。

1. 真正了解關於自己的現況事實

事實現況聽起來簡單,要找到也很簡單,但是要承認自己的現況事實其實有點難。

事實必須是清楚的,不模擬兩可的。例如,假設你是NBA球員,去年平均上場25分鐘,平均得分14分,這就是事實。至於你的技術能力好不好,並不是「事實」的一部分。以資訊科技的相關工作來說:參與過專案是事實,寫過java/python程式是事實,取得JSCP證照是事實,有Scrum證照是事實,帶領過開發團隊是事實,參與open source相關研討會是事實。

然而,具有良好溝通能力不算是一種事實,喜愛資訊科技不算是一種事實,

現況也必須是清楚的,不可能模糊。例如,目前薪資是現況,工作年資是現況,是否有直接report的人(也就是是否為管理者)是現況,最近一年有沒有拿到其他公司的offer也是現況,曾經拿到比現在薪水高的offer也是現況。

然而,覺得自己薪水被低估不是現況,覺得自己不受到重要不是事實,幾乎大部分的感受也都不是現況的一部份。

請參考這裡這裡這裡


2. 讓自己的實際產出超乎期待 


二因子激勵理論,描述「保健因子」和「激勵因子」兩種個人激勵因素。而其實這也是務實的評斷自己工作的方式。請參考這裡

要確定自己的產出超過期待,必須要確定產出有「超出」。

以基層程式設計師而言,在過去一年該寫的程式功能都有如期完成,並且品質在一定範圍之內。這樣的工作內容並沒有「超乎期待」,只是滿足「現在的薪水」而已。

要超乎期待的方式有很多。最容易的方式,是在目前工作範圍之外,「額外」並且「主動」完成有意義的事。例如,以基層程式設計師而言,在過去一年該寫的程式功能都有如期完成,並且品質在一定範圍之內,並且,主動地在額外的時間舉辦小規模研討會,分享工作上技術的進展。另一個例子,以基層程式設計師而言,在過去一年該寫的程式功能都有如期完成,並且品質在一定範圍之內,並且,由於主動學習其他程式語言,因此在其他專案上也能做額外貢獻。


3. 建立短中期職涯計畫並確實執行


在資訊科技產業中,實踐長期職涯規劃幾乎是不可能(註1)。

然而這並不代表自己現在就應該隨波逐流,看主管決定什麼就做什麼。個人應該要維持短中期的職涯規劃。特別是短期規劃。

短期規劃,必須要和技術能力以及現在工作有密切相關。

例如:

「作為一個程式設計師,未來8個禮拜,要能學會Scala基本用法,並且提出現在產品裡用Scala做分析的計畫」

「作為一個QA新鮮人,未來4周,要能將現在100個手動測試的case,至少其中20個變成自動化測試。同時,原本的工作也不會拖延」

中期計畫乃是半年到2年左右。必須要是「可以明白斷定達到與否」的目標。

例如:

「作為一個QA新鮮人,在2年內我想要變成資深QA,斷定是否為資深QA是以是否升遷或取得其他公司資深QA的offer」

當你完成數個短期計畫,通常表示你也踏實的逐步成長。即便有些短期目標沒有照時間完成,也沒關係,幾次之後,仍然是踏實往中期目標前進。

重點在於:這些目標是你自己決定的,並非主管或其他人硬塞給你。而目標既然和目前工作有關,自然就會協助你在工作上成長。


......
如果你非常非常確定已經完成以上三點,但覺得在這個組織中的成長仍有阻礙,還是很需要「向上管理」,用以獲得好的評價,獲得升遷?這基本上是不太需要,因為你應該儘速離開這樣的組織才是最好的方式。




註1: 「長期職業規劃」和「個人理想夢想」並不同。個人理想夢想可以需要很長很長時間實踐,也可能只需要很短的時間,也可能和職業無關。當然個人夢想就需要長期投入,也可以規劃,也可以不規劃。不過,不投入自己時間的夢想,通常就是空想而已。

3/07/2017

畢業前六個月 - 建構職業生涯



在台灣的碩士生,畢業前六個月通常忙於論文。如果不考慮繼續就讀博士,畢業前六個月其實是建構職業生涯的最佳機會。

更確切的說:畢業前六個月是讓你日後容易取得理想工作的最佳準備期間!

為什麼需要強調在6個月前建構職涯規劃?

環境上有許多現實的情況,例如,大部分好工作機會,其主管都傾向雇用有經驗的程式設計師。然而,絕大部分剛畢業學生並沒有實際軟體開發經驗。

因此,剛畢業的學生如果剛好獲得一個適合自己,能夠成長,能夠有所貢獻的工作,那麼就會進入良性循環。這個工作會讓這個學生更容易找到下一個好工作,或者即便不換工作,也能在目前的組織中成長。


反之,剛畢業的學生如果找到一個不適合自己,到處瞎忙,只是以時間換取薪資的工作,那麼就進入惡性循環。這個工作會讓該學生不容易找到比較好的工作,即便勉強換工作,也得靠運氣。

如果不想靠運氣,也沒有富爸爸,也不想自行創業(註1),則要做的事情很簡單:

(1) 考慮現況
(2) 設定短中期目標
(3) 建立事實


考慮現況


首先,最重要的是,取得一些關於自己的事實。是不是想要做關於軟體開發相關工作?想要做哪一類型的相關工作?是否知道自己還缺乏哪些能力?哪些地方的工作,可在短時間有巨幅成長?

如果想要當個程式設計師,要考慮的現況:

1. 能使用哪些程式語言:是真的會,而不是只寫過hello world和學校作業。並且有「事實」可以佐證。例如在github上的project,或者工讀經驗。

2. 能掌握資訊技術工具:是真的能掌握,而不是用過一兩次或者學校作業。並且有「事實」可以佐證。例如:工讀經驗,利用資訊工具做的個人專案等等。

3. 能掌握團隊專案合作方式:例如是否有Scrum相關證照(註2)。

4.....<其他還有很多請自行想像>

如果想要從事資訊業,但是一開始就做SA/PM類型的工作,在軟體開發職涯裡其實不太腳踏實地,不過,真不得已可以參考這篇:資訊科技學生畢業後只想當SA/PM (三個創意作法)



設定短中期目標


某些職涯教練,或許會建議新鮮人設定長期目標。甚且透過各種神奇的方式推展或瞭解自己的熱情(passion)所在:例如希望自己五年之後賺10億之類的。

大部分的長期目標雖然有趣,但是用處不大。設定可預計的中短期目標更為重要。

以6-12個月為期,讓自己在畢業前達某些技術性和非技術性目標,對未來職業生涯非常有幫助。以未來想要當程式設計師的學生為例,在畢業前六個月可以訂立以下目標:

* 開發並且將一個Android APP放在googlestore上:熟悉在android平台上開發APP,因此需要熟悉Java。

* 取得Scrum Master證照

* 閱讀3-4本關於軟體QA的書籍,並且運用在現在的專案上。(含建構測試案例,執行測試,系統化記錄錯誤,...)

訂立目標必須要是

(1) 有非常清楚的結果。如果目標是「熟悉java」,則最後有沒有達到此目標是非常模糊的,但是目標是開發android APP並且上架,就表示必須要寫java到某個程度才行(註3)。

(2) 可以在6個月之內達到。不要設定一個花10年才會達到的目標。如果真的有長期目標,當然可以設定長期目標,但是需要伴隨可以逐步前進的短期目標。例如,或許你想要成為java大師中的大師,這可能要花上數年,但必定可以有個6個月能達到的前期階段,例如:「不靠任何補習方式,就取得SCJP」

(3) 其結果會伴隨建立事實。請參考下一段


建立事實

在畢業前六個月,是最適合建立「事實」的時候。

建立事實,和畢業前花時間美化履歷表有很大的不同。

美化履歷表,是可以靠一兩個禮拜,找一些專業人士協助就可以很輕易的達到。但如果自己的「事實」不夠充分,再怎麼美化也沒有意義。

前一段關於短中期目標,只要你的短中期目標定義夠清晰。這些就是你要建立的事實。

如果你是在未來6個月即將畢業的學生,對自己的技術能力非常沒有自信,然而又想從事軟體工程師的工作,可以考慮建立以下三個事實:


* 透過自己決定的開發專案(例如Android APP),徹底實踐品質管理(QA) 

     (a) 找一個不用錢的QT工具:可以參考這裡
     (b) 在開發專案的過程中,徹底運用此工具,確保自己的專案品質。
     (c) 將結果詳盡記錄,就成為自己能當QA的事實


* 透過自己決定的開發專案(例如Android APP),徹底理解並且妥善運用git(或任何版本控制工具)

      (a) 版本控制是軟體專案的基礎中的基礎
      (b) 需要徹底了解如何branch,如何merge,如何處理conflict
      (c) 其結果構成了解專案開發的基礎事實

取得Scrum Master證照

     (a) 參考這裡
     (b) 雖然大部分的管理類型的證照意義都不大,但是取得成本不高的情況下,展現了你至少是瞭解Scrum。






註1: 想要自行創業的準備不太一樣,首先要了解創業如何必然成功,再參考其他相關資料

註2: 花大錢考管理類型證照其實不划算,但是可以考慮花小錢,請參考這裡

註3: 對,我們知道React Native可以讓你不需要寫java,但是這裡只是舉例而已。