顯示具有 顧問 標籤的文章。 顯示所有文章
顯示具有 顧問 標籤的文章。 顯示所有文章

4/05/2020

如何成為主管 (軟體主管的31堂課)



一般資深的軟體工程師,或多或少都會有思考過也許自己可以當領導者- team leader, manager等等。

主管people manager的定義很簡單:就是有人直接對你報告,並且你負責直接管理團隊裡的人,包含考績評估,工作指派,以及,最差的情況下要解僱某人。

沒有人生下就會寫程式,當然,也不會有人生下來就會當主管。然而,和寫程式不同,主管很難事先「練習」。所以這就變成雞生蛋,蛋生雞的問題。

在組織趨向扁平的情況下,如果有心想要往主管方向前進,最好要做到以下三件事情:

自動擴大責任:


也就是,主動做跨出自己工作範圍的事情。這裡並不是指自告奮勇擔任福委會主委,或者安排一些團康活動,雖然這些對大企業來說也很重要,但如果時間有限,應該優先考慮:跨出自己工作範圍,但仍然還是在軟體開發工作的本質上。

這件事聽起來容易,但做起來相當難。尤其是資深的工程師常常手邊已經有忙不完的任務,自請擴大任務搞不好吃力又不討好。然而,這卻是成為主管的最必要且最實際的路。

要擴大責任範圍,最簡單的做法是先了解自己的主管現在在忙什麼,可以先幫他處理必要但是瑣碎的事情:例如,撰寫例行報告,安排會議,會議結束後的記錄和執行事項的追蹤,列出現在正在進行的風險控管等等。有些事項,表面上看似秘書類型的工作,實際上對掌握大局有相當大的幫助。

其次是針對雖然不在自己任務範圍,但是是很重要的技術事項,花額外時間的主動幫忙解決。在稍具規模的企業中,這種事情多如牛毛,問題只在於有沒有人有空去解決它。

尋找業界導師:


如果你覺得目前主管是個好主管,那麼可以主動要求他擔任你的導師(mentor)。其次是尋找在同公司中的其他主管,真的找不到再去尋求其他公司的主管。你所需要的導師最最最起碼要符合這些條件: (1). 工作經驗至少比你多5年。(2).至少在同一個組織裡有2.5年以上的管理經驗,(3).必須是樂觀進取的人。以上這三個是最低門檻,最佳的情況會是7~10年差距。超過13年可能會有反效果,最好要有數個成功的軟體專案經驗,起碼有10年以上的工作經驗,並且有至少雇用10人以及解雇人的經驗。

找一個自己的導師,聽起來難做起來相當簡單。重點在於只要去做就可以了。有幾個基本的事情要注意 (1) 誠懇地請求幫忙,並約定這幫忙的時間每週1小時而已,並也約定為期僅有6~24個月 (2) 不要一次找很多導師。一段時間(6~24個月)有一個導師即可 (3) 約好固定的諮商時間:每週30分鐘,或者,每兩週1小時都可以,聚焦於過去一兩週的實質問題的建議 (4) 誠摯的感謝和長遠的關係,比實質的利益來的重要太多,強烈不建議付補習費,遇到需要索取補習費的導師就表示你可能找錯人,但是每週的諮商時間,請杯咖啡之類的小事倒是可行。(5) 如果可以的話,最好是12個月以上,但如果可以的話也不要超過24個月

在工作上遇到的問題,尋求業界導師過去的類似經驗,是最佳的參考。

留在還不錯的公司:


這個世界上沒有完美的公司,每個企業組織都有好的地方和不好的地方。只要覺得自己現在的環境沒有特別糟糕,目前所在公司仍然願意投資資源在人才培育,自己的主管是可學習的對象,那麼應該起碼考慮未來3~5年留在同個組織發展。一般而言,內部升遷的機率是大於外部空降。尤其是,如果你現在還未曾擔任過主管職,從外面招募一個沒擔任過主管的人來當主管的機率微乎其微。

大部分的人,總有看到別人碗裡面肉比較大塊的感受。然而,一旦發現自己目前的主管非常糟糕,組織文化負面而且破碎,當然要儘速離開的好。

最後,如果連續數個公司都待不到2年,應該是要檢討自己,而非檢討環境。





9/06/2019

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


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


何謂信任?


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

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


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


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

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



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


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

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


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


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

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

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




9/03/2019

如何提昇士氣激勵團隊成員 - part1 - 幾件千萬別做的事 (軟體主管的31堂課)


幾乎所有主管都知道,一個技術能力不錯,且士氣高昂,充滿鬥志希望,正面能量強的團隊成員,幾乎必然帶來高績效的結果。並且,他對團隊的貢獻,鐵定遠遠大於一個技術能力超強,但是士氣低落,充滿抱怨失落,厭世能量強的人。

軟體開發主管最難的地方莫過於激勵團隊成員。因而,能否再困難的情況下激勵團隊成員,就是優秀主管和普通主管的最大差異。

有幾件千萬不能做的事情:

(1) 單純使用薪資福利激勵團隊成員


只要是人都喜歡越來越高的薪資,越來越好的福利。但薪資福利是典型的「保健因素」,利用薪資福利短期或許有些微效果,但長期一定沒用。最糟糕的情況下,高薪資福利會留住成員的身體,但靈魂早就不再貢獻於組織。對團隊其實有更大的傷害,因為如果單純只為了錢留下來,就一定會精算如何在最最少的貢獻下,拿到最最多的利益(參見:公務員官僚體系)

合理或者略高的薪資福利當然是最好的。並且也是不可或缺,然而它只會是保健因素,絕不能當作激勵因素。

(2) 樹立共同敵人


有些主管會試圖建立共同敵人,或許是其他部門的人,有些甚至是同個部門的其他同事。主管透過和低落的團隊成員,一起批判別人一起抱怨,表面上看似同仇敵愾,其實是飲鴆止渴的做法。

這聽起來非常普通,但是,在企業組織卻很常看到主管無意中做出「樹立共同敵人」的事情。主要起因於人類一開始作為群居動物,對抗共同敵人就是群居動物的本能,原始人群居成為小部落,分工合作對抗毒蛇猛獸與惡劣環境,會讓所有人的生存機率大幅提升。現代商業社會發展不過也才不到兩百年,要抗衡超過10萬年的人類演化習慣是需要一定的主管個人知覺和意志力。

(3) 瑣碎的微觀管理


所謂micro management (微觀管理) 是指主管重視各種支微末節,會透過枝微末節的檢核來判斷與採取行動 - 而這個檢核可能和工作本身無關。最最簡單的例子就是組織規定早上9點上班,主管一看到有人9:10才出現,就會主動前往詢問。

根據工作的形態不同,微觀管理其實在某些情況下非常適用,典型的例子是傳統軍隊,或者勞力密集度高的產業。

然而,軟體產業鐵定不能使用微觀管理,軟體開發相關工作,其實有極強的自主性,每個人的產出不可能像生產手機一樣在最末端測試所有該有的東西,這些自主性,會決定整體團隊績效的好壞,主管即便不能提高自主性,也千萬別降低高績效人人自主性。

要注意的事,作為主管其實應該能清楚理解code review並不是一種微觀管理,優秀且高績效的人才通常喜歡「被code review」同時也喜觀「review別人的code」。如果你不能理解這件事情,表示你大概不適合擔任軟體研發的主管。




9/02/2019

Scrum的缺點 (軟體主管的31堂課)



當手上有榔頭,看到任何東西都像釘子 -- Abraham Maslow 1966
------

過去數年來Scrum明顯成為Agile軟體開發裡最常被討論跟使用的方法。

當然也有不少文章討論scrum的缺點(請參考這裡)。然而,Scrum是個在agile development範疇內的方法論,它是個很好的參考軟體開發流程的工具,而這工具有其「特性」,無所謂好與壞,當然就無所謂優點與缺點。

然而,這些特性不可否認,需要對該工具有一定的認知,特別是一些「預設要知道的事情」,以免誤用。舉例來說,當你使用榔頭的時候,大概會知道它是用來釘釘子,而不是拿來釘螺絲。此外,你也會大概猜到,右手拿榔頭左手扶著釘子時,要記得不要敲到自己的手指。

