半路出家軟體工程師在矽谷

2017年8月6日 星期日

西雅圖要超越矽谷了?

全世界許多城市都想模仿矽谷、成為矽谷、或是超越矽谷。最近一篇 Seattle’s software job openings outpace Silicon Valley’s 顯示出在 2017 年六月,西雅圖地區的軟體工程師職缺數超越了矽谷(計算方式其實是很簡陋的看職缺標題中有沒有軟體這個詞)。矽谷各大科技公司 Google、 Facebook 都在西雅圖有辦公室,Microsoft 及 Amazon 則是把總部設在西雅圖。 最近 Amazon 的擴張,更是驅動西雅圖科技職缺上升的關鍵。

source: https://en.wikipedia.org/wiki/File:Space_Needle002.jpg
來源:https://en.wikipedia.org

2017年7月1日 星期六

”Lyft总监沈思维谈“硅谷职场”:到底有没有天花板?” 之心得

Source: https://www.eventbrite.com/e/bittigerlyft-tickets-35439444332?aff=ehomecard#

2017年下半年的第一天,我參加了在南灣 BitTiger 辦的活動【BitTiger线下】Lyft总监沈思维谈“硅谷职场”:到底有没有天花板? 如果你不知道沈思维是誰,可以參考他寫的這兩篇文章:职场丨你的老板也是人职场丨硅谷职场,如何更好地“挖人”和“被人挖”?

活動的形式是以主持人Qinyuan Feng 和沈思维的問答來進行。我主要幾個 takeaway 心得有下列幾點:

1. 活動標題“硅谷职场”:到底有没有天花板?他認為職場沒有天花板,但個人有天花板。以群體來說沒有天花板,但是個人來說一定會遇到瓶頸。如果你覺得你沒有遇到瓶頸,可能只是因為你的自省能力不足。就單一個能力而言,個人能力的線性提昇一定遲早會遇到瓶頸、這個時候你應該是想辦法在不同的維度來提昇向上。當你以不同能力的鍛鍊來提昇自我,你的綜合能力會在不同維度以曲線發展向上。

2017年5月21日 星期日

Coding bootcamp 程式語言密集班- 從不會寫程式到3個月被矽谷科技公司雇用的終南捷徑?

目前在矽谷乃至於全美國各個城市都有許多3到6個月的 coding bootcamp 程式語言密集班,主要的訴求就是不需要你之前會寫程式,只要你上完課程,畢業3個月內可以找到矽谷科技公司的初階軟體工程師職缺。

如果你 Google `coding bootcamp` 相信你可以看到一堆各式各樣的程式語言密集班,為什麼這種短期班現在這麼流行呢? 主要是許多主流媒體、機構一直在預測到了2020年,美國大概會有一百萬個科技相關的職缺找不到人,人才的供給跟不上市場的需求,是現在科技公司到全世界搶人才的主因,而腦筋動的快的創業家從2012年開始就打造各式 coding school,專門訓練沒有學過程式的人,藉由科技業普遍較高的薪水吸引一波又一波半路出家的軟體工程師。如果說這波科技榮景是現代版的掏金熱,提供人員給科技公司則像是1849時賣鏟子給挖礦人的交易行為。去年 2016年統計就有一萬八千人左右從美國加拿大各地 91個 coding schools 畢業

這些學校,教的內容也都不太相同,有教各式語言像 Javascript、 Ruby on Rails、Python的,也有教 data science的,更有教 iOS Android app development,以及 UX design、product management,舉凡科技公司有需求的職缺,一定有學校會教來填補供給不足的部份。這些學費大致在1萬到2萬美金之間,有的學校只要你畢業後有面試得到offer 並到是有合作的公司上班,還會退給你一部分學費。而許多人最關心的畢業後就業率則是每間不同,從99%到85%,也有一些學校選擇不公布這個數據。

2017年5月14日 星期日

有感 ”陳瑞聰之矽谷誰在一例一休?" 不知是哪個矽谷?

