標籤

顯示具有 搞定工作問題 標籤的文章。 顯示所有文章
顯示具有 搞定工作問題 標籤的文章。 顯示所有文章

8/26/2019

系統化思考的秘訣 (軟體主管的31堂課)


系統化思考 Systems Thinking 是解決複雜困難問題的科學方式。而作為主管的工作,時常遇到困難的狀況,如果身為主管的你沒有一個科學性的方式來分析與處理困難狀況,自認可以依賴直覺和經驗,那麼很有可能你依賴的是運氣而已。


案例一:有位資深的HR M,憂心忡忡的問說,過去三個月我們的資深工程師招募好像不順利,快要一百人無法通過我們的評估,Hunter看到我們這樣都不太願意再送履歷表來了。我們是不是標準太高?要不要降低標準。

案例二:某主管A被要求和直屬於CEO辦公室的專案經理D合作進行系統整合,然而專案經理D常常會有不合理的要求 ,並常在會議中酸言酸語,讓A在系統整合上花了很多人力時間,但又打不到D的要求,而D又有CEO作為後盾。


上述案例都很複雜,牽涉的範圍廣泛。為了解決複雜問題,系統化思考會牽涉到各式各樣圖形工具,例如這個,或者這個。這些圖形工具其實都是為了簡化問題。系統化思考的理論與應用廣泛,但是針對軟體主管的工作特性,有幾個祕訣(捷徑)可以先試看看

(1) 無論如何,先畫張心智圖或者魚骨圖


心智圖可以拓展思考,魚骨圖可以先探索遺漏因素。更重要的是,圖形可以將你的思考模式放在紙面上,讓你用鳥勘的方向,有機會重新思考問題。並且,這圖型還可以留供未來檢討使用。

(2) 無論如何,先透過5Why找到真正的目的或原因。


以上述案例一,當我們先從一個方向使用5why探究原因,可能如下:

為什麼HR會覺得不順利?是因為招募人數不足。為什麼招募人數不足?是因為hunter不願意積極尋訪多送履歷表。為什麼hunter不積極?是因為我們篩選比較嚴格。為什麼篩選比較嚴格?是因為....

但是,從另一個方向使用5why可能如下:

為什麼HR會覺得不順利?是因為面試的多但都沒錄取。為什麼面試多但都沒錄取?是因為hunter送來的履歷不符合我們徵才的要件。為什麼不符合?是因為hunter不了解我們要什麼樣的人才。為什麼不了解?是因為....

找到事情的真正源頭,或者自己想達成的真正目的會是系統化思考要達成的第一個目標。

(3) 實驗性質的行動!兵聞拙速 未睹巧之久也


任何形式的研究調查,都可以無限期地進行下去,可能永遠都不會有結果。然而作為主管,透過行為有效的將事情推進下去才是重點。

案例二:當展開5why與心智圖,了解CEO的辦公室經理D其壓力來自CEO對他有時間限制時,而D由於無真正的技術能力,導致會將各種事情盡量轉交給主管A,探究其目的在於,萬一整合失敗,不會被歸咎責任。而A的做法就是互相對抗,兵來將擋。這樣的情況,可以持續下去永遠沒有結果。而後改變的做法是,先實驗性透過提供各式各樣教育課程給D的部屬,讓其部屬更了解系統如何運作,並且在各種會議中提及教育訓練一事,讓CEO理解其直屬的團隊的能力不足,因而會讓系統整合的設計本身交由A來進行,自然系統整合的最後結果就會順利達到CEO要求,也讓A與D之間的關係不會永遠惡化。

案例二看似政治問題,但其實透過實驗性質的活動(提供教育訓練)可以讓A快速證實D的團隊能力不足,即便教育順練活動辦得很粗糙簡陋也可以。


提醒一下,無法進行系統化思考的主管,最後更容易透過「恐懼」「運氣」「政治手段」等方式來管理團隊,至於能否達到目的就很難說。








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) 有沒有遺漏重要的事情還沒進行。將這些問題,自我回答到筆記本中。
這種檢討方式,特別適合在坐捷運的時候進行。


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





8/19/2018

企業巫醫:創業初沒準備好 就先別找工程師(讀書心得)


Don't hire a software developer until you read this book是一本有趣的書,它的副標題是:學習如何管理應用程式的開發流程,確保你的手機程式,網站,網路應用的產品會成功做出來。