以下Scrum缺點(特性),也是常見的陷阱僅供參考。


(1) 團隊成員對Scrum的了解必須一致,工作能力最好也要差不多。


Scrum的運作中,高度依賴成員的自主性。Scrum Master雖然很重要,但僅在於Scrum本身的運作。對於任務完成的定義以及任務的品質,還是靠所有成員的能力。

換言之,如果有人技術能力特別糟糕,或者技術能力雖好,但對於Scrum的運用與瞭解和大家都不一樣,那麼有可能會有意想不到的長時間磨合期。


(2) Scrum並不會真正加快速度,只是讓速度透明,讓大家專注重要的事情。

許多企業導入scrum的目的是為了加速產出。事實上,Scrum並不會加快「某件事情的速度」。Scrum會讓事情變得透明,同時也讓團隊進行的速度變透明,讓大家更容易專注於正確的事情上。

整體來說,Scrum會減少各種不必要的浪費,讓整個專案效率提升,但就個別事情的速度而言,Scrum並不會提升。換言之,軟體工程師仍然需要有自己的方式來提升個人效率。


(3) Scrum並不會解決工作內容的相依性 


傳統的專案管理方法論,常常會提供類似甘特圖的工具。然而,Scrum方法論專注於某件任務(story)的完成,而隱含著希望每個任務的相依性,會在團隊成員的「成熟考慮」下被處理完成。

換言之,有相依性的工作就是有相依性的工作,軟體開發團隊還是必須要有自己的方式解決相依性。使用scrum並不表示相依性消失,也並不表示當有個寫得很獨立的story產出時,就一定會跟其他工作無關。這些都還是得靠團隊來處理。無論是使用Jira還是agilefant還是任何工具,都應該有自己的處理相依性的方式。


8/24/2019

加入新創後 如何建立團隊 (軟體主管的31堂課)



當你有機會加入一個新創公司,並負責建立某個軟體開發團隊,無論是哪種類型的團隊:QA,手機研發,維運,前後端... 你會面臨比想像中還要困難,但其實更有趣的挑戰。要達成這個任務,首要(一)先了解現況,其次(二) 對現況做短中期規劃,並且(三)依照情況定時調整方向。要注意的陷阱是:(a) 建立團隊不是憑感覺或過去經驗,而是憑計畫與努力 (b) 計畫和努力的投入是必然的,無論是2個人的小團隊或者39個人的組織 (c) 在不必要的壓力下更換人才選用策略


案例:

S是有10年工作經驗的QA,有1.5年的QA manager經驗和3年的QA lead經驗,曾經在兩個小型新創公司工作。因朋友介紹加入一個香港商新創公司,負責在台灣建立專門針對手機應用程式的QA團隊,這個團隊已經有2個不同經驗的QA。



一:了解現況


S應該要做的第一件事情是了解現況。
在還沒加入團隊之前,應該盡其可能列出各種大小不同的現況事實,並且針對事實在「還沒加入」之前釐清未知的現況。如果你無法在這階段列出20個關鍵問題,很有可能表示你對建立團隊的本質不夠瞭解。當然並不代表一定會失敗,只是代表成功與失敗本身有極大可能是靠運氣。

典型一定要知道的事實:

1. 這個職位是新開設,或者因前任離職而在找尋找替代者?
2. QA團隊預計在3-6個月內的團隊大小為何?
3. 其他團隊規模多大,公司規模目前多大
4. 直接主管的管理方式如何?
5. 直接主管本人最近3個月的加班情況
6. QA主管在未來3個月要達到的目標,未來6個月要達到的目標

常被遺漏的事實:

1. 權限:在招募QA上,能擁有多少權限?能決定薪資嗎?薪資上限為何?
2. 獲利容忍時間:新創團隊一般都有資源壓力,在未來6個月,如果沒有損益兩平,投資人仍然會持續投資?
3. 現有兩位QA團隊成員無法升任QA主管的原因為何
4. 公司對技術人員的選用是否有成本考量 :如果現存軟體開發人員與QA人員大部分都是5年以下工作經驗,絕大多數情況是有很嚴峻的成本考量。
5. 公司對技術人才的選用以「先趕快進來,有人再說」,還是「選到適合的人才比較重要,願意等」。要謹記的是,這兩者在新創公司是無法並存。
6. 技術團隊過去6個月的離職率,過去12個月的離職率

類似上述的事實起碼可以在列出另外10個。而在面試階段,如果公司無法全部清晰正面的回答所有問題,並不代表這公司不好,只是代表變數和意外很多,在你的計畫中,需要控制與應變這些變數。然而,如果這些問題,有50%以上或者更多事實是模糊回答,那麼非常有可能新創公司的管理階層也都是沒啥經驗的人,加入這樣的團隊不見得讓你的管理經驗和知識能夠持續成長。

要記得,在這個階段是考慮事實回答,而不是事實的好與壞。舉例來說,如果有事實回答是:「未來6個月損益沒有兩平,投資人就失去耐心公司會倒閉」。那並不代表這不是好公司,而是代表6個月損益兩平是目標,所以這其實是好回答。但如果你獲得的答案是「只要我們大家都會努力做好自己的事情,未來六個月就一定會賺大錢」這是危險的模糊回答。

針對還不知道的事實,最好建立「無知清單」,也就是Known Unknows 而在加入的前期自然會對這些無知項目有心理準備。

(二) 對現況做短中期規劃


如果已經了解事實現況,就應該進行短中期規劃(0-3個月,以及3~6個月)。

短期規劃必須清楚具體。主要目的是確保與組織方向一致。並且列出還不清楚的事實,確保在到職的前三個月可以弄清楚。

舉例而言,該QA Manager的短期前4週計畫如下:

第1週:透過確定下列問題來瞭解公司環境:(1)確定未來三個月可招募的QA人數和經費,(2)(2)確定自己是否能確定薪資 (3) 確定能否招募比自己薪水高的QA (4)可否透過獵人頭 (5)是否有招募經費。透過與現有成員一對一面談了解目前個別成員最大的問題。透過和自己的老闆一對一面談確保期望一致。

第2-3週:建立面試流程。透過與開發人員面談,了解現在QA與RD的合作方式。了解目前品質管理相關系統(例如JIRA, testrail)。固定與主管至少每週一次面談。不管現存的測試方式好與壞,都先確定自己可以執行現有的測試案例。

第4週:透過直接與主管的檢討會議,確定自己的成效和主管期待一致。預測可招募到的新人到職時間。

計畫的本身最好不是用像上述的文字描述,使用mindmap展開概要是最好的方式。

(三)依照情況定時調整方向


加入之後,每週應該檢討計劃是否能被執行。

檢討是為了自己的計畫,可以自己檢討自己就好。檢討的方向有兩種。計劃不如預期,以及發生或者知道額外事實需要修正計畫。

(1) 計劃不如預期

例如,預期在第3周能夠執行現存的測試案例,但是到了第3周仍然無法達到。自己一定知道原因,就要針對原因來處理。是因為自己對產品不了解,抑或這些測試本身就過於複雜?

(2) 發生額外事實,需要修正計畫

這其實是最常發生的情況,也是最能考驗到創新公司的新主管的情況。如果在到職之前能羅列的問題越多,發生不受控制的「額外事實」就越低。因為你既然事先知道了,就能有所防範與準備。

舉例而言,事先如果知道你無法決定新招募的QA的薪水,則招募流程就必然要讓「能決定薪水的人」參與。換言之,作為招募你的意見主要是決定NO,而非決定YES。既然事先已經知道了,就容易建構適合的流程。然而如果事先並不知道,而且也不再你的無知清單中,一旦發現你無法決定薪水,除了心理會略有不爽之外,你能夠調整適應的時間也大幅縮短。

因此,這階段是要處理不預期的未知(Unknow unknows)。一旦不預期的未知發生,必須要先分類嚴重程度,然後確實處理「嚴重的」,不應該是處理「容易的」。舉例來說,如果不預期公司其實是要快速有便宜的QA人力,大量手動測試就好,如果你覺得這不是正確的方式,就應該優先處理此事。