前幾天台灣的新聞:陳瑞聰:政府大談「亞洲矽谷」 矽谷誰在一例一休? "去矽谷看看,有誰在談一例一休的事情?每個人都拼的要死,早上6點就開始(忙碌),「每個人都在拼命阿!」" 。

看完我覺得很神奇,矽谷這裡大家都很拼命沒錯,我覺得在美國,應該就是矽谷的步調最快、壓力最大,要和全世界人才競爭,大家都很有自覺努力。但就工作時間來說,但除了在像是在 Tesla 工廠需要24小時輪班的工人及工程師要6點換班上班,軟體工程師們的上班時間都很彈性,我之前的矽谷軟體工程師的日常工作內容- What does a day look like for a Silicon Valley software engineer? 提到我之前在SolarCity/Tesla的工時 "每天的工作時間大概是 9 點到 6 點,因為我們 standup meeting 是10 點,所以很多組員快10點才出現,其實沒有人會管我們幾點到公司、在公司工作多久等等。畢竟 coding 在家也是可以做,我的直屬老闆因為在公司太多人要找他了,所以他不時會在家或是躲到某一間會議室專心工作。" 目前我在 Facebook因為要搭shuttle,大概在公司時間也是9點到6點多(晚上回家可能會自願的加點班)。我 Facebook 第一個 mentor 導師有次聽到我早上9點有 meeting,還笑說他們 team 如果要安排早上10點前的會議還要一直和其他成員道歉,因為大家都10點後才會到 XD。

Facebook 共同創辦人Dustin Moskovitz 就有抨擊過矽谷的工作生活平衡失調  Facebook cofounder slams Silicon Valley's misguided work-life balance ,"My intellectual conclusion is that these companies are both destroying the personal lives of their employees and getting nothing in return."。 而 Science Says You Shouldn't Work More Than This Number of Hours a Week 提到各種長時間工作對健康的各種危害 。在這裡,大家有使命把事情做大做好,但是公司的態度都是希望員工合理工作及健康生活,這才是對企業以及對員工雙贏的方式。

2017年5月12日 星期五

矽谷流行指南:矽谷標準配備入門包

你知道現在矽谷流行什麼嘛?日前我看到一張圖: Silicon Valley Starter Pack (矽谷標準配備入門包),還蠻精確的把當下矽谷流行的事物放進去,你猜猜看目前矽谷在流行什麼呢?





2017年5月5日 星期五

軟體工程師無法逃避的宿命:持續學習、大量練習

前幾天在 Hacker News 上有人詢問要如何持續改進:How do you keep improving? 就軟體工程師來說,工作一段時間後會感到事情變得有規律,你累積的經驗及知識足夠完成日常工作所需,就算有新的技術沒有學習,你使用舊有方式也可以完成任務。

但軟體工程是個很特殊的行業,其他眾多行業的人從大學以來累積的知識能力,一般不會過時的太快,工作累積經驗後越來越輕鬆。軟體業則是各種技術百花齊放,從新的語言、新的框架(framework)、新的協定、每一個新事物都有其解決問題的獨到之處,如果你連續幾年都沒有學習、不了解趨勢及可以使用的solution,可能很快你就會被市場淘汰,也很難找到下一份工作。

如果持續終身學習那麼重要,那首先,要如何判斷你有在學習呢?這篇文章 Learning without a mentor: how to become an expert programmer on your own 提到一個很好的判斷方法:如果你在煩惱、困惑,如果你感到笨拙及一切事物都比想像中難,那麼你就有在學習了。 (If you're irritated and a little confused, if you feel clumsy and everything seems harder than it should be: now you're learning.)

