12/30/2015

大學或研究所玩太久.(三個解決方式)






























有幾次面試新鮮人,發現有些學生自覺得在大學研究所時代"玩得太久",而對於即將投入就業市場有些自覺能力不足。

首先,如果照著學校教育做好該做的事情,就算沒有「玩很多」,老實說能力一樣是不足。想要在還未就業之前,就達到一個好企業的標準是有點難。當然在學時期,有很多事情,對就業有極大的幫助(至少就軟體以及網路產業而言),但是大概都不是台灣學校教授能教的。

這些事情像是:加入open source的開發工作,找暑期工讀,到外包市場接專案等等,都對自己有幫助。

但如果你已經來不及這麼做,就面臨畢業了。那麼除了延畢,隨遇而安看命運安排,拒絕面對事實...之外,其實有三個實質的作法可供參考。

對了,要記得,任何時候都為時不晚 只有覺得太晚的時候才太晚。



三個解決方式:



(1) 解決方法一:快速學習技術能力

想要投入資訊產業,不管擔任什麼角色,擁有技術能力永遠是對的。

找一個喜歡的目標,全面性的學習相關能力。不見得一定要花大錢上課,網路上現有的免費資源一定可以讓你在2-4週之內(最遲不超過4週)學會某種東西到一定程度。不管是Java programming還是HTML5,不管是Big data analysis還是photoshop應用。

如果對於快速學習技術能力有進入障礙,要記得這一定只是進入障礙而已。只要有興趣,願意專注,到目前為止還沒看過學不會的。真正問題在於有沒有專注的付出時間,如果確定資訊科技對你來說是完全沒興趣的,那也好,就此打住,改換跑道為時不晚。


(2) 解決方法二:尋找互蒙其利的機會,藉此重建履歷


很多時候,你需要的只是找到一個可讓你有學習機會的環境,這個環境可以促使你成長。如果不花錢,有什麼機會有這種環境呢?可以去看看upwork.com, guru.com, fiverr.com到上面以賠本的價格接專案來做,就會知道目前市場環境中缺乏什麼。


(3) 解決方法三: 打工與學習


這和解決方法二有什麼不同?打工是泛指先去做你不是很想做的事情,例如contractor。這除了可以讓你舒緩生活費用的問題,增加獨立性,也能獲取一些時間,讓你想一下自己有什麼選擇。

打工與學習,泛指各種範圍。在網路時代,只要知道怎麼找,資訊幾乎很容易取得。例如,如果你是26歲以下的女性,喜歡小孩想要學德文,au pair是一個看似誇張,但是合理的選項,參考這裡




創意沒有極限。不要只接受片面的資訊,即便是這裡也一樣:)




沈思:

1. 經濟學鼻祖書:國富論一開始就是在說明分工的重要。這也是就業市場上,各種職業產生的真正原因。能不能找到自己相對於別人的比較利益優勢?

2. 以長期而論,自己想要什麼很重要。但是短期來說,自己有什麼選擇才是關鍵。

3. 這三個解決方法,看起來都沒什麼創意,但是跟隨波逐流比起來,還有其他方法可選嗎?



12/28/2015

新鮮人如何提昇在組織中的價值:三個方法



請務必先看關於價值的這篇


稍微提醒,價值與績效的不同。

績效著重的是將評量標的量化,所以通常都會有明確的時間點、目標以及數字;而價值則看重在一個連續時間的累積。

比如說餐廳擦桌子 ,績效可能會訂成:在客人離開以後的五分鐘內要把桌子擦好,桌面必須全部擦過,不能有菜屑湯汁;而價值可能是:在客人離開後迅速把桌子擦乾淨,展現本餐廳專業乾淨的形象,並提供下一位客人舒適的用餐體驗。

所以你會發現,這兩個本質上其實是同一件事,只是觀看切入的角度不同;績效跟個人日常工作內容習習相關,而價值則是較與公司的整體特質相關。


(1) 了解組織需要的價值

身為一個新鮮人,通常前輩不會大費周章的跟你解釋組織需要的價值是什麼;而另一個悲傷的現實是:有些前輩自己也搞不懂組織要的價值是什麼?

所以這一部分通常必須要自己有意識的去了解。至於要怎麼能夠了解組織需要的價值?若完全沒有概念,可以參考以下方式

1. 參考資料:有些公司會寫出他們的價值,比如:IBMGoogleMicrosoft,或者公司內部訓練裡會提到,但大部份很可能只是打打高空,只能給一個很粗淺的概念。

2. 角色扮演:想像自己是老闆或是主管,想想要怎麼提升組織整體的價值?比如是處理財務的事務,精準的重要性一定會高於迅速;而若是救火隊或急診室,快速解決問題一定會比完美來得重要。想想客戶為什麼要買公司的產品,它對使用者最大的幫助是什麼?

3. 工作觀察:倘若組織不大,可以從日常工作中觀察下列事項:什麼樣的工作有比較高的優先權?什麼樣的錯事大家會很嚴厲的對待?什麼樣的錯事大家可以一笑置之?想想為什麼?

組織需要的價值是會隨著時間變動的,了解組織需要的價值可以幫助自己更快的進入狀況,甚至做得好的話可以提前走下一步路,而不是每天被績效的項目追著跑。



(2) 發揮長處避開缺點


了解組織所需要的價值,同時你也要了解自己(相關文章)長處與缺點。把自己的長處放在組織要的價值上,就可以達到相輔相成的效果。比如說你是一個很細心有耐心的人,那就可以主動接下財務、編輯、校稿之類的工作;你若擅長收集統整資訊,那麼研究、匯整、之類的工作就比較適合你;若你可以在資訊不夠充足的時候,在短的時間內做出決定,那麼也許可以嘗試第一線的工作。

然而如果反過來,急性子選到財務對帳的工作;要收集完資料整體評估才能下決定的人被要求馬上要下決定,這樣就算工作做完沒出事,工作起來也是很累的。

事先了解自己與工作的屬性,當有適合的工作出現時,主動接下來,還可以塑造出工作積極的加分效果。另外有時身為新鮮人不一定有辦法選擇工作,但知道手上的工作跟自己屬性不合時,就要特別小心,才不會不小心出包。




(3) 專注於產生價值

如上一點所說,你找到一個極能夠發揮自己長處的工作,你也很認真地做好了它,但結果沒有人在意這件事?!

