Posts

2024新年大禮包

  2024/01/10 公司發了一個新年大禮包給我:我被裁員了。第一次被裁員,藉此記錄一下。 公司氛圍 自2023公司大規模裁員以來,公司內部不斷以各種名義精簡人事。表面上說是小組合併,實際上就是用各種軟性的方式讓你走。比如說我在的組就歷經了 大大老闆層級以上的異動:大範圍的組織改造、編排。 大老闆和大大老闆之間安插了一個”新的老闆“管大老闆,最後原本的大老闆自己走人,”新的老闆“也跑掉,所以結果就是我的老闆變大大老闆的direct report。”新的老闆“在位期間共歷時三個月。 小組整併:原本屬於大老闆下有X個組,在”新的老闆“來之後,認為有些組不必要而將它們移到別的組織下或是刪減。這期間組員可以尋求內轉機會,如果找不到人收留,就形同離職。在此之間我的老闆底下管的人也從8人成長至10人。 在前兩波異動之中,為了穩定軍心,我的老闆M不斷跟組員強調我們組的重要性,而實際上在第一波大裁員之後我們組也持續在找人,我們組做的東西也和上面講的大方向吻合,因此他講的理由我還算買單。雖說如此,總是有些訊號讓人不安。比如說大大老闆下的幹部們走了好幾個(主動內轉)、在這一季成功的升等的老屁股離開、我們組總是要不到產品經理而造成工程師得做一些不是工程師份內的事。2023可說是在不安及忙亂之中度過,尤其老闆一再強調在這兵荒馬亂的時代,各種事情都有可能發生,唯一能做的就是努力把事情做好,盡可能減少自己的風險。如果真的不幸被裁,也不要太往心裡去,他自己三十年的職涯裡就被裁了好幾次,一切在商言商,這就是矽谷的日常。鑑於此,我從去年初就已做好最壞可能性發生的心理準備。 裁員當下 從12/23/2023回台灣開始,搭著美國年末聖誕節新年的連續假期加上自己的特休,放了久違的一段長假。放假中雖然都在忙著準備結婚的事,但也見上了許多好久不見得好友,身體很累,心裡很滿足。1/10是我休假的最後一天,起床後第一個念頭是煩躁1/11凌晨要起床配合加州時間開會。慵懶的出門到附近的早餐店吃了麥香雞漢堡+豆漿,吃完後不想回家又閒晃了一下並順路買了個蛋餅。到家後跑到妹妹新整理好的工作室跟她廝混,她在開會,我坐在懶人沙發上邊吃蛋餅邊滑手機耍廢,她開完會之後我們還在討論過年全家要來美國玩的行程。這時我慣性的點開臉書messenger,發現一個之前加入的台灣人群組正在討論google 裁員的事,當下也沒有想太多,畢竟這

還好我退了

早上運動完在洗澡的時候下意識的看了手錶,8/22,口試完到現在竟然也過了一個月。 下午開了久違的學校信箱,快速掃了所有信,發現一封:We regret to inform....  啊,是之前投的一篇,還以為下星期才會知道結果,沒想到是前幾天。 就算畢業前的一切對我如浮雲,但這種被否定的情緒仍然十分強烈。嘴上說不在意publication,但內心仍希望自己的努力能有一點回報。原本還糾結要不要把之前完成的一篇在畢業後找個時間丟出去。但在得知這個消息後,反而可以讓我水氣的把這個想法拋到九霄雲外。Fuck it 『還好我退了 』

北美 Google general SWE 面試分享