有學習是一個開始,那麼你需要學習什麼呢?撰寫 Effective Engineer 的 Edmond Lau有一篇好建議:Master Adjacent Disciplines,文中提到許多人會困惑不知道是要通才般的學習各種技能還是把一項能力學到極度專精對職業生涯發展比較好?他的建議是首先找你有熱情想要學的領域,如果你沒有特別對哪個方向有熱情,他建議學習和你最專精才能相近的技能。像是前端工程師除了網頁端的技術外,可能可以學習一些產品設計、API設計及實踐等等,如果你是infrastructure engineer,相近的技能像是資料庫、基本的網頁開發、或是機器學習。學習相近技能的好處是你可以在工作上可以減少依賴別人,而在更多時候自給自足。

2017年4月29日 星期六

軟體工程師是否過得很淒慘不快樂呢?

你覺得軟體工程師是個怎麼樣的職業?高壓?常常趕 deadline? 工作生活作息和常人相反?受人尊重?得一直學習不然一下就會被淘汰?

瑞典最新一個收集1300個軟體工程師回答的問卷探討軟體工程師是否過的很淒慘不快樂: Are Software Developers Miserable? 結果顯示軟體工程師平均而言"稍微快樂"。這對各公司來說是個好消息,畢竟員工的快樂程度和生產力是有正相關,有個平均而言是快樂的工程師,長期對公司產出應該是比較穩定正向的。


那軟體工程師為什麼有可能會不快樂呢? 從上表可以看出前10個因素讓軟體工程師不開心。因為軟體工程師的工作本質就是要解決問題,而過程中被各種各樣原因影響而困住是最常見及普遍讓人感到不快樂的主因。當然從另一面來說,解出問題帶來的成就感也是軟體工程師快樂的主要來源。

2017年4月28日 星期五

2016 數位廣告營收首次超越傳統電視廣告營收

這兩天科技及廣告界的大新聞: Desktop and Mobile Ad Revenue Surpasses TV for the First Time,從2004年開始記錄美國數位廣告和電視廣告營收的 IAB,指出去年數位廣告營收首次超越傳統電視廣告營收、手機上的廣告收入也首次超越桌面廣告收入、而影音廣告則是成長極快的部分。

數位廣告大部分的營收,大多都被兩家公司賺去了:搜尋引擎龍頭 Google 及社交網路龍頭 Facebook。目前數位廣告的優勢就是更精確的投遞給更可能購買的消費者,當你在 Google 搜尋某項東西,可能就會選擇點擊廣告的結果、而當你在滑 Facebook 動態消息時,更可能看到許多和你 Liked 相關的廣告。

相比之下,電視廣告沒辦法很精確的知道當下螢幕前看到的觀眾是誰,目標不能定義清楚,解決方案就當然只能對更大範圍嘗試,顧客轉化率一定就差多了。

以目前 Google 及 Facebook 廣告的平台,一個廣告我可以選擇目標群眾的地理位置、性別、年齡、興趣等等條件,又可以同時用相似但稍微不同的廣告來A/B test 實驗,實驗投遞廣告一出現有明顯的差異時,可以立刻加碼效果好的並停掉效果差的,最後,我可以在兩家公司平台看到廣告結果圖表數據,這些種種優勢,都是傳統電視廣告難以提供的服務,所以我想2017年數位廣告和傳統電視廣告的營收會更劇烈的拉開差距。

Google 和 Facebook 兩家公司的股價最近都創下新高,其他平台像是 Twitter、Snapchat、Pinterest 都還沒有跡象可以撼動兩個霸主地位。好股票,不買嘛? :)


歡迎留言或來信討論,如有錯誤歡迎指正,如要轉載請註明出處,謝謝。




2017年4月23日 星期日

2017年科技業全球薪水趨勢

Hired.com 是我蠻欣賞的一家公司,它為缺人才的科技公司提供了另類的招募途徑,把傳統的求職過程變成公司來競標各個候選人,候選人填完基本資料及薪水要求條件,就由公司來決定是否聯繫及開始面試流程。因為一開始雙方都有共識最後大致的薪水,也就幫雙方節省不必要的面試時間及精力。

因為 Hired.com 有雙方的資料及最後簽合約的金額,很適合做成一個年度報告。今年是第二年從全世界16個主要科技求才市場分析總結了5000家公司、45000個求職者及總共28萬筆合約內容,做成這份報告