知道組織要的價值所在,才不會走冤枉路。專注在幫組織產生價值的事情上,對組織以及自己才有意義。

回到一開始餐廳擦桌子的例子:假設你是那位服務生,在尖峰時刻忙到都要「搓草」了,眼看有一張桌子前一組客人已經離開過了四分鐘還沒清理,而下一組客人已經站在桌子旁,甚至有人已經等不及入座了,此時你會怎麼做?

1. 直接衝過去在一分鐘內把桌子清理完畢,好符合擦桌子的績效要求。

2. 過去客氣地跟客人道歉,不影響到客人的情況下,儘速把桌子清理完畢以後再請客人入座,可以的話清理的時候還跟客人寒喧兩句。

或是你覺得有更好的作法呢?歡迎跟我們分享





沈思:
了解組織所需要的價值,想辦法提升組織的價值,就等於提升自己在組織中的價值。如此一來,等同讓自己跟組織站在同一陣線上,而不是讓自己在組織中陷入一個你做工、我監督的對立狀態。


12/25/2015

給不寫程式的人:發展手機APP事業的三步驟



有智慧型手機的人,都會使用某些應用程式(APP)。

你一定也有常用的APP,多少也有自己想要的功能。也許你覺得自己有一些創新的APP想法。或許,你覺得現在用的Line總是有些地方很不滿,你覺得只要照你的想法去做,一定會讓使用者更滿意。

但是,也許你完全不會寫程式,或者雖然是資訊科技背景,但是對於手機應用開發缺乏經驗,也或許只是沒時間學... 最後自己總是覺得無法實現想法很可惜。

其實APP和一般的電腦應用程式不同,不會寫程式的人,其實也可以創造自己的APP,加入這個競爭激烈,但卻很有利可圖的市場。

如果規劃得當,是一個能以極少量成本,兼職創業的好方式。更重要的是,如果規劃得當,這是個極低成本的lean start-up,可以讓你多方嘗試可能性,但不用負擔失敗的風險。

不會寫程式,或者沒時間,但仍能發展自己的APP的成功案例是很常見的事情。例如airbnb,uber等。

事實上,有許多創業家一開始就選擇踏入手機市場,就是因為APP是能在極端有限的資源下,實現自己的創新想法的最容易的選項之一。

主要原因可能是:


在技術上:兩大主要智慧型手機陣營:iOS和Android都盡可能APP的開發方式標準化,簡潔化。目的是在於吸引更多開發群眾。而市面上也有太多工具,可以在某種程度上產生APP,例如appopus.com 或 appsgeyser.com 都可以把文件轉變成APP。技術上來說,等同於擁有一個可以個別銷售的電子書APP(註1)。換言之,APP的製作有越來越簡單的傾向。

在環境上:智慧型手機的市場遠比傳統電腦來得大,而進入市場的門檻極端的低。根據實際的經驗:以電子書而言,撇除掉撰寫的成本,僅就上架與行銷可能只要200美金。如果是具有傳遞訊息(類似Line)加上社群功能(類似facebook登入等等),大概只要準備700-1000美金。如果是多媒體播放(類似youtube)則僅需要800-1200美金。而以上的參考數字,都涵蓋完整的完成具有完整前後端功能的APP,上架以及基本行銷。換言之,市場環境,大幅傾向低成本門檻。



在實際經驗中,任何人只要能學習以下三步驟,一定可以開發APP並藉此開創事業。(註2)

三步驟:想法具體化,找到正確的人完成APP,進入市場。



步驟一:將想法具體化

將想法具體化:是指把自己對APP的想法盡量用文字以及圖形表達出來,並且對於APP決定好基本的定義。

表達APP的方式有很多。首先要簡單地寫下自己的想法:例如一個可以互相傳遞即時訊息的APP(類似Line)但如果對方沒即時看到,就改用傳統手機訊息傳出。

接下來,使用網路上免費的畫圖工具,例如invisionapp.com 或者 fluidui.com,將自己的心理的想法具體化。


簡單的通訊APP(類似Line)的設計,練習個幾次,任何人都可以做簡單的設計。


想法具體化不是只有手機流程設計。最起碼還包含兩件事情的具體化:誰是使用者,以及:定義成功。


誰是使用者?

在你的心目中,用有哪些屬性的人會使用這個APP:就是所謂的市場區隔。雖然他可能會改變,但在這個階段,你需要自己具體化一個清楚的使用者描述。例如:「在台灣,25-35歲,單身男性,就業中,未與父母同住,使用Android手機」。

如果你的目標客群很大,例如:「在台灣,使用Android手機」。也並非不可,但是在之後進入市場時,可能不容易看到基本行銷的效果,或者需要極大的努力才能看到行銷的效果。目標客群越清晰,越容易看到行銷的效果。


如何定義成功?

在你的心目中,當APP完成放到市場上,經過3個月,達到哪些事情才算成功?自我具體定義成功,是發展APP的重要基礎。

成功可能是獲利。例如,假設APP是要收費,或者間接收費(例如廣告),上架經過3個月,實際營收達總額達到1000美金就算成功。

但所謂成功,更有可能不是設定為獲利。例如,APP是免費,而且也沒有廣告,但上架經過3個月,希望實際使用者達到1000人。因為很多APP一開始是希望有大量使用人數,等到夠多人使用時,再考慮獲利模式就變得很簡單。(例如Line是免費使用,一開始是沒有廣告)

有創意的定義成功,能夠讓不寫程式的人,更容易看到手機APP的事業的可能性。例如:APP是免費,也沒有廣告,但上架經過3個月,希望所有已經安裝的使用者,解除安裝的比率低於15%,而且每天使用這個APP的比率要超過65%。換言之並不在乎多少人使用,只在乎這些使用者是真心的黏著在這個APP上。


步驟二:找到正確的人完成APP


好像很明顯,你需要找人幫你寫程式。

但是,其實你真正需要的是:找人幫你完整完成開發APP這件事情。

完整開發APP指的是:

(0) 將想法具體化   <- 這一點在步驟一中,一定已經完成。
(1) 先把APP的流程決定好
(2) 根據流程畫出APP的樣子
(3) 加上自己認定的顏色,圖樣,Logo
(4) 根據設計,撰寫程式
(5) 測試程式,確保品質大致沒問題
(6) 將APP上架:放到googleplay或者applestore
(7) 利用各種行銷方式,讓使用者下載,安裝,使用APP。
(8) 每一段時間收集相關資訊,了解此APP是否成功。