避免陷阱?


有興趣知道如何避免以下陷阱?還請留言或email (support@talent-service.com): 

(a) 建立團隊不是憑感覺或過去經驗,而是憑計畫與努力 
(b) 計畫和努力的投入是必然的,無論是2個人的小團隊或者39個人的組織 
(c)在不必要的壓力下更換人才選用策略(例如CEO說要不要早點有人進來)


3/17/2019

自我感覺良好的能力不足: 預防與解決之道



在軟體開發團隊的招募中,技術能力當然是不可或缺的一環。候選者如何自己評斷技術能力,也許和如何評估候選者的技術能力一樣重要!

換言之,謙虛的人比自我感覺良好的人,可能實質上的能力更好。這在「達克效應」中說明得十分清楚。

達克效應簡單的說:是指能力不足的人通常會高估自己的能力 無法正確判斷自己能力的不足。不過經過提高能力之後,是可以認知到過去能力不足的事實。
這個理論雖然廣為人知,但真正去證實的人很少,因為大家總是覺得很合理,

該論文研究分為四例,無論是哪個例子,結果都類似下圖(註1)
本圖取自論文:Unskilled and Unaware of It: How Difficulties in Recognizing One's Own Incompetence Lead to Inflated Self-Assessments
該圖是取自研究案例二,研究者讓所有受測者考一個邏輯考試,這邏輯考試取自於美國的法律學校入學考(LSAT),主要看一個人的邏輯思考是否完整,有興趣可以參看這個網站

當然考試不是重點,考完試之後,將結果分成四組人,最差的就是bottom,最好的是Top。所以在上圖中,很明顯bottom組的結果當然是在最下方。但有趣的是在於,最爛的一組,在預測自己的成績與能力,卻是和實際上差距很大!次佳組(3rd)其實實際成績和自我預測最接近。而成績最好的那組,反而感覺非常「謙虛」!?是唯一反而預測自己考得不好,同時也自覺的不好的一組。但實際上考的成績卻是最好的。

研究有四個案例,考試的範圍跟內容各有不同但結果很一致。

這篇論文,雖然很直觀,但寫得有點幽默,所以竟然還得了搞笑諾貝爾獎,細想其實很有啟發性。尤其在組織中,員工的自我感覺良好是績效評估產生問題的最大因素之一,那麼在組織中有什麼樣的解決方式呢?

預防的方式:招募時的預防


尤其是軟體開發團隊,招募一個謙虛的人,比招募一個很有自信的人更容易找到真正有能力的人。倒不是說有自信是不對的,但自信心往往容易落入低能力的範圍(請參見上圖)。

要判斷自信與能力最簡單的方式有兩種:一者,就是根據過去實際的產出內容來衡量,例如詢問他過去工作中,實際上做了什麼事情,導致於貢獻的產生,而不是只問了貢獻的結果。其二,設定簡單的測試環境,例如直接在白板上討論演算法問題。

解決的方式:衡量產出而非能力

絕大部分的企業組織都知道,衡量員工的績效乃是基於產出,並非能力。當然,能力好的人自然有機會有更高的產出。

在軟體開發團隊中,衡量產出極其困難。每個團隊幾乎都因人而異。有幾個方式倒是可以適用於大部分的狀況 
(1) 員工自評,並且加上3位以上的同僚互評。
(2) code review
(3) quality

由於最近比較忙,關於產出的衡量有機會再寫。:)



------
註一:本圖擷取自該論文本身:https://pdfs.semanticscholar.org/e320/9ca64cbed9a441e55568797cbd3683cf7f8c.pdf

2/08/2019

如何在工作中成長


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

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

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

(1) 培養成長心態


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

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

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


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


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

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

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

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

(3) 主動執行

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

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

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



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





10/28/2018

企業巫醫:手寫的工作筆記,讓你跨越困難



筆記本加上一支筆,大概是最便宜,最容易改善工作的工具。

網路上有非常多「如何做筆記」的相關文章,特別是如何做學習筆記(例如這裡,這裡,這裡)。在職場上,特別是知識工作者,幾乎都有做記錄的必要,然而由於資訊工具的改良,許多人會改用手機,平板,電腦來做筆記。畢竟數位化還是資訊快速膨脹的主流。

在此並非建議走回頭路。數位化記錄,絕對是必要而且有幫助。企業裡面的知識庫,wiki以及追蹤工作工具(jira, redmine, trello等等),絕對是讓組織整體提高做事的透明度,持續傳遞經驗知識的最好方式。

然而,對於個人職涯發展而言,還是建議要透過工作筆記,來提升職涯發展,增加自己的能力與視野的人,最好還是擁有一套自己手寫記錄的方式。

原因如下:


(1) 手寫的學習效果遠遠超過打字


有太多太多研究顯示,手寫的理解與記憶效果,遠遠超過打字。請參考:這篇這篇這篇這篇。或許有人會說,工作筆記又不是學校筆記,但如果深究這些研究會發現,其實概念相當一致,也就說,手寫某件事情,會增強對這件事情的「理解力」,「創造力」與「想像力」,然而打字卻不會!而廣泛知識類型的工作也是,職場上對事情的理解和掌握越高,越有想像空間,當然工作本身做得越好。


(2) 成本低

當然,現在平板也可以手寫,所以廣義地說,如果習慣的話,平板也是可以。然而,再貴的筆記本,其運用成本,仍然比平板低。除了價格之外,運用成本包含環境限制(例如要充電)。


(3) 手寫讓思考聚焦


無論是用哪種輸入法,即便是最簡單的注音,只要一段時間,每個人的打字數度都會遠超過手寫速度。然而,正因為如此,手寫可以讓頭腦有思考聚焦的功能。腦中會自己思索,應該聚焦的關鍵,進而思考關鍵的意義,這對掌握工作的要點,並且讓一個人在繁忙工作中,找出一條正確的道路有絕大的幫助。請參考這篇


那麼,要如何做工作筆記?


(1) 立刻買一本


假設你沒有筆記本,也沒有做工作筆記的習慣,那麼就「現在馬上去買一本」。習慣的建立是需要時間。不建議去買很貴的Moleskine筆記本,即使是代購團購的Moleskine也是頗貴。當然它的質感,可長期保存,書寫良好,硬殼和收納設計都首屈一指。不過其實隨便到文具店買不到一百元的即可。



(2) 上班中隨身攜帶,隨時紀錄



聽起來簡單,但要養成比帶手機更隨身的攜帶是有點難。無論是開會,還是座位自己位子上,確保重要的事情,都應該即時簡單的紀錄。筆記本應該是隨著時間紀錄。而且,並不限制記錄內容。如果是開會,建議使用心智圖的方式記錄。
提醒一下,筆記本並不僅止手寫手畫,也可以將重要的檔案email,直接列印貼在筆記本上。未來當重新檢視工作時,有莫大的幫助。

紀錄的內容以「事實」為優先,同時當然要記錄時間。工作記錄並非你自己的日記。雖然,這是自己私人的紀錄,但最好不要紀錄感想或情緒;而是確切記錄事實,因果,困難,解決方案,效果等等。

除了記錄之外,筆記可涵蓋「簡單計畫」,也就是「本來打算如何做」。例如,在工作中發現你對某技術不了解,於是你就在筆記本中草草紀錄一行「學習某技術」。隨即在這行字下面,就可以做得簡單的計畫,例如:1. 10分鐘上網查詢。 2.問一下某某同事。 3.在本週末練習此技術。

當你有任何打算做的事情,拆解成為執行的行動,簡單紀錄,日後就很快可以檢查這些行動是否完成,或者計畫是否要改變。

要注意!工作筆記是幫助你「動起來」的最好方式!


(3) 每月摘要,自我檢討


工作筆記,最最最重要的功能就是,每個月找個20分鐘的時間,將過去一個月自己做的筆記認真看過。然而透過紀錄,回答自己以下問題:(a) 這個月我有做幫助公司組織哪些重要事情 (b) 這些事情做完了沒 (c)隨便換個人也能做這些事嗎? (d) 過去一個月我有沒有學到新事物(e) 有沒有遺漏重要的事情還沒進行。將這些問題,自我回答到筆記本中。
這種檢討方式,特別適合在坐捷運的時候進行。