開放、透明一直是驅動科技創新的基石,薪水透明化在最近幾年在矽谷有越來越多人響應。資訊不對稱通常是讓公司對求職著有薪水談判的優勢,這個影片有一個好的介紹:Adam Ruins Everything - Why You Should Tell Coworkers Your Salary


2017年這份報告總結,舊金山矽谷地區的軟體工程師在平均薪水上還是全球之冠,澳洲墨爾本則是美國之外提供最好薪水的城市。但是如果你只是為了拿最高的薪水而決定搬到舊金山矽谷地區,請先考慮舊金山矽谷現在瘋狂的房價物價!

2015年12月30日 星期三

矽谷軟體工程師的日常工作內容- What does a day look like for a Silicon Valley software engineer?


2015 進入最後幾天,在做 2016 新年計畫的也同時回顧反省我的2015年。總結來說,今年是個冒險挑戰的一年,從東岸馬里蘭搬到加州追尋夢想,過程有各種酸甜苦辣,箇中滋味可能真的要親身經歷體會才了解。許多朋友認為我當初決定辭職很冒險,應該要邊上班邊找工作慢慢計畫,但是我知道我不像大學(或更早開始學程式)的朋友有時間慢慢來,半路出家自學的我已經落後很多了,在我評估後決定要做的計畫,我就要破釜沉舟的賭上所有籌碼去完成,當然失敗的話就是花光所有積蓄而什麼都沒達成。

如果你看了我的前幾篇找工作的文章的話,你就知道我的找工作歷程比我一開始想像的更刺激,從以前只能偷偷羨慕矽谷各大科技公司的工作環境及工作內容,到我實際來敲 Google、Facebook、 Apple、 Amazon、Yahoo、PayPal、 Uber、Box、SolarCity... 的門面試,這些知名公司經過精心設計的面試本身就是個讓人享受的過程,藉由和頂尖工程師的面試洗禮讓我更了解我的優勢及劣勢,也更加確認這是我想追求的道路。

最後我加入的 Elon Musk 的公司: SolarCity, 對於有環境科學背景以及重視環境保護的我,能在全美知名且成長快速的太陽能公司做軟體工程師真是對我再好不過的選擇了!

2015年9月30日 星期三

請大家花30秒填個問卷告訴我你有興趣未來看到的文章方向

想請大家花30秒告訴我你未來想看到什麼樣的內容,你目前遇到什麼樣的困難挑戰,你的回覆讓我會盡量優先寫能幫助到大家的主題阿,請點這個連結回覆,謝謝。 https://goo.gl/HfuzPe



2015年9月19日 星期六

被錄取了- 我該注意什麼,我可以談判要求多一點薪水、股票或假期嘛?


這個系列是從軟體工程師美國找工作經驗分享來開始介紹美國矽谷缺人才的情況,以及我半路出家學習電腦科學後的找工作經驗。上篇 "軟體工程師面試準備- 面試要練習什麼? 找工作和練習的時間要如何平衡拿捏?" 告訴你在開始找工作後,你每天行程大概會像怎麼樣,每天找工作及練習要怎麼分配,你的時間要如何平衡?本篇作為找工作系列的最終章,當你過五關斬六將的面試完你的夢想公司後,你也如願收到公司的 offer 了,你可以談判要求多一點薪水、股票或假期嘛?

許多人在經歷了找工作的每個步驟後,在拿到 offer 後常常就迫不及待的簽下合約,深怕不立刻簽可能工作就沒了,但只要你 google "negotiate job offer" 或是" should i negotiate job offer",出來的結果就會告訴你在美國職場 job negotiation 是很正常,且被是為是理所當然的步驟,當你對工作 offer 有任何的不滿意的條款,你都是可以談判要求調整的。

2015年8月31日 星期一

軟體工程師面試準備- 面試要練習什麼? 找工作和練習的時間要如何平衡拿捏?