(1)-(3) 就是APP的設計,完成APP設計之後產生出APP的mock-up。這件事情可能在步驟一中自己做,也可以找人來做。

一般人都直覺地認為,「找人去做」表示執行(4) (5) 這兩件事情。但其實你真正需要的是(1)-(8)都需要有人執行。

找到正確的人的方式有很多,首先,先確定自己(1)到(8)能做哪些事情。然後,剩下的事情都要「委外開發」。

委外開發的最直覺方法,就是到外包網站上招標。例如:upwork.com ,guru.com, freelancer.com。外包的價格差異很大,而且軟體產生的品質和價格沒有直接關係。關於如何招標尋找正確的廠商,請參考這裡

基本的參考數字:一個類似line的訊息傳遞APP,開發需要120-200美金之間,如果要涵蓋基本的UI/UX設計,另外需要50美金,如果要含品質測試以及上架,另外還需要30美金。也就是整體大約200-300美金可以完成一個還不錯的APP。(這個數字不適用於遊戲APP)

委外開發的其他常見有:找有技術能力的志同道合的好朋友;找學校的相關科系學生專案,等等。不過,這些常見方式,都需要一段時間的磨合,以及一段更長的時間的互相體諒與了解。




步驟三:進入市場



進入市場包含「上架」,「基本行銷」。想要長期留在市場,還得進行「維護」以及「未來計劃」。


上架:

完成APP之後,當然就是要進入市場。進入市場第一步就是將APP上架。如果是Android,自然就前往googleplay,如果是iOS,就去applestore。

「上架」需要一些步驟,對於非資訊科技背景的人來說,可能稍微困難,因此,在步驟二:找到正確的人完成APP的階段,必須要把上架當作工作的一部分。

Googleplay上架請詳閱這裡。Applestore上架請詳閱這裡。強烈建議不要看市面上的書籍,或者參考某些部落格的文章來當作上架教學。因為,這些書籍文章可能都是「過期的資訊」。使用官方文件,作為上架的使用指引,才不會浪費自己的時間。



基本行銷:


不過,上架只是讓市場有機會看到你的APP。這個世界上有近千萬個APP存在,要讓使用者能真的下載使用某APP並不容易。因此所謂進入市場,必須考慮基本行銷。

行銷可以很簡單,也可很複雜。最基本的情況是:你需要盡可能讓很多人知道有這個APP,下載這個APP來使用,如果APP需要付錢才能使用,則還得包含說服使用者鼓起勇氣付錢。

最最最基本行銷的過程是:找到目標客群,針對客群送出訊息,等候以及檢視結果。


找到目標客群:


定義目標客群應該是在第一階段完成的事情。這階段的目的是找到目標客群的「資訊傳遞」方式。最簡單的方式,是透過小型行銷公司,直接把你要找的目標客群的email找出來。只要你的定義夠清楚簡單,可以在前述的外包網站,找到小型行銷公司,以30美金的價格,取得大約500個大約目標客群的email。或者,也可以用15美金的價格,送出1000個目標客群的潛在facebook貼文。如果願意在行銷投入更多的資金,可以用200美金,購買一個月的google ad,讓自己的APP廣告出現在某些google adsense能抵達的範圍。


針對客群送出訊息:

取得email之後,可以利用現有的email行銷軟體。常見的像是mailchimp.com,klaviyo.com或者zoho.com,送出廣告信。信中當然就是這個APP的介紹與連結,還有一些說服別人使用這個APP的方式(例如抽獎活動之類)

email 行銷是很老套,但也由於是老套,所以很容易看到效果:例如多少人有打開email,多少打開email的人真的有下載APP。

如果是facebook行銷,可以花15美金,送出1000個目標客群的潛在facebook自動貼文。也可以花60美金,雇用虛擬助理,以人工的方式,逐一在潛在的facebook粉絲頁或個人頁,貼上獨一無二的訊息。關於虛擬助理,請參考這一系列文章

如果是google adsense行銷,或其他網路廣告方式,預期每個月,可能會花上200美金。

但無論如何,手機APP事業的基本行銷費用,其實並不高。盡量利用前述的免費或者簡單的方式。不會超過200美金就可以達到某個程度的效果。

檢查結果:

等候一段時間,檢查看看APP的成功定義是否有被滿足。

如果你的成功定義已經被滿足。那麼恭喜你:你的APP是千萬中選一的好APP。你的APP事業發展在未來可能輕而易舉。只有極少部份的情況,是可以在一開始就這麼順利。
如果你的成功定義,沒有被滿足。那麼還是得恭喜你:你知道過去的做法一定某處可以被改善。根據手上有的資料,回溯之前的過程,找到可以改善的點,加以修改,然後重新觀察。一半左右的APP是落在這個情況。重點在於,如何根據現有資料修正APP或者修正基本行銷方式。


如果你的成功定義,不但沒有被滿足,而且實在差距太遠。那麼還是得恭喜你:因為你只花自己一些思考時間,以及500美金左右的成本,就證明某個想法在目前不可行。目前你的損失很小,可以再多嘗試其他主意。更重要的是,簡單而低成本的經歷失敗的「失敗經歷」極為難得可貴,是創業成功的不二法門。請參考確保創業成功一文。




參考: 

發展自己的APP事業,看似複雜,其實就是這麼簡單的三步驟。當你了解這些步驟,甚至可以把整件簡單事情,交由專門協助產生POC(Proof of concept)的企業來處理。

而你自己,只要專注在於「出個好主意」就好。




註1:如果你寫了一本電子書,可以在亞馬遜銷售,也可以在其他APP管道銷售。那為什麼需要自己獨立產生單一電子書APP?有很多可能:例如你想單獨獲利,不想讓各類銷售管道分享微薄的利潤;或者這是免費電子書,你想要免費分送,因為裡面可能有置入性行銷的訊息等等。

註2:開創APP事業如同本文所說很簡單,但要確保事業能成功極端困難,請參考這篇




12/22/2015

解決專案困境的三步驟(軟體主管的31堂課)





一個完美被執行的專案幾乎不存在,特別是越是有潛在價值的專案,通常會伴隨一定的風險,因此很難不遇到問題與困難。