筆記本加上一支筆,大概是最便宜,最容易改善工作的工具。如果你認為自己的職涯發展受到侷限,或者遇到困難,而你又沒有做筆記的習慣的話,那麼其實不妨一試,只要長期累積必有成效。





10/19/2018

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


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

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

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

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


(1) 個人永遠都有選擇



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

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

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

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

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

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

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




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

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


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

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

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

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

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

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

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



7/20/2018

企業巫醫:應該要在同一間公司待多久?



一個在就業市場工作的人,到底應該在一間公司待多久才算「正常」。就產業的不同,自然有截然不同的答案。就資訊科技領域來說,過於頻繁地更換工作,會讓求職者更難找到好工作。

何謂頻繁更換?當在現有工作遇到瓶頸,自己有機會透過自身能力改善瓶頸,然而卻選擇離開就算頻繁。

真要講個數字的話:
* 工作7年以上,在最後7年的職業生涯中,但不在任何組織中待超過2.5年,就會被列入低優先考量 - 並非完全不考慮,而只是不優先聯絡。
* 工作3-7年,但不在任何組織待超過1.5年,也是屬於低優先考量。
* 工作3年之內,其實到不用太在意。

理由是 考量「大部分的情況」,而非考慮「極端情況」。

大部分的情況是:

工作7年以上,但最後的七年,沒有在任何組織待超過2.5年,表示曾經換過起碼4~5個工作。然而資深的工程師,通常其工作內容是比較困難的,並應該能展現其架構設計與實作的經驗。可是,如果其架構設計,並沒有被「市場驗證」那就很難用各種方式評斷他的真實能力。講得更直白的是:也許這位資訊工程師,雖然有N年工作經驗,但搞不好每次都挖洞給別人跳,自己拍拍屁股就走了。或者是,也許他工作能力其實普通,但「自我感覺太好」因此老是覺得自己應該找到更好的工作。而更重要的事實是,他的確離開了,這事實也表示這4~5個工作並沒有「留才」的意願。兩年半是最低限度檢驗一個工程師,在技術上能取得「市場驗證」的時間,兩年半表示工程師至少經過兩次以上的績效考核,並且其工作的正面負面評價也容易以事實檢驗。

極端情況是:這位資深工程師運氣太差,雖然各方面能力都好,但就是遇人不淑,常常遇到公司倒閉。或者有不得已的家庭因素。

許多企業巫醫都有各種不同的見解(請參見最下面的參考文章),但整體來說,職涯長短雖然因人而異,但最好不要把自己視為特殊例外。而應該以市場上的事實,來推估自己職涯最適合的況狀。

舉例來說,有些人認為只要沒有成長學習性,就應該換工作,但是過去七年沒有一個工作做超過兩年半,難道表示這五個工作的內容「統統都學精通」?如果老是遇到不好的工作機會,是否就表示「自己對專業工作機會的好壞判斷有問題」而專業機會的判斷,通常也是資深工程師應該要具備。

就業市場的事實是過於頻繁換工作「通常」表示有問題,頻繁換工作的大部分人是屬於通常,而非特殊例外。


參考文章:
* 在一個公司裡為何要待十年的十個好理由
* 在一個公司待太久不好嗎?
* 在同一公司內部發展職涯才聰明
* 在同一間公司不要待超過四年喔
* 你在公司待很久了嗎
* 在一個公司待太久會對職涯不利嗎?






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) 考量的方式

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

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

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






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

12/24/2017

沒有QA?如何確保軟體開發品質



任何軟體專案或產品,達到高品質是開發團隊必然的目標。不過高品質並非垂手可得,它需要團隊的共識和努力才能達成。

確保品質有很多方式。過去常見的方式是瀑布式開發方式(waterfall)中,在程式設計師確定code complete之後,靠QA/QT/QC(註1)來執行測試,並且在測試週期中,驗證是否符合設計規格,並記錄追蹤問題(bug),有時候甚且扮演催促修復的角色。因而,特別是大型團隊,專門「處理」品質的QA角色十分重要。很多時候,團隊可能面臨沒有QA的狀態,此時要如何確保品質呢?

為什麼會沒有QA


有時候,環境造就沒有QA的局面。例如,新創公司可能也只有5個人,無法有專責QA。又例如,大型企業中因資源分配不均,導致某些專案無法有專責QA。

但更多時候,沒有QA指的是,沒有能做「真正QA工作」的人。也許團隊裡面有許多人持有QA的職稱。但很可能僅做到QC/QT的工作(註1)。實務上,在軟體開發團隊中,實際做的事情其實比職稱來的重要。就品質的角度而言,QA大部分的時間應該花在開發循環「前期」或者「中期」。以Scrum中的Sprint來說,在kick-off時,QA應該花最多時間在定義DOD,決定產出的評斷標準,在sprint每天活動中,QA應該花時間在檢視產生的程式碼(code review)並且透過每個工作產出,主動改善現有品質。換言之,QA應該比單純的程式設計師,更會程式,更知道系統的交互作用細節,並能透過直接或間接修改程式,直接影響開發過程中的品質。因為,開發前中期的品質修正,效果好,成本低,遠比開發「後期」再來幾個測試循環來的有效!

簡要的說,能真正做QA工作的人,必須能比程式設計師團隊更會寫程式。起碼也要是「曾經」非常會寫程式。

如果團隊不巧沒有這樣的人,有三種方式可以在沒有QA的情況下確保軟體開發的品質:

方式一:Scrum

Scrum方法論中,概念上每個Scrum成員都是「同樣質量」。換言之,Scrum進行中重視的是產出,每個SPRINT的結果是「可交付的東西」。而Sprint中間要完成的細項,應該將品質涵蓋入內,而由自行取得該任務的人,完成其保證。

有許多作法和上面這段熬口的說明有關。首先,DOD (definition of done) 除了涵蓋unit-test之外,其實應該也涵蓋整合測試。如果不涵蓋整合測試,就應該另外有一個任務是專做測試。並且,每個story完成中,必定涵蓋這個story應該要有的使用測試(用以檢驗規格)以及回歸測試(用以檢驗是否有副作用)。這些測試,可以單獨成為一個工作,也可以作為DOD的一部分。

無論如何,基本概念是:「人人應該都可以生產程式碼,當然人人應該都可以測試」。實際執行時,或許有些人比較常「拿到」測試工作,但這並不代表這些成員就只是進行測試而已。有些人比較常拿到「寫程式性質」的工作,但並不代表這些人不負責品質。

Scrum的團隊重視每個Sprint的共同結果,此結構也讓沒有QA也能達到高品質。因此Sprint的長度不能太長,太長就會落入「團隊中自行區分QA和Engineer」的後果。


方式二:Pair Programming


Pair Programming是指兩個人一起用一台電腦,一個鍵盤來共同寫程式。這作法在2000年左右發展的Extreme Programming被大大推崇,不過能有決心推動的團隊並不常見。

由於Pair Programming讓每段程式碼至少都會被兩個人看過,而且在頭腦中想過。它可以避免大部分的低級錯誤(拼錯字),也可以避免懶人錯誤(程式風格,漏寫unit-test),然而,更重要的是它讓兩個程式設計師的真實想法,在執行同件事情的時候被「好好溝通」。而這更大幅避免對設計或需求的誤解。

Pair Programming似乎有效率和產能上的疑慮,但無論如何,它確實是在沒有QA的情況下,確保開發品質的絕妙方式。強烈建議閱讀一下wiki上的Pair Programming最下面的參考論文。



注意!

前兩個方式雖然符合敏捷開發的精神,並且能從系統結構層面,解決問題。然而,這兩種方式都必須要有結構性的改變,除非是剛剛成立的新團隊,要造成結構性的改變很困難,而且,即便做的好,也得花上其他心血才能有「能見度」,有能見度,才有所謂的功勞。

有兩個古時候的例子:

(a) 鶡冠子扁鵲:扁鵲曰「長兄最善,中兄次之,扁鵲最為下。」魏文侯曰:「可得聞邪?」扁鵲曰:「長兄於病視神,未有形而除之,故名不出於家。中兄治病,其在毫毛,故名不出於閭。若扁鵲者,鑱血脈,投毒藥,副肌膚,閒而名出聞於諸侯。」

(b) 孫子兵法:故善戰者之勝也,無智名,無勇功,故其戰勝不忒。

然而,對於一個軟體專案的主管而言,這些結構性的改變才是自己真正的價值。即便價值很難被衡量,但價值會永遠存在自己的手上。

如果短時間難以改變環境,可以考慮以下的方法三:

方式三:Part-time & Automation


工讀生(part-time student)和自動化測試(automation)似乎是兩個不同主題,但就確保軟體開發品質而言,把他們當做「一件事情」來處理,會有驚人的效果。

簡單的說,就是雇用3至4個優秀的工讀生,每週上班2-3天,組成工讀生團隊,執行測試任務,並且在熟練測試任務之後,開始進行測試自動化撰寫,並且在小組長(team leader)帶領下視情況參與更多品質管理的事情。這聽起來是個繁複的事情,但執行起來,遠比方法一二簡單。



其步驟如下:

(a) 選定一位以後想要朝專案經理或主管方向前進的優秀資深工程師,讓他作為工讀生團隊小組長

(b) 到各大學相關科系徵求大四以上的長期工讀生,一般來說,只要能妥善說明對他們未來就業的好處,通常可以找到足夠優秀的人。工讀生至少需要在職6個月以上。

(c) 組成團隊後,第一個月僅只需要熟悉目前軟體系統,第二個月才開始讓他們執行測試計畫,回報並記錄問題

(d) 在此過程中,由小組長指定測試內容和範圍,換言之,這段期間,其實小組長才是扮演QA的角色。而其他成員都可以將繁瑣的測試交給工讀生。然而,程式的品質仍然是所有成員負責,工讀生不在Scrum的範圍內,因此不「負擔責任」。

(e) 當測試進行2個以上SPRINT,工讀生應該已經開始覺得測試是很煩人的事情,但也應該知道品質對產品的重要性。這和在學校做專案計畫有天壤之別。因此,就可以開始由小組長領導工讀生進行測試自動化。

(f) 測試自動化並不期望把所有整合測試/回歸測試,100%統統自動化。只要把「簡單瑣碎」的測試自動化,通常就能節省一半以上的時間

(g) 通常六個月後,3-4人的工讀生團隊就能完成部分整合測試,和大部分的回歸測試。而下一輪的新工讀生,可以選擇從頭開始打造新的測試自動化,也可以接手前期工讀生做到一半的自動化。打造新的自動化通常可以用新的工具,新的角度來測試既存系統,可以讓品質在一次提高。接手前期工讀生的自動化,可以讓自動化範圍更廣,空出時間來做其他的事情


工讀生進行自動化測試的開發,對組織,對小組長,對工讀生有三贏的效果。(參考:實習生的三贏)

組織:讓沒有QA的團隊,能確保高品質的產出。除了要花些微的工讀費用之外,讓團隊成員能把瑣碎的事情下放給優秀的工讀生,使團隊成員能集中心力,但又同時負責個人生產的品質。同時,由於利用工讀生來培養小組長,讓組織能了解這個資深工程師,適不適合作為領導者,萬一不適合,頂多也是犧牲工讀生而已。

小組長:沒有人生下來就會當主管,當主管必須要有經驗,而工讀生團隊是主管最容易讓資深工程師測試自我的地方。因此小組長可透過這獨立運作的團隊,練習各種管理技能。

工讀生:大部分優秀的大四以上學生,都猜得到業界和學界的差異。許多人可能會在暑假應徵summer intern,然而其實短短兩個月,通常會做比較獨立的專案,雖然都很有趣,但是和在學校有很大的不同。加入實際開發團隊,即便只是做測試,也能了解「現實和學校」的差距,並且體會到軟體專案開發時,品質的重要性。讓有此六個月經驗的工讀生,更容易在未來找到更好的工作。





註1:關於Quality Control, Quality Test, Quality Assurance, test engineer, SQA的各種工作角色的區分,請參見wiki。然而,誠如前所述,工作角色名字不重要,做出事情才重要。

12/17/2017

企業巫醫:公司需要你,還是你需要公司?



每年年底照例有不少人考慮轉換跑道

換工作是很個人的考量,每個人狀況有很大的差異。然而,當生涯成長變成首要因素時,其中一個考量點是:「公司需要你,還是你需要公司」?

盈利企業當然需要各式人才,讓企業持續成長獲利。但每個人在組織中的重要性不同,特別是上千人的大企業。即便主事者真心誠意認為「每個員工都是公司寶貴資產」,但就事實來看,上千人的組織,不可能「每個人」都是寶貴資產。

因此,在想要轉換跑道之前,先衡量一下,到底公司需要你的程度如何?請記得衡量標準不是你的個人能力,而是公司需要你的程度。

了解自己被需要的程度有幾個方向:

(1) 有機因素 vs 有毒因素


有些時候,某些人以為掌握特定資訊,是被需要的因素。然而,這是屬於有毒因素。換言之,如果只靠掌握某些資訊是很危險的(註1)

舉例來說:在大企業中,專案從開始到結束有一定的流程和系統需要專案經理維護資料的正確性,例如填寫各種表格之類。然而如果專案經理「很會」填表搜集資訊,並且甚至知道很多「秘訣」,這並不是真正「被需要的」理由,而僅只是資訊掌握。將這個因素,作為被需要的原因,就是屬於有毒因素。又或者,僅只是在一個組織中待了很久,知道許多「眉角」,這並非壞事,但僅靠這點不應該被依賴的原因。

大部分的人,都能靠自己的能力產出價值,這就是有機因素。最簡單的情況就是:一個程式設計師撰寫所需要的程式,自然就產出價值。又或者一個廚師的手藝驚人,自然可以產出有價值的菜色。

有機因素和有毒因素都可以被培養,但是,培養有機因素的道路比較長遠。

(2) 換!


有些工作,天生取代性高。例如:餐飲業的員工,只要有心學習,絕大部分的人都能成為一個好的餐飲業員工。

有些工作,很具有專業性,只是在某個特定組織內,取代性很高。例如:在大型軟體組織(例如微軟)的工程師,在數萬個工程師中,其實任一工程師並沒有絕對的必要性。

屬於這類型的狀態下,要提昇被需要的程度,最快的方式其實就是「換」。

但是在「換」之前,需要確保兩件事情:

(a) 現在的工作產出已經超乎別人的預期:也就是說,別人(同事,老闆)很確定你做的非常好了 

(b) 提昇自己的個人能力:說來簡單做起來難,尤其是在大組織中。但就現有的工作範圍往外擴張是最好的方式。


(3) 避免帕金森法則


帕金森法則:請先參考wiki的說明

當在大企業做了3-5年之後,很有可能落入帕金森法則陷阱之中。也就是會盡量「擴大本來不需要的時間與資源用來完成工作」。這在過去的研究中有相當多的證實,並且全世界所有政府機關都有此現象。

一旦不自覺的落入帕金森法則,會下意識的降低自己的效率,產出和學習新技術的能力。自己的低效率,會成為成長的障礙。在員工能自我解決此問題之前,對大組織來說,都是「員工需要這個公司」而非「這個公司需要員工」。同樣的,對於小組織而言,公司需要員工的而非員工需要公司的機率會大得多。



註1:但是業務掌握客戶關係則不屬於此類,客戶關係並不是資訊,而是透過長期互動累積而來。是屬於資產的一種。
參考資料

參考資料

(1) 自我感覺良好的能力不足

11/10/2017

技術迷思:是人類使用工具還是工具使用人類?



在知識頻道和各類文章中,都有對於到底是「人類馴化狗,還是狗透過改變自己馴化人類?」有些有趣的討論。也是因為太多先進國家裡,家庭中的狗,實在過得太幸福,以至於太多其他人類質疑自已,該不會是因為狗的訓練人而進化?