這本書和一般的企業巫醫做法略有不同,它只專注在一個單純面向,就是「非軟體人員如何建構軟體開發團隊,並且做出自己要的產品」。實務上,它是一本工具書。裡面的Pro Tips直接而且不廢話的指出應該要的做法。

這本書花了好幾個章節,大致闡述了近年來軟體開發的相關技術與運用,並把重點放在非技術背景的創業者,如何組織建立軟體開發團隊,並且讓團隊往期待的方向前進。

做得到書上的內容的人,大概就是程式設計師心中的好老闆,或者是好PM。

然而,這本書其實也非常適合給「程式設計師」閱讀

它展示非技術人員領導軟體產品開發「真正關心」的地方:也就是實際產出。至於開發人員使用的程式語言,使用的軟體工具,甚至想要把產品做的完美...這些都是不是考慮的要務。

例如,在書中說明新創產品開發常犯錯誤的幾條

(1) 為求完美把錢燒光了:

MVP需要的是最小規模的產品以及最好的品質。但太追求完美因而增加太多附屬功能,在作者來說是一種無法控制的浪費

(2) 輕忽看似很小的需求規格改變


例如某些開發人員會說「這不會花太長時間,只是把按鈕從這邊移到那邊」。開發人員當然會負責搞定,但是要求預估時間是創業家一定要做的事情

(3) 忽略測試


測試的重要性應該不用多提。然而非技術人員很容易忽略測試的重要。

(4) 即將上線前做需求改變


對作者來說,這等同於自殺任務。其實資深的軟體工程師在內心深處都很清楚這點,但是創業者或PM想要自我毀滅的時候,又有多少人可以阻止?

(5) 開發中後期增加人力以加速開發

在人月神話這本書中有很長的篇幅描述,很多時候增加程式設計師只會讓專案速度更慢。



此外,一般開發人員也可以透過這本書獲得Lean-Startup的精神概念與實務上Agile開發的整合。
舉例來說:它說明了Agile原則,以創業者的角度,來看agile的各種方法論對軟體開發的好處。並且也拿實際工具(Trello),展示一個創業者實際對開發團隊該做的動作,連同移動Task Card都說明很清楚。MVP,如何做出最小可行規模的產品。從創業者的角度,來看這些工具,其實更可以讓軟體工程師知道專注於最小變動需求的好處。

11/16/2017

軟體專案管理 - 版本控制系統內的程式碼基本分析


孫子兵法:夫未戰而廟算勝者,得算多也;未戰而廟算不勝者,得算少也。多算勝,少算不勝,而況無算乎!

任何軟體開發專案的基礎都是「程式碼」。即使,專案經理不需要親身撰寫程式碼,但是必然要能夠透過程式碼,取得專案關鍵資訊,作為專案領導管理的最佳參考。(關於專案進度,請參見這篇。)

版本控制系統(git, cvs, p4, svn等等),則是有效控制程式碼的基礎,開發過程大部分的事情會發生在這裡,也應該發生在這裡。

如果你的軟體開發專案,沒有使用版本控制系統!!??...呃....請參考註1。

版本控制系統「至少」可以提供以下這些重要而且基本的訊息給專案管理者:

(1) 截至目前為止,有多少人實質參與專案
(2) 截至目前為止,專案的實質規模(程式碼檔案數量 行數等等)
(3) 一段時間內,此專案程式碼品質的推測
(4) 一段時間內,例如過去48小時,軟體團隊的實質產出
(5) 一段時間內,例如過去7天,有沒有人在非上班時間內工作


專案管理者(或者Scrum Master)應該自己取得這些訊息。為什麼??



"Доверяй, но проверяй
 - 俄羅斯名言,意思是 Trust, but verify  

冷戰期間美國總統雷根特別愛用此名言,根據wiki說明,雷根是受到一個作家的影響






因為,過去專案管理者常見兩種極端:

(1) 極端放任自由:在Scrum的精神下,雖然每天站立會議和燃燼圖,都可以揭露專案最確切的進展,完全相信成員的口頭回報
(2) 極端間接的繁複審閱:在沒有技術背景的情況下,透過頻繁而起瑣碎的會議,加上各式各樣文件追蹤,試圖了解目前進展。

這兩者都有明顯的問題,Trust, but verify才是正確做法。以Scrum的精神取得每日進展,並且,專案管理者應該「自己」想辦法檢查。專案管理者,如果沒辦法自己檢查,表示對此專案的本職學能不足。(註2)


專案管理者能夠做的程式碼基本分析有很多。好的專案管理者,至少需要能自己「動手」,利用工具或者程式,透過事實,了解下面三件事情:

(a) 基本專案狀態分析:哪些人寫了哪些程式碼
(b) 哪些程式碼檔案很重要:某些程式碼就是常有問題
(c) 哪些人需要額外關注:某些人工作壓力大常加班

以下以git為例,其他版本控制系統也能做到類似的事情。


基本專案狀態分析


靜態程式碼分析工具有很多。例如,gitinspector可以揭露整個專案的大致情況。gitinspector的安裝使用請參考這裡
以github上的serverless.com為例,在github上clone這個專案,並且執行#gitinspector的結果如下:


首先會大致列出作者和過去的產出摘要,例如Aaron在這個專案一共commit了8次,包含170行程式碼跟刪除87行。這個表當然不能作為績效考核用途,但是可作為參與度的重要參考。很明顯的Austen鐵定比Chris的參與度高很多。




接下來隨即會列出還存在的程式碼行數。以Austen來說,他還有2713行的程式碼存在。和他的總新增行數與刪除行數有很大的差別。這很有可能是他參與了開發初期,而開發後期的版本沒參與。




哪些程式可能容易有問題?

程式設計師每天辛勤的工作,自然會知道哪些程式常出問題。而專案管理者必須要由技術面來獲取正確的資訊。版本控制系統會記錄每次程式修改的原因(如果commit的備註正確的話)。最簡單列出「要注意的哪些程式碼檔案」

git log指令,可以加上 --grep=<string> 來濾出字串,以下例子只用fix當作過濾條件,並且配合linux其他指令:sort, uniq 就做出簡單的報表:


~/serverless# git --no-pager log --name-only \
--grep=fix  --pretty="%s" | sort | uniq -c | sort -n
     19 lib/ServerlessState.js
     19 tests/tests/actions/ResourcesDeploy.js
     20 lib/ServerlessProject.js
     23 lib/actions/EndpointDeploy.js
     23 lib/actions/ProjectInit.js
     23 lib/actions/RegionCreate.js
     23 lib/SerializerFileSystem.js
     24 lib/Serverless.js
     25 lib/actions/ResourcesDeploy.js
     25 lib/actions/StageCreate.js
     25 tests/test_utils.js
     27 package.json
     27 README.md
     28 lib/actions/FunctionRun.js
     34 lib/actions/FunctionDeploy.js
     38 lib/actions/FunctionCreate.js
     55 lib/utils/index.js
    101 tests/all.js

當然,以上報表只是列出有fix字串的commit中,哪些檔案出現次數最多。 tests/all.js 明顯是最多的,但也很明顯這檔案本來就是會被一直修改。此外,README.md也是一樣,大概也不是真正有問題。不過其餘的檔案倒是可以額外關注一下。

程式有問題的的判斷方式有很多,除了在commit的紀錄中說明是[fix]或[bug fix]之類。但也可以考慮總行數,刪除的行數,增加的行數,並且配合QA/bug tracking系統,才較為完整。


哪些人需要額外關注?


「人的問題」,永遠是最難解決的問題。然而,卻也是要優先解決的問題。組織中必然有需要「被關心」的人。

專案組織中,最要被關心的人是「表現好且有潛在壓力大」,以及「表現不好且對團隊有負面影響」這兩種。其中,表現好的人更是要優先處理。

除了每天例行工作接觸之外,專案管理者應該要有確切的「數字」。假設,我們想知道在此專案中,哪些人常常「晚上」工作。最簡單的方式是分兩步驟,先用git列出作者時間,然在寫個簡單的統計程式,列出所有人的「晚上」工作時間和「平常」工作時間次數。

* 步驟一:先取得所有的branch, 然後, 以下git log指令可以列出作者和時間,並且輸出到檔案author_time_log

 

# for BRANCH in $(git branch -a | grep remotes | grep -v HEAD | grep -v master); do git checkout --track "${BRANCH}"; done
# git --no-pager log --all --pretty="%an,%ai" > author_time_log


檔案內容大概如下
....
Austen Collins,2015-08-05 18:28:18 -0700
Austen Collins,2015-08-05 17:26:26 -0700
ryanp,2015-08-05 17:04:37 -0500
Derek van Vliet,2015-08-05 09:31:56 -0400
Michael Friis,2015-08-04 18:54:03 -0700
Austen Collins,2015-08-04 15:04:46 -0700
Colin Ramsay,2015-08-04 22:03:48 +0100
Chas Warner,2015-08-04 14:53:59 -0600
Austen Collins,2015-08-04 11:19:31 -0700
Austen Collins,2015-08-04 11:15:44 -0700
Austen Collins,2015-08-04 11:11:06 -0700
Austen Collins,2015-08-04 11:09:24 -0700
....