有經驗的專案管理者,可以在問題發生之前先行規劃解決,這和專案一開始的結構設定有很大的關係。然而就像扁鵲的父兄的故事一樣,能在問題出現之前防範未然者,讓專案順利執行,這樣的人在台灣的環境,似乎難以被定義其價值,即便有也難以被發現。

總之,有價值的專案,無論如何,難題總是會在某時候出現。

在接案公司中,最常出現的可能是時程,需求過度擴張,等等常見問題。例如:協助政府建立某APP用以查詢政府


透過以下三個務實的步驟,協助解決問題

在這裡假設問題已經發生,必且這個問題不在專案進行的時候的風險規劃之內。

這些步驟乍看之下,可能會讓人覺得簡單到需要特別說明嗎?不過,實務上遇到專案困難時,由於時間的壓力以及人類固有的習慣,能保持平靜看待困難是不太容易的。因此,透過簡單的步驟。

某些人常會對於既定的步驟有些許誤解,認為規劃好的步驟可能會失去彈性,減低創造力。但如果掌握真正的精神,結果會正好相反。



(1) 第一:了解事實



大概不少人會認為這是一句廢話。不過,在遇到真正困難的時候,困難的本身通常會隱藏事實。


舉例來說,看似最常遇到的困難就是資源缺乏。以軟體專案來說,就是沒足夠的人力,或足夠的時間來做事情。

但是,絕大部份的人力不足,其根本原因都不是人力不足。

根本的因素可能是:現有的人沒有執行這方面專案的經驗;負責的專案經理能力不足,無法有效協調人力;現有的人員無心執行任務;規格不明確,而導致執行方向不正確,因而使專案到中後期看似沒有足夠的人力或時間完成...等等,諸如此類,才是真正的事實。

人力不足,沒有時間,只是表象。

專案負責人(可能是專案經理),必須要先找出事實。

一個很簡單的原則:如果有表象是「沒有人手」,「沒有時間」,「規劃的進度常常延誤」,專案負責人幾乎99%可以斷定背後必有其他原因。


了解並且面對事實是務實的第一步驟。缺乏這個步驟,任何其他的解決方法都沒有意義。





(2) 第二:模擬不同的解決方案



通常界定真正的事實之後,解決方式大概就隨即而出。然而,既然是困難的問題,就應該想出一個以上的解決方案,然後模擬可能的後果。

這裡強調提出不同的解決方案,因為既然是困難的問題,表示一定在有限的時間以及資源之內,無法簡單的解決。換言之,任何可能的解決方案都可以會犧牲某些東西。因此「模擬」就有必要性。

最簡單的模擬是拿一枝鉛筆一張紙,描述接下來會做的解決方案跟可能結果的流程圖。

舉一個最常遇到的例子:時間不夠,而時間不夠的主要因素已經界定為專案進行過程,常常有需求的改變,但是專案期限卻沒有改變。

假設,可採用方法有以下幾種:

Plan-A:開始軟性或者硬性延長工作時間。

Plan-B:與專案業主坦承需求改變已經造成專案延誤,用Scrum的方式讓專案繼續推進到期限,但在此之間,專案完成的定義也會被改變。

Plan-C:與專案業主談判,取得延期或者需求限制。

Plan-D:...(還有其他很多)

這些解決方式也許彼此是有相關的,例如B與C,其實都需要和專案擁有者(就是出資的人)協商。


模擬Plan-A:

拿出紙筆,寫下所有已知的資訊或事實:

* 目前為止團隊每週的產出
* 目前為止需求的改變數量,和造成的延誤時間,假設延誤10天
* 規劃需要加班時間總數:假設延誤10工作天,目前到期限仍有4週,等於是每週需要額外20小時工作
* 加班之後可能能夠多做的哪些功能
* 加班的總長度,這個例子是連續4週
* 過去加班的耗損率:每週超過10小時的額外工作時間,會讓人請病假的機率
* 長時間加班之後人才的保留率:每週超過10小時的額外工時
* 加班的這段時間,還是會有需求改變。
* ...等等...

將這些已知資訊,不過心裡知道與否,還是盡可能寫在一張紙上,在腦中想像這些資訊「拼湊」起來之後,對於目前專案,有沒有可能使用這個方法解決,而這個方式,其副作用是不是過大。


模擬Plan-C:


拿出紙筆,寫下所有已知的資訊或事實:
目前為止團隊每週的產出
* 目前為止需求的改變數量,和造成的延誤時間,假設延誤10天
* 專案業主對專案的瞭解程度
* 專案期限往後延,對於業主的損失
* 專案業主的協調能力
* ...等等...

將這些已知資訊,不過心裡知道與否,還是盡可能寫在一張紙上,在腦中想像這些資訊「拼湊」起來之後,模擬與業主溝通時的可能對話,以及可能產生的結果。


選擇:

將模擬的過程,用心智圖(Mindmap)或其他圖形化方式,寫在同一張紙上。這麼做是為了盡可能排除個人主觀意見,將自己的思緒,用鳥瞰的方式呈現給自己。

模擬數個方案之後,最重要的是選擇一個自己認為相對最佳的方案。


(3) 第三:執行解決方案


如果前兩個步驟,已經竭盡所能。那麼,第三個步驟就變得很簡單:根據第二的步驟模擬之後的決定,執行解決方案。

然而,既然是困境,就不應該預期解決方案一切順利。如何克服困難去執行,就看專案經理的智慧與能力。

執行解決方式同樣有很多需要注意的地方。不過內容絕大部份取決於每個不同專案的特定現況,因此不會有放諸四海通用的銀色子彈。

但是,由於專案困境常有相似性,因此尋求有經驗的朋友或顧問的建議,倒是一個永遠不會吃虧的選項。






沈思:為什麼有價值的專案總是會遇到困難?
參考->解決軟體專案困境的最爛方式


12/15/2015

資訊科技學生畢業後只想當SA/PM (三個創意作法)



很多畢業生,資訊相關系所,擺明就不想要寫程式,但是卻又想要加入資訊科技產業。老實說如果是做行銷(Marketing) ,業務(Sales),或者支援類型工作(admin, finance)倒是也無不可。

只是很多資訊科技學生,似乎想要當SA(系統分析師)或者PM(專案經理),也許只是覺得名字好聽,或者認為:既然是資管學生應該做點管理工作也不為過。