資訊科技工具 - 特別是近年來手機和網路 - 也會讓人有此錯覺。

人類創造手機與網路,但是從小活在資訊世代的人,在成長過程中,很大的情況是被「手機」所馴化。和同學朋友聚餐的時候,大家拿起手機拍照推文的情況屢見不鮮。隨時隨地都要看一下手機的,遠比當它響的時候才看得人多。隨著手機功能越來越強悍,壽命卻越來越短。....手機已變成超越原本功能,超越一切的存在。製造商推銷手機的方式,幾乎已經和手機原本的功能 - 也就是和其他人聯絡 - 無關了。

事實上,手機的功能密集高,導致於在地球上任何一支智慧型手機製作,都牽涉到上百萬人的投入。沒有任何單一企業,組織,能「自己從原物料開始,從頭到尾搞出一台手機」。(註:不過倒是有人可以從頭到尾搞出一台烤麵包機)

手機與網路,既然已經成為超過創造者的存在,就與時俱進的,造就類似宗教信仰般的崇拜,終極果粉(apple手機的愛好者)就是明顯的例子。

不過,並不推薦極端的阿米希式的全然拒絕方式,畢竟,現在沒有手機號碼只會造成自己的痛苦。避免工具反客為主,有幾個合理方式。

(1) 偶爾換方式或者不用它。


要證明自己戒酒的方式,就是確保自己有夠長的時間不喝酒。同樣的,要證明自己沒有手機資訊焦慮症的方式,就是一段時間(3天)完全不使用它,或者是一段時間(7天)只能每天用一次。推薦最好是去日本度假,雖然帶著手機,但是限制僅作為緊急聯繫用途。不但可以徹底放鬆身心,也可以去除資訊焦慮憂慮。

(2) 優先改變工具配合生活,不改變生活配合工具。


人類的高度適應力,讓人「本來」就會配合工具而生活。火車飛機的乘坐方式就是很典型的例子。認知到工具會改變生活,然而人類卻也能改變工具,讓工具適應自己。
古早之前,還是底片相機的時候,旅行者通常會以「親身感受」風景為優先,然後有空的時候才照相。在數位時代成長的人,旅行的時候很可能是以「數位相機的鏡頭感受」為優先,也就是說,看到美景先照相,看到美食先照相。反而讓自己的視覺和味覺的優先順序,讓給沒有感覺的擁有高檔鏡頭的手機。在你手上的手機是不會不見的,可是對於旅行的體驗和感受,一旦由「你的手機」先做第一時間的感受,旅行的意義就大幅降低。以後或許看別人的部落格文章也就夠了?


(3) 成為什麼樣的人,遠比擁有什麼樣的東西來得重要。


生活圈的朋友親戚同事,必然的會互相影響,包含購買的最新手機等等。這些都無可厚非,不過,只要記得單純可以用錢買的東西,都很容易單純而且簡單地失去。然而,需要努力學習得來的:例如知識技能經驗,卻幾乎會跟著一輩子。






10/17/2017

工作中速度與效率的迷思




孫子兵法:兵聞拙速 未睹巧之久也

媒體大亨Rupert Murdoch:不是大的打敗小的,而是快的打敗慢的


效率以及速度,在職場上的重要性應該眾所皆知。然而,速度並不見得會產生「效率」,當然也就可能沒有「績效產出」。

工作中的速度與效率常見有幾種迷思如下:


速度的相對論


在職場上,速度時常是相對的。

有個笑話最適合描述這樣的相對論:兩個好朋友去非洲野營,在帳篷睡到半夜,聽到有獅子在附近低鳴,似乎打算把這兩人當作食物。其中一人開始穿衣服鞋子,另一人惶恐地問「我們有辦法跑得比獅子快嗎」,已經穿完鞋子正在做熱身操的那位仁兄回答:「我不需要跑得比獅子快,我只要跑得比你快就好」

然而,相對論的確有其迷思與限制。例如,在大型企業中,或許你已經是個主管,相對於其他同事,你也有創意,而且你辦事速度也很都快,看似一切穩當。但是有一天,你所屬的部門被公司老闆出售給外國企業,而該企業也表明只需要技術人才,不需要主管階級時,你才發現原來速度的比較對象,不應該僅僅是在自己的組織之中。(沒錯,這裡說的是HTC最近的賣部門給google的事情)


過程與結果的本末倒置


速度應該是「過程」,而效率和產出,才是「結果」。

把速度當作結果等於是本末倒置。

所以,讓網頁的使用者回應時間,從2.5秒,加速到0.25秒,看似一個有指標性質的結果。但已產出的觀點來看,其實可能是要達到「服務更多使用者」「增加效率」或甚至「減少電費」這些確切結果的「過程」。

工作中單以「速度」作為結果的績效指標,很快就會導致局部最佳化的組織問題。


沒有目標的ASAP


當詢問同事/主管說「請問這件事情應該何時完成」,如果時常聽到ASAP-as soon as possible 越快越好,而沒有具體的解釋,其實是危險的指標。

沒有具體衡量的速度,可能導致幾種錯誤想法:

(1) 這是不計一切代價要越快完成越好的事情,即便犧牲性命也在所不遲,因為一旦完成就會有很美好的事情發生。這樣的想法過於革命性的危險,事實上,僅有極端少的事情是不計一切代價,連生命都可以不要的。

(2) 每個人的時間感受不同。也許CEO的告訴中間主管的ASAP,在當時他的心中是指3個月,而中間主管告訴工程師的ASAP,在他當時的心中是指3個禮拜,可是,工程師的感受可能是5天。最糟的情況是,工程師會誤以為ASAP表示可以犧牲品質,如同上段所述,是可以不計一切代價達到速度。

(3) 有太多事項都是ASAP時,表示根本沒有設定正確的目標以及優先順序。




附註,關於速度突破職場困境,請參考這篇

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的服務。


9/04/2017

面試的前晚準備 - 極簡計畫書



無論你是社會新鮮人,還是職場打滾了十幾年的老鳥。當你準備要去工作面試的前一天晚上,有計畫性的準備面試,絕對比沒有任何準備來的好。

職場新鮮人自然會從網路或其他地方,獲得許多面試準備的要領,試圖做到面面俱到。然而,已經到了前一天晚上的話,要抱佛腳也應該要有正確的方向。例如,努力準備英文自我介紹,大概就不是一個前一天晚上能做的好方向 (註1)。

職場老鳥,即使已經是工作N年以上,應徵的是資深技術相關職位,在前一天晚上「提升技術能力」當然是不可能的。不過,卻可以準備好自己的強項,來增加面試成功的可能性。

某些資深職場老鳥,通常有「知我者伯樂,不知我是你的問題」,「良禽擇木而棲,這塊木頭反正也不好」的想法。這些想法不見得是錯的,然而,這不應該是「不做面試準備」的藉口。因為無論該公司好或者不好,既然要前往面試,你的唯一目的應該就是「被錄取」,而錄取之後,再來考慮要不要答應還不遲。

而面試前一天的準備,對資深技術人員來說,其實更簡單,並且也很容易讓面試方看得出你的資深價值。舉例來說,準備「要問」的問題,對資深老鳥就非常重要,這些問題的重點不在於獲得「解答」,而是在於讓面試者知道你的資深程度和專業性。

「面試前一天的準備 - 極簡計畫書」


與其說是計畫書,不如說是一個檢核清單,任何人應該可以在一個半小時之內,完成清單上的項目。按此索取極簡計畫書

計畫書的目的是在面試前的晚上,約1.5小時之內,用合理的技術方式,盡可能提高自己既有能力的展現,藉此提高面試成功的可能性。 

使用步驟說明


(1):找到組織背景資料。  [15分鐘]


在組織相關資料區塊中,填入公司組織名稱,代表人,營業額,毛利率等等可以找到的資料。

如果是營利組織,幾乎一定能透過名字或者統編,找到基本資料。非營利組織或者剛起步的新創事業,可能缺乏某些資料,但是可以將難以取得的資料當作「要問的問題」。因為,專業人士,通常會問出真正關鍵性問題。


(2). 要問的問題:   [35分鐘]