這個系列是從軟體工程師美國找工作經驗分享來開始介紹美國矽谷缺人才的情況,以及我的找工作經驗。上篇 "主動出擊- 我要找工作了,現在美國都用什麼找工作?哪個網站平台能讓我有較多面試機會?" 告訴如果你已經要積極找工作了,現在美國大家都用什麼網站平台來找,以及各個平台的比較。本篇要介紹,當你已經開始找工作了,你每天行程大概會像怎麼樣,每天找工作及練習要怎麼分配,你的時間要如何平衡?

如果你是全職找工作,你在一開始的階段每天最好能在你喜歡的平台上申請5~10間公司的職缺,如果你的申請的工作職缺差不多,你的履歷應該都不用改,cover letter 則依你申請的公司客製化,可能要花一些時間。當你每天都有新申請至少5間公司,一週下來你已經有超過25間公司可能會聯絡你了。第二週開始,你每天還是需要持續申請新的工作機會,但你應該漸漸要分配出幾個小時來做第一關及第二關電話面試了。我曾經很有野心的一天安排4~5個電話面試,但通常一整天下來,第四第五個面試的表現都不會太好,和前輩朋友們討論後,感覺一天最多3個電話面試可能是比較好的安排。 如果你有 on-site interview,恭喜你!基本上你整天都要分配給 on-site interview,在矽谷的科技公司,短的 on-site  可能是2個半小時,長的到7、8個小時的都有,加上交通時間,為了確保你的優質表現,有 on-site interview 的日子就別新申請工作及安排電話面試了吧!

2015年8月15日 星期六

主動出擊- 我要找工作了,現在美國都用什麼找工作?哪個網站平台能讓我有較多面試機會?


這個系列是從軟體工程師美國找工作經驗分享來開始介紹美國矽谷缺人才的情況,以及我的找工作經驗。上篇 "等待機緣- 我要如何被人資或獵人頭發現? 我要如何脫穎而出? LinkedIn重要嘛?" 告訴你好的 online appearance 可以讓工作主動上門來找你~本篇要介紹,如果你已經要積極找工作了,現在美國大家都用什麼網站平台來找,以及各個平台的比較。

首先,如果你要找工作了,你的履歷、求職信、 LinkedIn 應該要完全沒有任何拼字及文法錯誤。履歷在面對不同類型的公司工作也會需要微調。求職信更是要顯現出你為什麼想要加入對方公司的渴望。 LinkedIn 可以在對方人資不確定要不要聯絡你時,發揮臨門一腳的效果。找工作前如果沒有把這三個必須的資料用到完美的話,就算你花了許多時間申請,但人資或獵人頭看一眼你資料就認為你不專業而不考慮你了。

2015年8月10日 星期一

等待機緣- 我要如何被人資或獵人頭發現? 我要如何脫穎而出? LinkedIn 重要嘛?


我的 LinkedIn 帳號收到Amazon 人資的工作機會及面試邀請

這個系列是從軟體工程師美國找工作經驗分享來開始介紹美國矽谷缺人才的情況,以及我的找工作經驗。上篇簡介美國軟體工程師面試流程描述了美國軟體工程師每一階段的面試流程,相信你已經知道大部分情況你會有1. 人資電話面試,2. 工程師電話技術面試,3. 到公司實地面試。每個公司可能會稍有不同,但是基本上應不會差太多。本篇要探討如何讓你被公司或獵人頭主動發掘,有什麼技巧可以幫助你增加能見度,以及LinkedIn 的效用。

找工作是個很辛苦的工作,許多人戲稱 Looking for a job is a full time job(找工作本身就是個全職工作),如果你可以不用丟履歷及一間一間公司的寫求職信(cover letter)(履歷與求職信會在下篇著墨),直接進到第一關電話面試不是很好嘛?本篇一開始的圖片是我 LinkedIn帳號收到 Amazon 人資的面試邀請,如果你有維護好你的 online appearance(你網路世界的形象),在極度缺軟體工程師的美國,相信你一定常常收到這類公司人資及獵人頭的信。