這種想法其實很危險,也不可靠。

系統分析師(SA, System Analyst)扮演的角色在各公司都很不同,有些很像是業務助理,有些是專案經理的小跟班,有些是扮演IT對外採購的角色,不一而足,單看是去哪個公司。

而專案經理(PM, Project Manager)情況可能稍微好一點,顧名思義就是:負責某一個或者一些專案的進行。20年前PMP證照流行的時候,專案管理本身被視為一門複雜的學問,當然在軟體或者新創網路科技產業,PMP那套不太可行,Agile/Scrum/XP 等等方法論興起,讓PM多少都不太可能單純只做管理。

不管如何,缺乏實務經驗(指的是起碼3-4年努力寫程式的經驗)就去做SA/PM等同於是碰運氣,就算花大錢去取得PMP證照以及其他相關證照,也沒什麼用。這就像是從來沒打過籃球的人,想要當NBA籃球教練一樣幾乎不可能。

雖然很不贊成這樣的事情,但與其碰運氣,不如提供實務作法






(1) 創意一:讓自己真實變成SA/PM (要花一點錢)。


在學校的專案課程中,讓自己變成PM然後讓某同學變成主Co*(註一) 是絕對沒有用的。任何有經驗的主管,一定看得出來你只是負責動動嘴巴,補補文件。

你可能需要付出一些代價,例如100美金,然後想一個app的好主意,到outsourcing網站,像是upwork.com,雇用一些印度,巴基斯坦工程師,實際上幫你寫程式,這時候你100%是PM,你控制了整個專案的進行,負責製作需求與控制工程師進度。更好的是,這還是個跨國專案。

不過,實際上這樣做出來的東西,失敗率很高,特別是假如這次你第一次當PM - 這裏的PM同時兼具Project和Product。因此,對此創意方式要有正確的期待,也就是說事情的成敗並不是重點,而是在此過程經歷了什麼。這非常接近NBA例行賽開打之前的練習賽,練習賽獲勝固然可喜,但比勝利更重要的是團隊的磨合以及戰術的演練執行。

註一: 主co = 負責主要coding。這個名詞是最近幾年面試學到的,意思差不多就是這個專案課程,程式都是我寫,事情都是我做,其他人出嘴巴。




(2) 創意二:組織同學來做專案


等一下,前一段不是說在學校專案當PM然後某同學來主co是絕對沒用的嗎?為何這裡又說要組織同學來做某專案?

不一樣是,組織同學來進行非課堂的任務,遠比修課需要的專案來得困難,但是更實際。

第一種可能是,到市場上接專案本身到不是問題,因為一開始取得專案的目的,並不是獲得高額利潤,因此價格競爭是有可能的,畢竟你的目的是要取得成為SA/PM的事實,並不是真的要從專案獲利。

然而,業主可能也知道,這種情況下的專案可能不見得做的很好,因此價格競爭有時候也沒太大用處。

第二種可能是,自己找事情來進行。十幾年前BBS風起雲湧的時候,大部份架設BBS的人,都並非學校課程,也不是因為賺錢獲利,只是覺得好玩有趣。架設BBS讓當時的學生取得寶貴的UNIX(FreeBSD等)的營運經驗。如果想當PM,也可以自己找事情,組織同學來進行。不過通常這種情況需要是以技術強度來領導,因此遠比接專案困難。


(3) 創意三:尋求業界導師


由於linkedin和其他社交工具的發展,很容易可以找到業界資深的學長學姊。只要是在他們時間允許的範圍,很容易可以請求協助。當然,每個人的時間有限,所以最好的方式是,互相幫忙,互蒙其利。當你在與不太熟悉的人聯繫上之後,可以用交換的方式,讓他們指導你,並且為你的成就背書。

舉例來說:你可以作為業界導師的私人虛擬助理*(註二)一段時間,幫他處理非機密的相關業務,例如,調查研究競爭對手產品,處理文件,處理linkedin或者其他socail media的日常文章,業務聯繫等等。而作為交換的是:他可以指導你實務專案上"他實際上做了什麼"。數個月後,你甚至還可以取得業界導師的背書以及推薦。

另一個做法是尋求成為學徒的機會。學徒制度是一個非常古老的學習方式,在某些情況下,學徒制度非常有用。如果你是一個剛進學校的研究生,尋找指導老師是最重要的一件事。而如果你是一個畢了業就想要當SA/PM的人,找到正確的業界導師,會讓你事半功倍。

我們會在未來的文章探索學徒制與軟體專案發展的關係。





* (註二):關於虛擬助理,請查Virtual Assistant



沈思 

如果本文對你沒幫助,還請與我們聯繫取得免費協助

1.  再次強調,在沒有技術背景的情況下,最好是別真的想做SA/PM

2.  如果真的想做,那麼務必考慮這三種方式。

3.  當你想要什麼,執行的方式如果是「碰運氣」或者「期望別人給」永遠都是最糟糕的選項,想要什麼最好是先構思自己要怎麼取得。





12/14/2015

資訊系所學生就業 (三件值得注意的小事)


除了少部分往學術界持續邁進的人之外,畢業生遲早要就業。

但就過去數年面試新鮮人的情況來說,大部分的學生並沒有對就業有所準備。這似乎是理所當然,本來就不可能有充分準備,不然就不叫新鮮人。

而業界常常把問題放在學校並沒有充分"教育"學生該有的知識與技能,使得學界與軟體業界脫節。

這似乎也不是台灣單獨的問題,早在數年前有人在美國抱怨此事。而且類似的抱怨一直都沒停過,例如這裡。新鮮人面臨的困難,很多也都是像這些文章中一樣,是認知上的問題,例如:絕大部份的人,可能一開始只是會被要求做個小螺絲釘的工作。這和他幻想中,技術高超的程式設計師經過不眠不休的努力,就可以達成驚人的成就,然後改變這個世界有很大的不同。這裡有相關的認知現實描述。

因此一開始得先適應周圍環境,而大部份的學生畢業的時候(不管是哪個學校畢業)都須要先認知自己知識(或者常識)不足以適應環境。越有這種認知,適應的可能越快。

所以,以下是快要畢業,打算就業前,或者選擇公司的時候,建議學生先做好準備。

(1) 暫時不要看BBS,新聞,facebook一段時間。