要準備問對方的問題。現在的面試,幾乎都會讓被面試者發問,而這段時間難能可貴。因為,這些問題是100%可以由自己控制,也就是說自己可以決定要問什麼,也可以決定不問。因此,面試前一天,反而應該花多一點點時間在準備「要問的問題」。

要問的問題的「真正目的」是要讓面試者認定你的能力和潛力,而不是你真的想要知道問題的答案。因此,最最最愚蠢的問題,莫過於詢問公司福利,社團活動,上下班時間,哪邊可以蒸便當,之類的無聊問題,這些問題,應該是透過人資或上網搜尋取得答案,而非浪費在寶貴面試時間上。

要問的問題至少要準備7-10題,而可以視面試情況決定要不要問。

基本問題像是:
  • 如果我被錄取了,我在到職前3個月,要完成哪些具體工作內容?
  • 目前這個職位,是因為有人離職而要找取代者,還是一個新職缺?此職位已經懸缺多久?
  • 請問您如何評估一個人適不適合這個職位 
  • 面試到目前為止,你覺得我是否適合此職位

至少必需要準備2-3個進階的技術性問題,技術問題並非指「特定的技術」,而是指「讓你側面了解更多」的問題。例如:

  • 請問您會在這裡工作最主要的原因是什麼?
  • 目前這個團隊,曾經遇到最大的障礙或困難是什麼?
  • 請問您擔任這個團隊的主管已經多久了?

當然,進階技術問題通常比較敏感,在開口之前應該要客客氣氣的說「如果不方便講也沒關係」。

請在表格中,挑選要問的問題,並且在備用欄位,填入你自己想到的問題。





(3). 被問的問題:   [30分鐘]


面試者在面試的時候,手上一定會有你的履歷表。無論你之前對你的履歷表有多熟悉,在前一天晚上,應該再次看一下當初你寄出去給該公司HR的履歷表。

因為,要從中找到「以面試者的角度,認為需要在確認」的問題。並針對這些可能被問的問題,簡單準備一下解答。

技術專業性的問題,對於職場新鮮人,需要再次確認「真實性」,以免被人認為誇大能力。因為,職場新鮮人通常的確會「誇大」自己已經有的能力,例如其實只是在學校學過c語言,寫過幾個作業,通常就會把c語言當做「自己會的程式語言」,但是這和職場上的「會」可能有些差距。

而對於職場老鳥,只需要注意一下「曾經做過的事情」和「曾經有的貢獻」即可。

例如參與的研發團隊人數,自己扮演的角色等等。履歷表上的明顯缺陷,才是一定會被詢問的地方,例如某個工作僅做了6個月,或者在前一份工作到今天有3個月個空閒時間。

請根據表格,檢視履歷表,並且填入自己的模擬問題和可能的回答。


(4). 面試的時間地點交通方式與服裝。  [5分鐘]

聽起來很不可思議,不過確實有一定比例的人會過於緊張,太早或者太晚抵達。
也甚至有人壓根就忘記面試時間或地點。

前一天晚上應該確認一下面試時間或地點。

某些職位(業務單位等)可能對服裝有一定的考量,當然也得花一點點時間準備。


(5). 面試之後?


無論面試的好與壞,其結果一定要誠實的記錄在計畫書中,因為它可以作為自己下一次面試的參考。

結果只有分成兩種:錄取或者不錄取 - 無論原因為何。有些組織會考慮資深人員的面子問題,可能會用「目前組織人事凍結」等等軟性理由,不過對面試者來說,就只有錄取和不錄取兩種結果。

難以回答的問題:在這欄中,盡可能就自己的記憶,記下自己覺得難以回答的問題。如果是技術性問題,表示自己有技術需要加強。如果是其他問題,也應該記錄起來作為參考。

這個計劃書,應該自行根據面試的公司不同,做不同的調整。極簡計劃書僅是在你沒有更好的主意時,提供參考而已。


按此索取極簡計畫書


註一:英文能力確實是許多工作的加分條件,但前一天晚上,臨時抱佛腳準備英文自我介紹,對英文本來就不好的人其實一點用都沒有,而對本來英文能力就已經很好的人,也幫助不大。




8/14/2017

工作3年後 - 如何主動換個好工作

工作3年後 - 如何主動換個好工作

畢業開始工作2到3年後,是個轉捩點。許多專業工作者(例如工程師)都在剛畢業後2-3年就會主動考慮換工作。

要隨便換個工作不難,但是要換個「好工作」其實非常非常難。

最踏實的作法是對「換好工作」這件事情有具體的目標和可行的作法。雖然這和每個人的職業和背景的不同,而有差距,不過計畫的步驟其實差不多。

想要跳過說明,可在此取得「TS 換個好工作 計劃表」。

有很多原因,會讓工作2-3年的人想主動換工作(註1),以下是幾個常見原因:

(一) 未來發展:覺得現在組織沒辦法讓自己升遷,增加責任範圍,學不到技術等等。

(二) 生活品質:薪水不夠,加薪幅度不夠,工作時間過長等等。

(三) 組織狀況:大組織內政治因素過大,小公司極端不穩定,產業外移等等。

(四) 興趣:現在工作內容沒有興趣,感到厭倦無聊,或者發掘自己的興趣在一個截然不同的產業等等。

(五) 想創業:這不在本文討論範圍之內。(註2)


除了以上原因之外,「最爛情況」也可能是換工作的原因。所謂最爛的情況,是指「非理性行為」:年輕人畢竟容易血氣方剛,容易產生各種憤怒:「對微妙小事看不順眼而憤怒」,「因為覺得老闆好爛而憤怒」「覺得不被重視而憤怒」,甚至,「我的老闆沒被大老闆重視」也可能是原因。

但其實,企業組織只要沒有違反法律,這些爛原因,絕大多數都是無聊而且不必要的。因此也不在討論的範圍之內(註3)


要找工作很容易,要找到好工作很難

再次強調,換工作很簡單,但是要換到好工作很難。對於困難的事情必須要有計畫的完成它。

計畫如下:


(1) 了解自我原因


了解自己為什麼想主動換工作的原因,是最基本,但是卻最容易被自我扭曲誤解的第一步。

有個簡單的方式可以讓自己對自己「誠實一點」:將自己為什麼要換工作的三個最主要原因,依優先順序寫下來。根據80/20法則,第一個原因約佔80%,第二個原因是16%,第三個原因最多是4%。舉例如下:

80%:因為學不到新技術
16%:因為加薪幅度不到10%
4%:覺得厭倦無聊

先把80%的原因遮起來,模擬假設解決了80%的原因,只剩下另外兩個原因,還很想主動換工作嗎?如果不太想換了,才表示你誠實的面對了自己。如果還很想換,就表示那80%的原因根本不是主要原因,請換個主要原因再試一次。這步驟是要迫使自己誠實面對自己,了解自己真正想換工作的原因。當然,想要換工作的原因可能更複雜,但一定要先認知問題的存在。

因為「解決問題的第一步是認知問題的存在」。而如果不先了解自己真正想換工作的原因,那就很難了解自己認為「好工作」的定義。

當然在這個時候,很有可能會覺得不想換工作,或者想創業為自己工作,那也很好,重點在於找到自己心裡真正的原因。


(2) 足夠計劃實施時間


在台灣,知識類型的工作者,最好要有3到5個月的準備時間。以下的計畫就是以3個月的準備時間為準。

3個月看起來是個冗長的時間,但如果你只有2-3年工作經驗,只準備了3個月就換到適合自己的好工作,其實是極端快速的。要達到極端快速,需要妥善計劃。

如同精實創業和敏捷開發的「時間控制」原則,這3-5個月時間是固定的,如果期限內沒達到效果,應該重新檢討,重頭開始。


(3) 定義目標


當準備換工作,目標必須是要換個好工作。而定義「好工作」就顯得很重要。每個人的好工作定義都不同,但該目標必須要「解決當初最重要的換工作原因」。

目標的需求描述,可以是4至8個項目。描述的內容要和換工作的三大原因有所關連,但不見得要一比一對應。也可以加入額外條件,像是地點之類。最後,描述的目標一定要有幾個「參考公司名稱」,因為畢竟換工作,最終還是換到某個公司,目標公司並非表示你非他不可,而是有個顯著的參考值。