* 步驟二:撰寫簡單的分析程式,設定正常時間是早上7點到晚上8點,其餘都算不正常時間。用人名為單位加總之後,就可以產出簡單的報表。簡單的統計程式原始碼請參考這裡

此表中,Eslam幾乎有一半的commit都是在晚上產生,而Kamil則是標準完全正常時間工作。

Joe Turgeon [1, 0]
Erik Erikson [15, 7]
Ian Serlin [1, 0]
David Hérault [1, 0]
Peyton Zhou [2, 0]
Kazato Sugimoto [2, 0]
Nick den Engelsman [1, 0]
Kiryl Yermakou [0, 1]
Austen Collins [575, 267]
Kamil Burzynski [101, 0]
Frank Schmid [9, 2]
Jacob Evans [13, 1]
Michael McManus [1, 0]
Eslam A. Hefnawy [158, 132]
Dave Newman [0, 1]
Ryan S. Brown [35, 6]
doapp-ryanp [129, 48]
Michael Friis [1, 0]
Matthew Chase Whittemore [2, 0]


當然這並不代表Eslam的表現好而且壓力大,這只是提供給管理者參考的事實。專案管理者,必須要事實層面,檢查軟體專案的狀況,因為很多時候「會吵的小孩有糖吃」,只單純被煩就會給糖的專案主管,其實對團隊是沒有價值的。


小心統計陷阱

統計數字都可能會有陷阱,程式碼的基本分析也是統計的一種,自然要小心陷阱的存在。專案管理者應該要善用統計數字,切勿被統計數字所左右。請參考統計與謠言


 


註1:軟體開發專案不使用版本控制系統,會讓專案本身暴露在極端的風險中。如果你是專案管理者,讓專案暴露在風險中就是你的責任。如果你只是個開發人員,儘早離開高風險的環境才是上策。

註2:某種情況是,專案規模過於龐大,例如參與開發者超過100人,某些技術確實不見得能完全掌握,但專案管理者,仍然要保有部分自行檢查的能力。




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時,表示根本沒有設定正確的目標以及優先順序。




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

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/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:不過,人類有各種認知偏誤,合理化既定決定,無論決定合不合理,都有可能被自己合理化。


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: 當然如果你是想考動力小船執照,由於上課時間是固定,當然沒辦法「更快」。

7/08/2017

企業巫醫 - 得罪老闆怎麼辦 (人際關係的過度重視)



得罪老闆(直屬主管)怎麼辦?

眾多企業巫醫都有不同的說法:

某一類型的企業巫醫以案例和經驗強調「如何不得罪老闆」,試圖就源頭解決問題。然而,大部分的作法,都是為了造就謹言慎行的員工。例如「得罪老闆的六宗罪」「別惹十種人」「與主管相處之道」「職場人緣學七招」。這些說的都沒錯,然而 - 除非是在超大型組織或者公家機關 - 職業生涯的發展,大部分還是取決於能力與實質貢獻,有效溝通與人際關係是其中重要的一環,而非全部。

有很多企業巫醫都會引用這段不實謠言「卡內基美隆大學曾針對畢業的 200 位傑出校友進行一份問卷調查,結果發現,成功的重要因素裡,其中85%來自一個人的態度包括自信、熱忱、領導、溝通以及人際關係的能力,另外的15%才是專業知識。」作為開場白,似乎再再強調人際關係的重要。更隱含著,只要有好的人際關係,就解決了85%的問題。

隨意引用未經實證的事情,是企業巫醫的共同特徵。就如同在部落驅邪一樣,告訴群眾,根據某某以前的巫醫說法,現在就是獻祭品用樹枝鞭打驅邪治病的好時機。

大概也是這個問題太典型,可是真實研究內容又和各企業巫醫所引用的有所出入。因而,卡內基大學的官方Q&A只列出問題,但是並沒有直接說明答案,只說這是1918年某期刊登載之研究,但是太久之前了,請自己去圖書館找(參考這裡)。

在此特別感謝google的paper search 學術搜尋,很快的根據年份跟名稱,找到該研究發表的地方(參考這裡,請直接看106至108頁) 


實際情況是:



(1) 該研究並非針對200個傑出校友,甚至根本也不是針對特定學校的校友。研究對象為美國工程師,實際樣本超過7000人。

(2) 該研究,是以問卷形式,將因素是工程師升遷的重要條件分成六組(Character, Judgment, Efficiency, Understanding of Men, Knowledge, Technique)。結果,認為Character人格特質那組條件,是升遷第一重要依據的人數,是其他組的七倍。 眾多企業巫醫所引用85%,應該引用此依據,再經過時間以訛傳訛的結果。

(3) 該研究開宗明義的指出在1900前後,美國的工程師教育問題,認為過於著重技術教育,而在工程教育體系缺乏對人格特質的強化。然而!該研究的人格特質定義乃是指

common sense, integrity, resourcefulness, initiative, tact, thoroughness, accuracy, efficiency, and understanding of men 」(註1)

光看字眼,也能夠體會到1918年 - 畢竟已經快100年前 - 和今日一般企業巫醫所指的「人際關係」有很大差異。例如:完整,正確,有效率,在現代社會通常是技術的一環,而較少列入人格特質的一環。

過度強調「職場成功85%要靠人際關係」就會讓「得罪老闆該怎麼辦」變成落在自己身上最痛苦的事情。因為,得罪老闆之後就會有「已經失敗了85%」的不實感受。

那麼,已經得罪老闆之後該怎麼辦?和處理問題的基本「事實三步驟」一樣:


(1) 確立事實



(a) 你的市場價值有多少?

必須要取得客觀的事實,而非自己心裡的感想。每個人都認為自己對組織可以產生很多價值,但事實上可能不然。最簡單的方式就是「試著去面試找工作」。在此m,並非鼓勵以換工作解決問題,而是以「測試自己的市場價值」來決定個人價值。如果在3-4個月內,無法找到比現在工作整體薪資高出10%的工作,那麼其實你現在在組織內部的價值是被高估。


其實不管有沒有得罪老闆,只要你受僱者,不是自己開公司當老闆,就應該要確定自己的市場價值。這是最重要最重要最重要,需要知道的事實。也是最大唯一根據。

(b) 得罪的原因是做了錯事,還是只是個性不合接連產生誤解,還是遇到一個糟糕的老闆?

也很有可能你永遠無法知道原因,不過如果有機會知道會比較好。

(c) 職業生涯的目標

(d) 對老闆的依賴程度

(e)...還有很多其他事實






(2) 建立選項


得罪老闆既然為既定事實,就要考慮「應該怎麼做」的選項。在完全被動情況下,人會有無限的壓力,選擇的權力讓有掌控感(不過太多選項也是壓力,參考 註2)。

無論如何,至少給自己產生3個應變選項,以下是一些選項參考。了解或者建立選項,並非一定要做,而是要給自己「清楚可見」的選擇機會。


(a) 不動作


每人都有機會得罪老闆,你不見得是唯一,也不見得是最重要的。不動作指的是不把它當一回事,繼續做好你該做的工作,繼續學習成長。


(b) 大幅提昇績效


如果你的工作績效清楚可見:要注意的是,清楚可見是指「其他人清楚可見」而非自己認為。那麼得罪老闆也並不是很重要的事情,因為你對組織的貢獻的本身,並不會得罪任何人。大幅提昇績效是可行的選項,不過前提是你「做得到才行」。既然你已經看到這篇文章,大概就隱含著這個選項短時間做不到。


(c) 組織內換部門


很多時候,你只是和老闆個性不合八字不合,在大組織內換個部門並非壞事。


(d) 換工作

換工作和內部轉移不太一樣。你必須把換工作當做「自己的選項」而非被動的選項。並且,不要欺騙自己。

有些人是在沒其他選擇的情況下,自己欺騙自己說「其實是我想換做工作」,這容易去找到一個勉強而不見得是自己喜歡的工作。換工作的選項在於,先確定自我價值,知道自己換工作可能犧牲的成本代價,然後視為眾多選項之一。當最後真的執行換工作選項時,在時間上和心態上就有很大的差距。



(e) 建立新技能範圍


自己開公司也屬於這個範圍。換言之,在維持現有工作績效的情況下,額外花時間開創可能性。

以資訊科技來說,主動舉辦workshop,參與opensource專案都可能是建立新技能範圍。然而,那怕是去取得水匠電工丙級執照也都是建立新技能範圍。(不建議直銷保險之類的工作)


(3) 執行選項


即便「不動作」,也是需要認知與執行。執行上有一些要件。