PTT大概是台灣獨有的特殊環境,它很有趣,有時候資訊很快速。可是很遺憾的是隨著資訊量越來越多,他的正確性越來越差。如果你不是極端理性,意志堅定,很容易受到不良資訊的影響。如果可以的話,至少為期一個月。至於台製新聞跟facebook就更不用說了。


(2) 確實知道自己在搜尋什麼(當你打算google一下?)。


剛加入的新鮮人,特別是畢業於2008年之後的,在遇到困難的時候,一定習慣google。而google也很少讓人失望,通常都能找到某種答案。

但要注意的是,答案也許正確,但是資訊過於片面。日子一久,就很難獲得全面的視野。例如,查詢"android AsyncTask",如果你想要看中文資料,前幾個結果都會是某些人的blog,當然不是說這些人寫的一定不對,而是blog(特別是中文)常常是片面資訊,就算他好心貼上正確參考資料,可能也不會有人耐心查詢。對於中文閱讀者來說,最好是google之後自己找看看哪一個才是官方正確資訊。歹事,目前沒有中文的官方資料,api最好的參考是-> http://developer.android.com/intl/zh-tw/reference/android/os/AsyncTask.html

(3) 謹慎選擇工作 但更要謹慎選擇主管。


在台灣能夠選擇的工作實在太多,台灣優良的企業也很多。第一份工作,當你有難以決定的情況時,請謹慎擇一個好主管。

面試的時候,不只是面試者選擇你,而且你也必須要選擇面試者。當然如果面試你的人,不是你的主管,那這個公司等於是跟公家機關沒啥兩樣,不如乾脆去考公務員。


如何在面試的時候知道是不是好主管?

一個好主管能夠清楚地知道自己負責組織的真實情況,而夠培育員工,能夠掌握現實,並且能夠處理困難
。因此由詢問以下問題來判斷這個主管是不是個好主管:

  (a) 請主管描述自己未來1-3個月工作內容。


     如果講的比較含糊,可以單刀直入的問清楚。如果發現永遠都問不清楚,很有可能你進來這個公司的時候,發現這個主管無法控制組織前進的方向,做的工作和面試談的完全不同。要注意的是,工作的確一定要有彈性,以及隨時應變市場變化,但是市場的變化,不會讓一個新鮮人無法確定未來1-3個月的工作。而如果要靠一個到職不滿新鮮人來"負責"各類型的變化,那這個公司風險也太大了。

  (b) 請主管說明,上一次有新鮮人進來的時候,他是如何培育新人。

     同樣也是要清楚了解,是單純指派資深員工指導,還是有培育時程規劃,如果有規劃,可否讓你看一下,參考一下。當然也有可能上一次有新鮮人來的時候是10年前的往事,那就要考慮這個組織的老化性。

  (c) 請主管說明,當你來加入團隊的時候,他最有可能擔心哪件事情你做不好。


     這是要清楚了解,主管經過面試,對你有沒有清楚的認知,如果認知差距過大,那可能大有問題。舉例來說,如果你非常精熟java,但是並不熟悉Linux上的開發環境,在一個完全Linux的開發環境的團隊裡,如果主管認為你學習linux一定沒有困難,可以三天搞定,要不就是他不認清現實,要不就是你在面試中已經證明自己是天才。




沉思:


* 網路上的資訊很多,事實上無用的瑣碎的資訊,遠比切實的資訊來的多太多!短時間切斷資訊聯繫,對整理思緒有幫助嗎?






12/12/2015

工作太忙沒時間?改善的務實三步驟


圖片來源為Hakan Forss的部落格,要引用此圖需要連同其網址一起引用:http://hakanforss.wordpress.com


在資本主義社會下,有效率的工作是基本條件,但是在資訊科技的發展中,有效率的工作逐漸顯示人的本身才是無效率的源頭。這並不代表資訊科技的進步與有效性,這只是代表人扮演的不可取代價值。

人的價值在工作上會順帶產生工作的壓力,因為所有的企業都會要求成長,不只是企業的成長,還有個人的成長。

不過,無論如何,在你還沒有丟出辭呈,自己開創事業之前,最好的選擇永遠都是強化自己的能力,改善現況,為組織產生更多價值。

對於很忙碌的人而言,要改善現況最常的反應是:「每天都那麼忙,哪有時間做這個」「哎唷,講都麻很簡單,你又不是做我的工作」「我常跟老闆提啊,可是他都沒這麼做」。

這些理由都和明明知道運動有絕大的好處,但是卻會找理由無法持續運動的人一樣。其實只是心理不想去做,或者恐懼未知,或者不真心認為這很重要,因此都能事後找到很多藉口。

很多理由並非是藉口,「事情太忙沒有時間」可能是真的。但是,這可能是最容易,而且是最需要先解決的一件事情。

只要你不是以下職業類別:核電廠工程師,急診室醫護人員,駐守太空站人員,戰地記者,美國總統...。都可以透過以下三個務實的方式,改善「事情太忙沒有時間」。

這三個步驟,極其簡單,只要願意做,幾乎沒有做不到的可能。這三個步驟,沒有引用任何了不起的學問,也不具備任何學理基礎,它就是簡單到值得讓有心改善的人一試。
執行這三步驟的成本極端的低,但效果卻非常驚人。更重要的是,產生「有空時間」是充實並精進自己能力的最基本的一步。

三步驟為:記錄,分析,去除。

步驟一:紀錄


拿一本筆記本,或者excel檔案,或者googledoc,如果是手機app的狂熱者可以考慮使用Toggl。每天花5分鐘紀錄所有的工作花的時間,工作內容,工作價值區分,工作分類。如果可以的話,順便連生活的事物也一起記錄(例如通勤,睡覺等等)。

這個紀錄是給自己看的,所以不需要欺騙自己。

工作內容:當然就簡單記錄做什麼事情,軟體工程師大概就是寫程式,開會,處理email,與他人討論規格等等。

工作分類:根據組織本身的情況,因任務而給的分類,例如為了某A專案寫的程式,為了某B專案而開會,為了交接某C舊的軟體產品而開會等等。

工作價值區分:根據自己的想法,以重要不重要,緊急不緊急,將工作分成四個象限:重要而且緊急,重要而且不緊急,不重要而且緊急,不重要而且不緊急。