2015年8月9日 星期日

簡介美國軟體工程師面試流程

這個系列是從軟體工程師美國找工作經驗分享來開始介紹美國矽谷缺人才的情況,以及我的找工作經驗。接續上一篇程式語言- 到底學哪個好?我想進Google,我沒學OOO,他們會接受我XXX語言背景嘛?相信大家都已經知道好好磨練你最強程式語言的重要。接著這篇想分享一般來說美國的面試流程,讓大家知道美國面試的形式來準備。



美國的面試流程一般來說,你準備好你的履歷 (resume) 及求職信 (cover letter) 後,你就可能會用各種管道申請工作(履歷、求職信及找工作會在下篇多做介紹─主動出擊,我要找工作了,現在美國用什麼找工作?哪個平台能讓我有較多面試機會?)我的經驗中軟體工程師的面試流程大致如下:

2015年8月8日 星期六

程式語言- 到底學哪個好?我想進Google,我沒學OOO,他們會接受我XXX語言背景嘛?

需要為了某個職位學習新的程式語言嘛?

上一篇軟體工程師美國找工作經驗分享大致介紹美國矽谷缺人才的情況,以及我以半路出家之姿依然可以得到許多面試經驗來傳達舊金山灣區的科技榮景盛況,本篇作為求職準備篇第一章:程式語言這麼多,如果我已經有經驗(或沒有經驗),我需要學特定語言嘛?

精簡版 (如果以下太長,這段就是精簡的結論)
如果你已經有經驗有慣用的語言,把你最強的語言練到更強,不用刻意新學另一個語言,公司會找會你語言的工程師來給你面試的。如果你還不會寫程式,那你可以選擇學習你理想工作最會用到的語言,如果你想做網頁開發,你可以選擇 Javascript, Ruby, PHP 或Python,如果你想做手機 app 開發,那就是 Java (Android) 或 Swift (iOS) ,沒有特定想法的話,C++和 Java 在許多公司都是一般類(generalist) 軟體工程師會用到的。

軟體工程師美國找工作經驗分享

2015/8/5 結束在 Google 山景城總部的一整天面試
如果你有看到我的上一篇加州冒險新篇章,你應該知道我從東岸搬來加州了,從我開始找工作後,大概有兩個月的時間認真在面試,過程中見識了大大小小各式各樣的公司,稍微累積了一些經驗,我不敢說我已經是專家,這是我學習到的心得技巧想分享給未來想追求類似路徑的朋友們。

首先,並不是我特別厲害,我有許多面試機會主要得歸功於這波科技榮景,矽谷、乃至全美都在缺好的軟體工程師,全美各地都有許多機會,而加州矽谷這孕育了眾多科技獨角獸甚是科技巨頭的地方更是搶人才的一級戰場。尤其是矽谷這裡創業風氣很盛行,天天可能都有幾十幾百個新公司被成立,世界各地人才都想在這裡一展伸手,鼓勵創新、鼓勵失敗的風氣讓每個人都精神抖擻的以各種角度來用軟體服務解決不同的問題,而人才是打造產品最重要的角色,找到好的人才是每個公司最重要的課題。

加州冒險新篇章

source: https://commons.wikimedia.org/wiki/File:Golden_gate_bridge_in_San_Francisco.jpg

距離上一篇部落格已經有超過一年半的時間,一方面工作上常常忙的不可開交,一方面也每天學習充實自我,不知不覺部落格就耽擱下了。在這過程中我有開始寫我的英文版部落格,內容多偏技術取向,歡迎有興趣軟體開發的各位朋友查看~

目前我從美國東岸的馬里蘭州搬到風光明媚的加州矽谷,一切事務都還在熟悉中。從剛來到舊金山上課,到後來在灣區矽谷各個公司面試,認識許多新朋友,太多的故事及體驗衝擊著我。