(a) 速度:除了不動作之外,其他的選項在「已經得罪老闆」的情況下,應該是要越快建立越好

越快能建立選項,表示自己掌握了「時間」。不掌握時間的人,就容易被動的被時間掌握。當你覺得每天忙碌不堪,似乎被事情追著跑的時候,表示你需要先改善自己的時間掌握能力。

(b) 建立回饋方式:任何要執行的事項,必須要有自我檢查的方式確定執行的結果是否和預期一樣。因為執行結果有差異的時候,應該「儘速修正」。

(c) 符合最終目的:當得罪老闆這件事發生的時候,你的目的到底是什麼?

你希望「已經獲得老闆原諒了?」
還是「得罪這個老闆已經沒關係了?」
還是「得罪老闆所產生的後果已經最小化」
還是「....」

執行任何解決方式,必須要符合你本來的目的。這目的當然只有你需要知道,而不需讓那些無法幫你解決任何事情的巫醫當作他的「研究個案」或者「參考範例」使用。



參考文章:換工作的面試-軟體工程師如何展現價值


註1 :節錄原文描述人格特質的「項目」,徵求比較好的翻譯
註2:然而,有許多研究顯示太多選擇也反而造成壓力,請參考這裡

4/20/2017

數據分析 - 獵人頭如何從Github尋找人才?


前陣子遇到某特殊的獵人頭hunter公司(參考:這裡),竟然是透過分析統計在github, gitbucket的程式庫,來找到軟體人才。

目前,github使用者數量仍屬商業機密,但估計約在2千萬左右(參考:這裡)。當然,使用者大部分從事軟體相關的行業。

資訊科技,特別是軟體的實際成果,容易在網路上展示。因此,如果要找到「軟體開發人才」,github是一個很好切入的地方。一般獵人頭可能會人工搜尋,但身為工程師,當然是寫程式找到大量資料。

從github找人,這做法有一些顯而意見的好處:

1. 有可能看到此人實際上寫的程式碼
2. 有可能了解最近此人的工作範圍
3. 很快找到此人的聯絡方式(email)部落格或其他技術相關資訊
4. 有可能找到此人合作對象
5. 有可能看出此人的英文語言能力

當然也有些顯而易見的缺點:

1. 當然找不到那些不在把專案程式擺道github的人
2. 此人可能只是擺放玩樂性質的程式
3. 只能有機會看得出技術能力,非技術能力仍然需要其他佐證
4. 資料範圍過大,很難逐一肉眼看完

雖然我不是獵人頭,但基於工程師的精神,就嘗試一下解決「資料範圍過大,很難逐一肉眼看完」的問題。看是否能透過程式取得並處理gitbub資料,找到潛在挖角對象清單。

實際上做的步驟如下:

1. 了解gitbub資料如何取得:


github提供api可供程式使用。和許多Web Service一樣,也有完整的文件,請參考這裡


2. 以程式取得少量測試資料

github的web api測試起來很簡單。舉例來說,如果你已經登入github,用以下這個URL request就可以找到,以javascript與nodejs為關鍵字的所有程式庫:

https://api.github.com/search/repositories?q=topic:javascript+topic:nodejs

當然,他的回應是json格式,需要簡單地用程式轉換。例如下圖,乃是搜尋和javascript相關,並且其位置在台灣的使用者:



測試資料回傳乃是json,調整格式成為csv,以便於日後在excel做簡單分析。


3. 了解測試資料內容


如果已經有在使用github,那麼對於回傳的資料應該很清楚其內容意義。

如果不太了解github,就需要找對軟體版本控制系統有些認識的人幫助瞭解其含意。

這上述的範例:「搜尋和javascript相關,並且其位置在台灣的使用者」來說,程式會刻意收集following(有多少人在跟隨這個人的更新),follower(這個人跟隨了多少其他人)。此外,程式會額外計算push和javascript相關的程式庫的次數,取名為work,表示和javascript的相關工作在過去一段時間的次數。


4. 撰寫簡單統計程式,大量取得資料


當然,這個程式就放在github上。請參考這裡

程式本身是python撰寫,需要有github帳號密碼才能使用。


5. 結果


以上述範例:「搜尋和javascript相關,並且其位置在台灣的使用者」大量取得資料並且「過濾可取得公開email」的人數一共是661筆。並且取最前面的199筆,給熟識的headhunter (獵人頭) 鑑定看看是否有效果。

目前的回應都是此資料非常有用。