所花時間:可以是小時為單位,也可以是10分鐘為單位。但是,必須要是連續。換言之,不太可能有連續24小時的寫程式時間。因此最簡單的方式是有開始和結束時間。


再次強調紀錄必須簡單確實,紀錄本身不能太時間,不需要很精確。紀錄只會給自己看,千萬不要欺騙自己。

另外,這一步驟通常1個月就可以進行第二步驟。如果第二步驟的分析過程,讓你覺得有問題,那你需要額外的3個月的紀錄。換言之最多4個月的紀錄就足夠進行分析。



步驟二:分析


分析的本身是不難,把所有紀錄用excel加總分析,數字必須要是有總量和百分比。

第一要分析的是:工作價值區分。這些工作所佔的百分比,例如:

「不緊急而且不重要」: 50%
「不緊急而且重要」    : 15%
「緊急而且不重要」    : 20%
「緊急而且重要」        : 15%


在分析階段,最重要的是了解事實。而非改善事實。如果「不緊急而且不重要」+「緊急而且不重要」的時間比率,也就是所有不重要的工作比例,加起來低於60%,很有可能你沒有正確認知任務,或者是對自己說謊,或者是記錄的時間不夠長。因為這樣的事實是有違統計常理(參考資料)。

一旦了解事實,就可以往第三步邁進。不過分析的時候,可以順便注意一些事情:

(1)「緊急而且不重要」+「緊急而且重要」,也就是所有緊急工作的比例,加起來超過60%。表示幾種可能,一種可能是:你是長時間被工作逼著跑的人,你的任務幾乎都很緊急:老實說這個機率很低。另一種:你是自己認為工作會逼著你跑,你的任務幾乎都很緊急:這個機率比較高。

如果是"是長時間被工作逼著跑的人",使用流程,半自動化,轉移專注的方式是之後要考慮的重點。不過誠如前段所述,這種情況除了特殊職業之外,其實極端的少,大部份是屬於下一段的情況。

如果是"是自己認為工作會逼著你跑的人",先在記錄和分析上,重新正確分類事情才是能繼續往第三步驟前進。如果你真的認為所有事情都很重要,都很緊急,在心態上無法設定優先順序以及分類,那不管怎麼做都沒有人能幫得了你,本文的後段也不用再看了。

(2) 了解「緊急而且重要」「不緊急而且重要」的工作所含的工作分類。

也就是說,你能要試圖列出所有重要工作裡面,哪些緊急,哪些不緊急。而這些工作分類,這個階段,探討出:如何將緊急而且重要的工作的緊急因素去除。

(3) 「不緊急而且不重要」的工作分類。每個人多少都會去做這類事情。然而,如果你認為的工作的本身,幾乎統統屬於「不緊急而且不重要」的象限,那麼你可能對工作本身有很大的認知差距。

舉例來說,你可能是負責舊軟體產品的支援工程師,舊產品可能用戶少,營收少,也沒有未來的可能性,你直覺就會認為幾乎所有事情都不緊急而且不重要。首先,假如真是如此,那組織應該乾脆就會將舊產品汰除。舊產品仍然存在必有原因,可能是維持與舊客戶的關係,確保這些舊客戶滿意度,並且讓舊的客戶有機會試用新產品。因此,任何讓舊客戶滿意的事項,應該都屬於重要的範圍。



步驟三:去除


李小龍有很多名言,以下是其中最重要的一個:

One does not accumulate but eliminate. It is not daily increase but daily decrease. The height of cultivation always run to simplicity.

當已經知道事情的分類,意義,加總之後,並不是要著手去修改事務,而是先「去除」。

去除的本身最為困難,需要勇氣,知識,技術,經驗。

從最簡單的方向開始去除最容易。但在開始之前,一定要先確認"步驟二:分析"的結果是大致正確。

(1) 不做「不緊急而且不重要」的類型工作:不做這類型的工作,一旦發現這類型的事情出現:直接不做,不用多做考慮。不需要解釋,也不用感到慌張。

(2) 將「緊急而不重要」類型的工作,先行移轉,半自動化,或者流程化。「緊急」和「不重要」這兩者是某種程度的自相矛盾。但通常矛盾的產生在於,「緊急」先出現,可是你無法馬上判斷重不重要,直到完成任務之後,事後才知道重不重要。

這時候原有的記錄和分析就派上很大的用途。例如你是程式設計師,你的老闆常常打斷你的思慮,跑來問一些產品功能上的問題,說要給業務人員馬上回應。如果整個團隊都是這個情況,就會落入大家困於緊急但不重要的情況。移轉:指的是將這類的情況移轉到其他地方:或許是專門一個處理,或者外包給工讀生,或者是透過清楚地固定訓練,讓業務人員自己了解情況。

(3)將「緊急而重要」類型的工作,設定篩選。半自動化,或者流程化能簡單的重分類問題。例如急診室,所有進來急診室的人當然都是緊急且重要,但是,急診仍需篩選,護士會以最標準的流程,很快的評估進來的病人的緊急程度。讓真正緊急的事情能最快速處理。在軟體研發工程師,如果是在產品研發階段,幾乎不太可能遇到緊急而重要,有的話十之八九應該是天災人禍。因而,只要注意這類型的工作的區分正確與否即可。

(4)將處理「不緊急而且重要」的時間與價值提升。這點相當重要,不過並不是本文要討論的範圍。在此我們專注於”去除“

經過去除的過程,你會多出起碼少則20%,多則60%的空閒時間。


再次強調一下,這三步驟不是什麼秘密,也不需要用到高深的技巧,你僅需要對你的工作加以了解,並且執行正確即可。

人生唯一公平的地方只有時間,每個人每天都有24小時。有額外的時間,就能思索自己的未來,不會淪於找不到方向。

參考:如何提昇工作效率 





沈思:
轉移,流程化,半自動化似乎很重要?

12/03/2015

如何充實自己:三個自我學習的快速方法



資訊科技進展不只迅速,它順帶擴大自我學習的可能性。大部份的人只要能夠上網,就可以取得各種即時的訊息與知識。換言之,很多人都認為,資訊科技領域沒有什麼東西是學不會。

但是,沒有人一開始什麼都會。即便資訊工具改善過去知識的取得的不平等,但是自己要有意願和方式去學,這件事是沒辦法由技術來改善。


而為了充實自己而學習是沒有最好的方式。然而,多參考別人的方式,建立對自己最適合的方式是簡單並且直覺的選擇。