前言: 分享在博班畢業前夕同時準備畢業和面試的過程,貢獻一個data point供大家參考。如果有問題,歡迎來信詢問,如果能回答的小弟會盡量回答。在疫情期間獲得這個面試機會純屬意外,當下也不確定自己何時可以畢業,所以搞到最後整個找工作期間只面試了一家,也非常幸運通過面試,並趕在上工前夕畢業。趁畢業和上工這段空擋,把這個過程記錄下來,希望能幫助大家。 背景: PhD in ECE @ 美國中西部某大學  Undergraduate in Engineering @ NTU 來美國念博班之前沒修過演算法,但大學修過資料結構,沒有實際開發Project經驗。演算法苦手。 博班期間 Google Intern * 1 (No return offer)  刷題準備: 第一次Intern前: 斷斷續續大概200題,刷的很鬆散,確定拿到面試之後才密集刷了快100題。 確定拿到Google正職面試 - 面試當天共三個月密集刷: 大概 300題。 Summary: LeetCode 共刷512題 162 Easy, 287 Medium, 63 Hard.  學習資源: 這邊我就不贅述,現在網路上資源太多了,也有很多大神分享過。每個人學習方式不同,僅列出我常使用的,供大家參考。我覺得最有效的方式是多看不同種解法,想辦法讓自己看懂。但這就因人而異了,有些人光看文字就可以知道為什麼要這麼解,有些人要看影片從頭到尾一步一步講解才有辦法完全理解解法的邏輯。小弟就是屬於後者,所以剛開始刷題時十分之崩潰,光一題recursion或是dp就可以耗上一整天但仍然看不懂。就算看懂了,數日之後又遇到相似的題目卻又解不出來,常常忙了一整天卻一無所獲的感覺。同時又有研究上的壓力,真的是刷到懷疑人生,覺得自己的腦袋是不是哪裡出了問題。 演算法相關:LeetCode、MIT Algorithm 線上影片 、對岸Github刷題教學 (ex: https://labuladong.gitbook.io/algo/)、 Back To Back SWE   面試過程相關:一畝三分地、  Ex-Googler YTer 面試過程: 五輪面試 一天面完  每輪 45分鐘,back to back 早上兩輪 下午三輪 前四輪coding 最後一輪Behavioral 面試過程不詳細贅述,寒喧之後不囉唆直接開始面,前三輪

赴美念書以來,一直沒有想像過自己畢業的那天會是個什麼樣的場景。主要是因為自己一直是個缺乏長遠規劃的人,只專注眼前。而博士班隨隨便便五年起跳,覺得這一切離我太遙遠。另一方面是當初什麼功課都沒做,對於博班抱持著天真的想像,覺得像一路唸書以來,努力去做,就會過了。於是就這樣,懵懵懂懂的申請,莫名其妙傻傻的出國了。每次看到留學版各種如何的對研究雄心壯志中滿熱情,如何的千辛萬苦,終於申請到學校念,我都覺得相形見絀。因為當初出國的理由並沒有什麼特別,甚至說根本沒有理由。純粹是一個跟風的結果:就是大家好像都跑出去了,我自己也不知道幹嘛,那就一起去吧,而且根本連做研究是怎麼一回事都不知道。常常在想,當初就這樣踏上博班這條路,到底該說幸運還是不幸運?跟別人比,我很幸運,因為很多努力的人們申請不到的學校就這樣被我賽到了,而且還有家人的支持可以讓我可以撐過第一學期沒有funding的日子。不幸運的是,這種沒有準備好的心態,也造就了我這幾年痛苦的博班生涯。 上星期四 7/22/2021,我通過答辯了。當Zoom視窗關掉的那霎那,迎來的不是喜悅,而是一種解脫之後的情緒潰堤。沒有當初得知上雄中,上台大之後的那種狂喜,內心是平靜的,但眼淚就這樣止不住的開始流下,然後放聲大哭。『原來這就是我畢業的真實場景』。這個博士班真的唸得太累了。過程發生了太多事,很難一一贅述。若要打個比喻,我會說整個過程就像是用匍匐前進的速度在跑全馬,四肢被磨到破皮流血,然後旁邊的教練又在扯後腿阻礙前進。但想放棄的時候卻發現自己好像又比之前離終點更近一點。如果現在放棄,那之前走的路不就都白費了?但每當這個念頭跑出來,又會想,到終點之後,那又如何?如果到終點之前,我手腳都斷了,那我為什麼要完賽?每個睡不著的夜晚,都被這種情緒壓得喘不過氣,到天明才勉強睡著。從小到大完全沒有睡眠障礙的我,在博班生涯解鎖了『長期失眠』這個成就。人生到目前為止,最低潮的時候莫過於此。雖然高中的時候就體認到付出的努力跟回報絕對是不成正比這件事,但在漫長的博班過程中,對於我付出的努力,幾乎沒有得到正向的回饋。做的四個project中,只有一個發表。其他三個有兩篇被拒絕了超過三次以上,甚至有其中一個題目被其他學校的人先做走而註定發不出來。雖然現在拿到了這個學位,但我對我自己的研究一點光榮感也沒有,甚至感到羞恥。唯一值得慶幸的是,這一切終於結束了!直到剛剛

#3E

Image
「我的腳很大」 小時候一直有個印象我的鞋很難買。在那個跟爸媽去三商巧福買鞋子的年紀,童鞋部總是找不到合腳的鞋,必須往成人鞋區找才行。Size難找就算了,鞋子在我腳上的壽命還很短,三不五時鞋子不是側邊破掉,就是鞋底開口笑,或是一些我記不起來的原因讓我必須換新鞋。 腳大這件事除了小時候鞋子難買之外,最困擾我的可能就是國高中時期無法穿時下最潮的帆布鞋。因為我的腳很寬,如果要找到適合腳寬的帆布鞋,往往得穿到最大號,或是根本不存在。而如果穿最大號,整個就是醜,因為鞋子太長,和本人身形不成比例。所以我這輩子從來沒買過帆布鞋。 直到開始跑步之後,體驗到好的慢跑鞋對於長跑帶來的顯著影響,才讓我間接讓我了解的我的腳是如此的寬。前一陣子穿了一年多的跑鞋正式退役,到附近以服務聞名的慢跑鞋專賣店買鞋。店裡有個3D量腳的機器,在買鞋之前,店員會叫你站上去量腳,然後數據會傳到他的平板。貌似很專業,但還真的是蠻酷的。根據測量的結果,我的兩腳差不多大,皆寬3E,腳寬PR99。根據下表,我的腳屬 ULTRA Wide,比Extra還要大。用數碼寶貝術語來說,就是「究極進化!!」的概念。 而店裡各家跑步鞋廠牌中,鞋子有做到那麼寬的只有new balance和一個不知名的品牌。我以往的愛牌Mizuno根本沒有產這個寬度的鞋子。難怪我之前的Mizuno鞋,鞋底還沒磨平,側邊已經破得一塌糊塗,讓我不得不換鞋! (credits: https://i.pinimg.com/originals/8a/06/5e/8a065e391a99d1370d36e577569b02e1.png)

Xcode Bug

Image
因為老師太廢,從2020年初投票回來開始跟其他實驗室(aka 金主)合作一個完全不同領域的project。過程多少風風雨雨和狗屁倒灶的事以後有機會再講。總而言之現在做的東西跟AR有關。而現階段在實現Mobile AR 最火的兩個框架就是 ARCore (Google), 和 ARKit (Apple)。經過一番嘗試和爬文之後,選定用ARKit來開發。 說實在,無論選哪個,我都得從頭學起,畢竟以前完全沒寫過手機app。幸好最近剛退役用了四年多的Iphone 6s,迎來了Iphone 11,所以硬體上並沒有太大問題。比較棘手的是要去哪找開發ios app 的資源。由於想當個免費仔,所以沒有考慮任何線上課程。但也幸好這個資訊爆炸時代,網路上一堆人分享學習資源,大多數的疑問都能找到答案,只有少數時候得看官方文檔,在實作上trial and error並試圖的去理解文件內容寫的意思。 在這邊就要講到,要開發蘋果的app,不管軟硬體上,必定得用他們家的東西(OS, IDE, Programming Language),簡直直銷一條龍。不得不說真的很Z,但還好我信仰夠,除了Swift要學,其他東西我都有。而Xcode就是蘋果限定的IDE,不論是要寫Mac上或是手機上的app,都得用Xcode開發並編譯你的程式。在Xcode上面有個叫做Storyboard的東西,主要就是讓你設計手機的介面,和使用邏輯。比如說你可以在Storyboard上放兩個按鍵,並設計使用者按按鍵之後會發生什麼事。例如,按A按鍵會讓你跳離這個頁面,按B按鍵會顯示 “你很Z" 之類的。 Xcode內建Iphone系列手機模板,如圖中最下方那一排,你可以根據自己手機型號,選擇模板,基本上你在模板上哪個位置放哪個圖案,就會是實際把app跑在你手機上的樣子, 非 常 直 觀 。   而bug就在這裡,非常之Z,搞了我好久。一開始我是選Iphone 11的模板來設計我的UI,但不論我怎麼調放在Storyboard裡的UI,跑到我手機上之後看的東西就是不一樣。剛開始還不以為意,想說這種介面的東西後面再學就好。但當整個app開始變複雜之後,對於介面上顯示的東西就不得不在意了。於是開始花時間仔細下去瞭解Storyboard背後的運作原理。後來發現其實沒想像中複雜,主要是以手機整個最左上角的角作為原點(0, 0)

越休越累

 上周末un1126從香檳來訪,一起順路到Indy找Johnny,並在他家度過了廢到極點的周末。雖然最近Indy才因解禁而迎來了第二波疫情高峰,但走在路上絲毫不覺得崇尚自由的亞美利尖共和國人有被這波疫情影響。基本上各個公共場所是屬於「報復性塞滿」的狀態。 週五週六週日三天的行程基本上就是:睡到早上,Recover到下午,晚上開喝+吃糖果+打good night+打2k。在之前為數不多碰觸糖果成分的經驗裡(大概兩三次),體驗都不是太好,有一次(糖果)是在開往Lake Tahoe的山路上,直接暈爆。另外一次是在蘇黎世買官方販售的煙,一點感覺都沒有。但這次有明顯感受到。那個感覺很奇怪,un一直說很高,但我覺得用「高」來形容好像可以,但又不是很精確。手腳有明顯的無力感,情緒好像會放很大。讓我驚訝的是,意識其實是很清楚的,當下發生甚麼事都是知道的,只是要描述一些事情的時候很容易想不起來要描述甚麼東西。第一天吃的時候感覺還好,第二天整個超有感,或許是前一天身體比較累,所以比較容易被影響。說到這,Johnny最扯,一點感覺都沒有,第二天還加碼吃了一顆半,仍 然 無 感。 原本預計要紓壓的周末,壓好像是紓到了,但真的累爆。週日回來recover到今天,精神才感覺比較好。