例如:

 * 要學到比較完整的軟體開發流程
 * 透過轉職加薪,要比現在多15%
 * 工作內容聽起來要有趣
 * 工作地點在大台北地區
 * 加班頻率不高
 * 有國外出差的機會
 * 目標公司:四零四科技,趨勢科技,LINE台灣


(4) 瞭解與目標的距離


了解與目標的差距,最簡單的做法就是「馬上去面試一次看看」。但這樣做是有點風險,因為許多外商,通常在拒絕應徵者之後,可能3-6個月都不太會讓這個應徵者再來面試一次。

其次,花半天的時間,上網搜尋相關資料,特別是在104, linkedin上的公開資訊。可以看出這些公司最近需要的人才的技術能力為何。通常比較大公司很容易找得到「面試經驗談」可作為參考:要記得只是參考而已。

另外,也可以透過linkedin找到該公司的HR或者主管,虛心請教哪些技術能力及程度,是必備條件。有兩點要稍微注意的是:(I) 目標應該放在知識與技術能力,暫時先不要考慮「軟技能」像是人際關係之類的。(II) 英語能力是屬於技術能力的一種,並非軟技能

列出此時此刻,自己和目標最大的3-5項差距:

 * 對比較嚴謹的開發流程沒經驗
 * 對Linux不熟悉
 * 英文溝通能力不太好
 * 線上程式測驗比較難 
 * 沒有大數據相關工作經驗


注意!如果在這個階段,你認為沒有差距了,就勇敢地去面試。一旦被綠取,那麼你也已經達到計畫的目的。然而,要是沒被錄取,就表示「實際上」的確有差距,必須要回憶面試過程,找到其中差距,然後用下一段(5)行動,來補足差距。


Action speaks louder than words


(5) 行動


計畫最重要的部分就是行動,沒有行動的計畫是死的。不過,好計畫也是行動的關鍵。不知道怎麼行動比較好?可在此免費取得通用版本的「TS 換個好工作 計劃表」作為參考。

換個好工作的主要行動有五項:

(A) 急速提升目前工作績效


快速且大幅提升目前工作的產出效率和在組織內評價,是縮短與好工作距離的「最佳做法」。絕大部分的用人主管與人資主管,判斷應徵者的未來潛力,是透過他「過去工作績效」。

換言之,要換個好工作,關鍵成功因素是把現在的工作做到最好!而且是「以別人的角度」認為你做得最好,而非從自己的角度。

實際做法是:

首先,列出三項在1-2個月內可以達到的「額外」工作目標。並確定達到之後,現在的主管「鐵定」會非常滿意。可以主動和現在主管確認,這些額外的目標確實有很大意義。當然在這個時刻,不需要跟他說你有換工作的打算。

接下來,用盡「所有能力」,去達成這些目標。所有能力包含以下各種可能:

 * 厚著臉皮請教同事應該怎麼做比較快
 * 快速學習新技能以達成目標 (參考下一段)
 * 在做的過程中虛心向老闆求教
 * 每天提早40分鐘抵達辦公室做這三項額外目標
 * 用80/20法則,找到目標的關鍵任務先行完成

絕大部分的人,無論是什麼樣的工作,都能透過這個方式,在1-2個月內,展示出「大幅提升績效」的結果。並且是會獲得「外界肯定」,而非自我感覺良好,自覺大幅提升。


(B) 急速學習技能 


在瞭解與目標差距中,已經列出數個技術差距,而每個技術差距,都應該可以用學習技能來補足。

快速學習的本身,也有一定技術可依循,請參考這篇:快速學習解決職場困境

每個技術差距該做的事情都不一樣。不管列出幾項差距,最好是「一項一項」逐一解決,盡可能不要同時解決。考慮現實,3-5個月最多也只能增加3個技能。而每個要解決的技能,必須有極為明確的目標。這也是極速學習的關鍵:清楚定義目標,在大目標下逐一達成每個小目標。例如:

 * 對Linux不熟悉:熟悉LPI-201, LPI-202,通過線上測驗
 * 英文溝通能力不太好:考TOEIC目標成績850
 * 線上程式測驗比較難:每天花10分鐘,到Leetcode或topcoder上找中難度的題目練習



(C) 急速打造通路


通路(Channel)是在商務上,將產品送至客戶面前的方式。

對於知識工作者來說,「你自己」就是產品。而企業組織,就是客戶,企業組織雇用員工也是一個「市場」,而市場,常常是被通路所控制。既然你是產品,就應該要妥善處理你的通路,而非讓客戶來決定通路。

最基本的通路,可能也是最差的,是所謂求職網站104, 1111之類,當然,有3年工作經驗,也可以用求職網站。但它恐怕不是最好的方式。

另一種通路是linkedin,和求職網站稍有不同,linkedin需要更大的主動性去維護 履歷表。

再者是獵人頭公司(headhunter),大部分的情況下,獵人頭公司對3年工作經驗者不會有興趣,當你只有三年工作經驗,獵人頭可能只會對你的聯絡方式有興趣,等你「長大一點」再跟你聯繫還不遲。然而,有些做法可以讓獵人頭提早對你有興趣。其中一個做法就是透過業界導師推薦。

最佳的通路是「內部推薦」。如果剛好有認識的同學朋友在該公司內部,那你的運氣就實在太好。但是如果沒有任何認識的人?創造認識的人就是最好的方式。

如何創造認識的人?透過linkedin或者其他社群網站了解內部員工都參加哪些活動,或者研討會。主動參加那些活動和研討會,就會自動認識內部的人。稍微熟悉一點之後,就可以厚著臉皮懇求幫忙送履歷表。幫忙送履歷通常不是問題,問題在於「是否真心推薦」才是重點。技術類型的工作,參與相關的研討會,參與比賽,參與開源開發專案等等,絕對是能獲得真心推薦的方式。


(D) 應徵/面試


當準備到一個程度的時候,就應該去應徵面試。何謂「到一個程度」,只要你按照原定計畫,2-3的月就一定會到某個程度。你就應該「驗收」努力的成果,而非覺得「不夠完美」所以想持續學習。

不夠完美是一定的,因為人不可能完美。持續學習也是一定的,因為學無止盡,但時間是會流失的,這也是為什麼一開始需要鎖定一段時間,無論好與壞,每一段時間一定要能驗收檢討成果。

應徵和面試的技巧,網路上各企業巫醫專家實在太多,就在此省略。


(E) 檢查是否朝向目標


要給自己固定一小段時間,檢查自己所作所為是否朝著計畫前進。最好是定在每週一上午9:00~9:15 (這時間有特殊意義存在,盡量不要改變它) 

要檢查三件事情:

 * 過去一週的行動,有沒有確實提升工作績效
 * 過去一週的行動,有沒有縮短與目標距離
 * 有沒有浪費時間在其他地方

(6) 最終結果與選擇


如果在時間內,確實被錄取「目標好工作」。那麼就應該作出選擇,決定要不要去。因為也許3個月後,由於你的工作績效大幅提升,原本一定要換工作的原因已經不存在,當然就可以選擇要不要換。

如果在時間內,並沒有被錄取「目標好工作」。那麼就應該從第一步開始,檢討哪邊出了問題。並且重新再做一次3個月計畫,然後,確實再實施計畫。即便第一次計畫失敗,也會讓下一次計劃成功。

*******

每個人都有適合自己的方式。但如果你沒有好方式來換個更好的工作,參考並實行這個計畫一定能獲得好結果。


*******



註1:也有一些種情況是被動或者被迫換工作。 最糟糕的情況是因為績效不佳而遭到資遣,其他情況像是:公司倒閉,公司裁員,組織重整,健康因素,家庭因素等等。被動換工作的通常是「措手不及」的,因此要採取略微不同的方式。請參考這裡。

註2:工作了2-3年,應該可以知道,創業和換工作截然不同。創業的成功關鍵請參考這裡

註3:不過,人類有各種認知偏誤,合理化既定決定,無論決定合不合理,都有可能被自己合理化。