學習的目標,以及打算達到的廣度深度各有不同。如果只是很淺的了解個大概,只要用google搜尋,看看wiki大概就可以了。不過這樣的學習非常的片段,並且沒有組織。如果想要建立足夠的深度,這樣的方式獲取的知識過於片段,難以累積。(參考->片段知識的危害)


提供三種務實的方式,這三種方式的目標,廣度,深度,所需要的時間各有不同:


(1) 方式一:圖書館堆書



做法很簡單。只要你有想要充實並且學習的主題。無論是組織行為,還是憂鬱症;無論是個人領導力,還是專案管理。只要是社會科學,企管相關,科普等目標都蠻適合。

在這裏,假設你想要學習並盡可能瞭解"精實創業"。

首先帶著筆和紙,最好先不要帶手機或電腦,去附近的大學圖書館,或者比較大型的圖書館,例如新北市書館,台北市圖書館。

在圖書館的公用電腦,查詢"精實創業"以及相關字詞"創業"/"精實",記下列出來的書本期刊,當然最好連同英文書也查一下。列出這類型的書籍在哪一樓哪一櫃,直接到書櫃上把所有相關書籍全部搬到座位上堆成一堆。通常相關書籍都會集中在同一櫃,所以搬動起來應該很方便。

接下來,拿起筆和紙,打開第一本書。抄下書名,作者,出版日。簡單瀏覽一下目錄以及推薦簡介,看完目錄之後,把你認為重要章節名稱,手抄在那張紙中。再打開第二本書,重複剛才的動作。如果有20本書,大概只需要花一小時就有完整清單。

然後,仔細看一下清單,排列組合並且思考一下,哪三本書,所可能涵蓋的範圍最廣,時間最新。快速地將這三本書的目錄再度瀏覽一次,選一本先看完。然後休息一下再看另外兩本。這樣大概需要花兩小時,就可以對這"精實創業"有足夠的粗淺了解。

最後,記得先休息一下。休息完之後,在腦中思考這三個小時裡面學到什麼。憑藉這三小時的記憶,在腦中描繪「精實創業」的概念與自己認為重要,或者奇怪,或者有疑惑,或者有爭議,或者和其他領域連接的地方:這些地方稱為轉折點。回到那張有目錄的紙上,找出某些書上有解釋你認為重要的轉折點,閱讀並且理解這些轉折點。如果有20本書,起碼可以找到3本以上有這類型的地方。最後這個階段,能夠建立從別人身上了解的知識批判性,不過也最花時間,可能起碼要3小時以上。

因此,花上六小時,你就可以曾原本不了解精實創業,變得比大部份的人都了解,肯定比只在google搜尋,看看wiki的人瞭解更多。不過,請注意這只是充實知識了解而已,真正的精實創業就像打籃球一樣,是沒辦法光用看的方式是不可能實踐。

這個方式,我本來以為是自創的,但是後來發現有很多人都用類似的方式,只是做法各略不同。果然太陽底下真沒有新鮮事。

關於大量閱讀,可以參考這篇:大量閱讀的三個步驟

(2) 方式二:心智圖表徵


在已經有某些知識的背景上,試圖瞭解新的方向,或者找到自己缺乏的方向上,mindmap (心智圖)還蠻適合。他也很適合探索自己未知的事情,或者強化個人思慮的周密性。

在這裏,假設你想要學習並盡可能瞭解"軟體專案管理"。並且也認為自己想要擴張這方面的相關知識。


首先,拿一張紙(最好比A4大)一支筆,把主題寫在中間。將心裡認為可能的最重要項目連結起來。例如下圖:



把自己沒有經驗的,缺乏的地方做一些記號。通常我會使用問號?。接下來專心的根據自己缺乏的地方,尋找相關資料。重點在於,有組織的擴張知識,比片段搜尋來得有意義。

順帶一提,心智圖用法很多,"充實自己"只是其中一種。心智圖 (mindmap)不是什麼新科技,而且每隔一段時間就會有各式介紹文章,例如這裡,以及這裡。雖然介紹的範例與文章很多,但實務上,心智圖還是完全依賴人的過往經驗和創意連結。 


(3) 方法三:教學相長


這特別適用於資訊科技類型,例如程式語言,系統平台,或者任何技術。基本上,會先用其他方式(上網看書,練習實作等等)累積自認為足夠的知識與能力。接下來,想快速增加深度。或者充實自己想像不到的方向。教學相長是一個好方式。

就近找朋友或者同事,用你認為最精闢的方式,把技術和務實做法分享出去。光是在準備「教材」的過程中,就可以知道自己哪些觀念或者哪些方面不足,從準備教材的過程,就已經開始自我充實。

而最重要的是,取得聽眾的意見和問題。因為,他們可能會問出你想像不到的問題,讓你看到想像不到的視野。

實務上有幾個主動教學方式可以參考:



* 在大組織裡的主動分享

如果你是一個大企業裡面的員工,就自願性的訂一個會議室,訂一個主題,邀請一些相關的人來聽你分享某個技術。這樣的行為很簡單,而主管通常也很鼓勵主動進行。如果信心不足,可以訂一個極簡短的主題,這可以確保想來聽的人不會覺得浪費時間,也可以讓你精深的準備一個項目,提升自己的信心。



* 參加研討會:

參加研討會,並且把自己的知識在研討會上分享比想像中的容易很多。當然如果你要參加的研討會是類似IEEE的學術性質研討會,那你得花時間寫論文,而且不見得會被取用。不過,一開始先找lightning talk就很簡單,雖然只有幾分鐘,但是可以很快地獲取聽眾的真實回饋。



* blog/youtube教學影片:

近年來的分享知識方式。它無法立刻獲得聽眾回饋,但重點在於製作影片,或者撰寫blog文章之後,自己在試著重新閱覽一次,通常就可以找到許多漏掉的細節,或者過於瑣碎無用的地方,或者找到和其他人不同的觀點。

* 找到具體達成的目標:

例如:考取「低成本」證照,以Scrum為例可以參考這篇





其他相關文章:
   * 如何在工作中成長
   * 換工作的面試-軟體工程師如何展現價值
   * 自我學習的三個參考方向
    * Team Leader提升能力的三個方向
  * 如何提高工作效率
* 大量閱讀的三個步驟