首頁

  • 換電腦後的 Xcode App 上架錯誤

    換電腦後的 Xcode App 上架錯誤

    情境

    我原本用 A 電腦上架應用程式,換 B 電腦要上架時出現了下述錯誤:

    No signing certificate “iOS Distribution” found No “iOS Distribution” signing certificate matching team ID “MY_TEAM_ID” with a private key was found.

    No profiles for ‘my.apps.bundleid’ were found Xcode couldn’t find any iOS App Store provisioning profiles matching ‘my.apps.bundleid’.

    解決方法

    Apple Developer 的憑證區下載原本上架用的憑證。

    選擇原電腦的憑證。
    下載該憑證。

    下載完成後,開啟憑證,接著會打開鑰匙圈存取 (Keychain)。

    將憑證檔案拖曳到鑰匙圈存取 (Keychain),要留意拖曳到正確的區塊:預設鑰匙圈 -> 登入 -> 我的憑證。如正確加入,上述畫面會多一個憑證,此時再用 Xcode 上架即可成功。

  • 我在路上被揍了

    我在路上被揍了

    在街上挨揍,我感受到這段旅途最負面的時刻。

    事情發生在 Tirana 最熱鬧的街上, 我跟老婆在一旁查詢地圖,然後猝不及防的,我被揍了,依稀聽到對方還對我們咆哮。當下過於震驚,大約頓了兩、三秒,我才反應過來,回頭朝攻擊我的男子大喊:「What are you fucking doing?」

    他沒有回應,逕自過了馬路,彷彿什麼事都沒發生,徒留我跟老婆沉浸在極度負面的情緒裡。沒多久,對街的一位先生走過來確認我們的狀況,他解釋剛才沒能及時協助,但他有目擊整個過程,問我們是否需要幫忙。

    我們感謝他的好意後便回絕了;或者說,我們失去了思考能力,當時沒意識到是需要被幫忙的。

    在那之後,我跟太太開始查找附近可以用餐的地方,想要轉移注意力;想當然耳,餐廳是找到了,但腦子裡依然滿是剛才被攻擊的片段。

    去餐廳的路上,我們開始檢討應對方法,這種莫名被打的經驗從未有過,也根本沒想過會發生這種事,但如果再遇到該怎麼做?

    我們想到的不多,如果有更好的做法請跟我們分享:

    1. 拿出手機錄影。
    2. 想辦法讓其他民眾注意,例如大聲呼叫。
    3. 其他人介入後,請求協助,例如報警。

    事情發生後沒能照上述的方法實行,我們一直覺得懊悔。人生中遭遇過各種惡意,但這種沒來由的還是第一次,我們後來猜想被打的各種原因。

    「因為我太瘦了?」

    「因為我擋到路了?」

    「因為我是亞洲人?」

    ……

    但實在想不出一個理由應該被暴力對待。

    心情稍微平復後,開始慶幸我們不是獨自一人遇到這件事、慶幸對方手上沒有武器,在付出最小的代價後換來了這一課。

    目前遊牧到了第十一個地點,在此事件之前,所有跟我們接觸的人極其友善,一路上我們都是被幫忙的對象,由衷感謝那些跟我們素昧平生,卻願意釋出善意的人們。語言不通還是能把我們當小孩疼的阿姨、初次見面卻熱情款待我們的辦公室租客;不忍我們拖著行李走在路上,迴轉把我們接上車的旅行者、見我們不知所措,主動來詢問是否需要幫忙的人……等,正是這些人讓我對這個世界有所想像、有所期待。

    最後,我的傷勢很輕,心理所承受的遠大於肉體上的傷害,願這些傷痛可以隨時間消散;也希望那些在外的旅行者,不要遇到一樣的事件。


    睡了一覺,理智完整上線後,發現還有兩件事未妥善解決:

    1. 處理情緒
    2. 適合我的解決方案

    湊巧的是,今天剛好排了一場靜心工作坊,彷彿是命運已準備讓這件事順利落幕。我們在過程中被療癒了,這起暴力事件大概不會成為生命裡的創傷,我覺得很感激。

    而解決方案,心目中的最佳解是:那名男子需要承擔使用暴力的責任,且我們未來不會再遇到一樣的狀況。這追根究柢後會來到社會議題,題目很大,也不是我擅長的。

    從能量的角度來看單純許多,對方製造仇恨,跟他互毆只是進入仇恨的循環;若以愛來回應,那麼整個世界會更接近我期待的樣貌,這才是我想參與的賽局。

    最後我選擇放下,並捐款給勵馨基金會,據我所知,他們處理暴力議題已行之有年(雖然跟我遭遇的形式有所差異),許多法律也是因為該組織而增設或修正,我相信這個決定會讓世界變得更加美好。

  • 數位遊牧的起點

    數位遊牧的起點

    最近踏上了數位遊牧的旅程,這件事想了很久,在公司累積一些經驗後,覺得東西都上手得差不多就出發了。目前來看,這個時間點選得不錯,此時父母健在、也沒有後代,再晚個一兩年,可以想像長輩及孩子都需要照顧,我成為標準的三明治世代,到時恐怕要再等十五年才有辦法上路了。

    目前是離台後第 37 天,在泰國及希臘待了數個地點,準備在巴爾幹半島繼續北上,此時對於人生還有點迷茫。但透過大量的體驗,對自己總算多一些了解;知道本身的好惡後,最大的改善就是對於未來的想像變得具體許多:要擁有什麼物品、對哪些蔬菜挑食、溫度及濕度的偏好,抑或是想跟什麼樣的人交流,這些都是我發自內心的需求。

    其實最一開始,我甚至訂了在每個地點要完成的目標,例如強迫自己要去當地社群建立連結、籌備一些跨國才能做的新創計劃;但這麼做就回到了原點,追求世俗定義的成功,搞得自己精疲力竭,接著懷疑自己是否真心熱愛這些事物。

    雖然目前手邊沒什麼安排,但精神上也沒什麼壓力,不像從前一停下來就感到焦慮,懂得如何休息也算一種進步吧?

  • SMILE Pro 全飛秒近視雷射紀錄

    SMILE Pro 全飛秒近視雷射紀錄

    前言

    觀望雷射手術已經九年了,終於在快老花的時候做了這個決定。理由很單純:我前陣子練瑜伽的時候一直壓到眼鏡,很多動作都沒法做得標準,讓我好不困擾。剛好太座嚷著想要去雷射眼睛,我想著這問題也許可以一勞永逸。

    術前諮詢

    我們沒做什麼功課或比較,之前有同事去大學眼科手術,結果滿成功的,我們便依樣畫葫蘆,沒多想就預約了離家最近的診所。諮詢當天除了檢測眼睛的狀況,我最在意的是角膜厚度是否滿足手術的需求,剛好我倆厚度都比平均值多一些,便直接預約了年後動手術。

    手術當天

    手術當天約在台北的站前診所而不是在新莊,猜想儀器只有站前診所有吧?因為前面還有其他人在排手術,當天大部分時間都在等待。等待期間就看看衛教影片,並再次確認當天的眼球狀況沒有問題。

    手術前會先換上手術服並消毒雙眼,接著進入手術室讓醫師再檢查一次眼球的狀況。然後就躺在床上,盯著儀器內的綠點,並且不能轉動眼球,十秒內就會完成單眼的雷射。當時最可怕的是覺得不小心轉了一點點,而我也不確定當時是否還在雷射。

    術後醫師再次檢查,確認手術成功後就領了幾瓶眼藥水跟護目鏡,準備搭車回家。當時我太太痛得幾乎無法張開雙眼,因為她畏光的情況很嚴重,只能由我一路攙扶。我的狀況好些,雖沒那麼怕光,但還是覺得疼痛。術後要用手機叫車是第一個難關,因為近物幾乎看不到;第二個難關則是要確認車牌,當時光是睜開眼睛就已經夠痛苦了,而且還看不清楚,幸好一切順利。

    回到家大約晚上八點左右,我們快速吃掉預先準備好的食物,點完眼藥水就去睡了。還記得半夜我們醒來,在陽台讚嘆可以看得很遠,當時已經不太痛了。

    術後隔天

    隔天我們需要回診,做了一輪眼球檢測,當時視力已經是 1.0 左右,接著由為我們手術的醫師來看恢復狀況。我們被告知角膜的手術傷口已經癒合,接下來要沖澡、運動或揉眼都沒問題,儘管我覺得還是有些異物感跟水霧*的狀況。

    水霧:術後角膜雷射的位置會充滿液體,導致視野霧濛濛的,會隨著時間被吸收掉。

    狀態時間表

    日期狀態
    02.23 手術當天異物感、疼痛、水霧感明顯以及畏光。
    02.24 初次回診異物感、水霧感明顯。
    03.01 二次回診水霧感明顯。
    03.12 三次回診幾乎沒有水霧感。
  • 2023 回顧

    2023 回顧

    都已經三月了,現在寫這篇好像有點晚,但遲來總比不來還好。

    工作與生活平衡

    去年花了很多時間適應工作,被迫停止近乎工作狂的作息,看似得到了工作與生活之間的平衡,但生活並不會在停止工作後自動長出,停下後只看到一段空白的時間,而我不知該如何使用,這是我目前最大的課題。

    心態

    我依然汲汲營營,追逐世俗所定義的成功,好似沒有擁有某些東西或成就便有所缺憾,我深受功利主義之害。這樣的競爭心態使我終日無法安寧;外在需求被滿足了,但內在需求則是長期被忽視。年底去台東上樸門的課程,發現同學的精神層面相當豐足,使我反思自己怎麼會「長歪」了,又想有多少人像我找不到內心的寧靜。

    2024 目標

    因為花了太多時間追逐虛幻的目標,我未能好好體驗人生,我希望今年可以多發掘我愛的事物,讓步調慢下來,填補目前生活中的空白。

    數位遊牧

    在 2012 年退伍時,我有想過要去打工度假,但當時過於害怕,踏不出那一步。醞釀了十二年後,我總算有勇氣把自己送出去了。第一段旅程會從泰國開始,接著到希臘,在巴爾幹半島一路北行,這趟旅程除了滿足宿願,最想將所見所聞轉化為生命的養分。

    修煉內在

    我的心還是太不穩定了,我希望我有能力控管我的內在,找回內心的寧靜。很幸運地,因緣際會下我接觸了瑜伽,我認為這是找回自我的第一步,接著還想探索新的方式讓自己的內心更加飽滿。

    語言能力

    語言能力還是不夠用,雖然份內工作都可以處理好,但想要更進一步跟大家交流時,往往沒有辦法達到預期。目前每天緩慢而微小地練習中,希望這個習慣可以帶我走得更遠。

    結語

    2024 會是找回自我的一年,雖然很想要貪心地多幹幾番大事,但被友人有禪意地點醒:等填滿了我的內心,就會看得更清楚該做什麼。年初諸多奇遇促成了這些待辦清單,總覺得被某個力量推了一把,如果可以繼續收到提示就好了。

    文末希望所有人都可以心靈豐足,找回內在的寧靜。

  • 火車裡的蚊子為何有慣性運動

    火車裡的蚊子為何有慣性運動

    前言

    我在 PTT 看到有人發文問了這個問題

    火車裡的蚊子為何有慣性運動?

    這困擾我 17 年了,我還記得國中問了理化老師這個問題,他當初說:「因為他們處於同一個系統。」對當時的我而言,根本無法理解是什麼意思,就似懂非懂地死背了這個答案。

    裡頭 Roooz 板友提到:

    車廂內的空氣都隨著火車運動。

    我覺得這就是正確解答,為了保險起見,我用 ChatGPT 詢問,看能不能得到一樣的答案。

    結果

    我

    請你扮演物理老師。問題:一位乘客在時速 100 公里的火車向上跳,落地時會:

    1. 落回原地
    2. 往前一點
    3. 往後一點

    請問是哪個?

    ChatGPT
    ChatGPT

    這個問題涉及到相對運動和慣性的概念。當一個人在時速 100 公里的火車上跳起時,他會繼續保持火車的速度。這是因為在跳起的瞬間,他的水平速度與火車相同。根據慣性原理,除非有外部力作用於他,否則他將保持這個速度。

    假設沒有空氣阻力或其他額外的外部力量影響,當這個人跳起並落地時,他將落回原地。這是因為他在垂直方向上的運動不會影響他在水平方向上的速度。因此,在這個理想情況下,答案是選項 1:落回原地。

    然而,在現實生活中,空氣阻力等因素可能會影響這個結果。這些因素可能會使他的水平速度略有改變,使他落地時稍微偏離原點。

    我

    延伸上一個問題,現在火車正在減速中,從時速 100 公里要降到時速 10 公里,請問此時這位乘客跳起來,落地時會:

    1. 落回原地
    2. 往前一點
    3. 往後一點
    ChatGPT
    ChatGPT

    當火車正在減速時,情況會有所不同。在這種情況下,當這個人跳起時,他的水平速度會與他所在位置的火車速度相同。然而,因為火車正在減速,當這個人在空中時,火車將繼續減速。這意味著當他落地時,火車的速度將低於他在空中的速度。

    由於這個人在空中的速度比火車的速度要快,所以當他落地時,他將往前一點。因此,在這種情況下,答案是選項 2:往前一點。

    這種情況下,火車減速對乘客的影響類似於汽車急刹車時,乘客會向前傾。在火車減速的過程中,乘客會受到向前的力,因為他們的慣性使他們保持原來的速度。

    我

    延伸上一個問題,如果把乘客改為蚊子,火車減速時,蚊子的位置會改變嗎?

    ChatGPT
    ChatGPT

    當火車減速時,蚊子是否會改變位置取決於蚊子在火車上的行為以及與火車的相互作用。

    1. 如果蚊子在火車減速時停留在一個表面(如座椅或窗戶),則它將受到與火車相同的減速力。在這種情況下,蚊子的位置相對於火車不會改變,因為它會跟隨火車一起減速。
    2. 如果蚊子在火車減速時在火車內飛行,則情況會有所不同。在這種情況下,蚊子在空中的速度將受到它在飛行中所受到的力的影響。假設蚊子在火車開始減速之前已經在火車內部穩定地飛行,那麼它將具有與火車相同的速度。然而,當火車開始減速時,蚊子將受到慣性作用,並保持原來的速度。由於蚊子在空中的速度比火車的速度要快,它將相對於火車向前移動。然而,實際情況可能會受到空氣阻力、蚊子在空氣中的飛行方式和火車內部空氣流動等因素的影響。

    總之,如果蚊子在火車減速時停留在一個表面,它的位置相對於火車不會改變。但是,如果蚊子在火車內部飛行,它可能會因火車的減速而向前移動。實際情況可能會受到許多因素的影響,例如空氣阻力和火車內部空氣流動。

    我

    延伸上述問題,乘客在時速 100 公里的火車中也是時速 100 公里,是因為乘客接觸火車表面的緣故嗎?

    ChatGPT
    ChatGPT

    是的,當乘客在時速 100 公里的火車上時,他們的速度也是時速 100 公里,這是因為他們與火車有接觸,並且與火車一起移動。人們站在火車上的表面,例如火車座椅或地板,他們的速度與火車相同,因為他們受到火車的支持和牽引力。換句話說,火車將其速度傳遞給了站在上面的人。

    在這種情況下,火車和乘客共享同一個慣性參考系。這意味著,在火車內部,人們無法感知火車以時速 100 公里的速度前進,除非火車的速度或方向改變。這就是為什麼在火車上行走或與其他乘客交流時,您感覺不到火車正在高速移動的原因。

    我

    請問飛舞的蚊子沒有接觸到火車表面,為何也可以維持時速 100 公里?

    ChatGPT
    ChatGPT

    當蚊子在時速 100 公里的火車內飛舞時,它也能維持時速 100 公里,這是因為火車內部的空氣也以相同的速度移動。在這種情況下,火車內部的空氣作為一個慣性參考系,使蚊子能夠保持與火車相同的速度。

    當火車移動時,它將火車內的空氣帶動前進。因此,蚊子在火車內部飛行時,實際上是在一個隨著火車一起移動的空氣中飛行。由於蚊子受到火車內空氣的支持,它能夠以與火車相同的速度飛行。這意味著,即使蚊子沒有直接接觸火車表面,它仍然可以保持與火車相同的速度,因為它在火車內部的慣性參考系中飛行。

    請注意,這種情況下,火車內部的空氣阻力對蚊子的影響相對較小,因為火車內的空氣與蚊子一起移動。實際上,蚊子在火車內部飛行時,可能無法察覺火車正在高速移動。

    後記

    心中放下了一塊大石,真是痛快!雖然不認識 Roooz 跟 clever0705,但感謝你們。

  • 阿姆斯特丹淺嚐紀錄

    阿姆斯特丹淺嚐紀錄

    前言

    在 Automattic 待了四個月後迎來了第二次 Meetup,聚會地點在阿姆斯特丹。這是我第一次拜訪荷蘭,簡單記錄一些我對當地的想法。

    無鈔世界

    我出發前很糾結要不要換一些歐元,但當地同事說到處都可以用信用卡結帳,就抱持著全程刷卡的心理準備出發了。到當地後,果然什麼都可以刷卡,各種餐廳、小店甚至是公車都可以刷,這是最讓我難以忘懷的。

    不用特別申請什麼服務,信用卡拿出來就對了,更甚者還有不接受現金的店家,令人印象深刻。這讓我覺得非常方便,不知道台灣何時可以達到這個境界?

    不接受現金的餐廳

    補充

    相較於台灣,荷蘭現金使用率相對較低,主要是因為信用卡和行動支付等電子支付方式發展得較為成熟。根據統計資料,2022 年荷蘭刷卡支付的比例達到 89%。不過一些研究也指出:電子支付方式的普及可能導致一些社會階層,例如長者和低收入戶,因為沒有信用卡或行動支付工具而被邊緣化。

    全民架站時代

    這次聚會我負責規劃晚餐的地點,令人吃驚的是:每間餐廳都有自己的官方網站。此外,我在不少店家購物時,都是要求掃描 QR code,接著就可以在網站進行點餐或是購票,這意味著店家與消費者對於科技工具的接受度很高,我很難想像當地的長者是怎麼面對這些科技工具的。

    我在藝術博物館要入場時,展館人員請我掃描牆上的 QR code 以購票(圖為掃描後引導到的官網)。

    補充

    荷蘭也開發了消費者和商家之間的支付應用程式:Tikkie,這個應用程式可以讓消費者直接通過手機和銀行帳戶進行付款。

    腳踏車

    阿姆斯特丹被譽為全球單車首都,單車數遠高於人口數,且六成以上以單車通勤,這是一個很驚人的數字。要達到這樣的盛況,一定要有完善的基礎建設。

    其中一天我租了一台腳踏車,有幸體驗在當地騎車的感覺,我認為車道設計得很舒服,重點是很安全。這裡的單車道與汽車道、人行道隔開,每個角色的路權都非常明確。我前陣子在台北騎 YouBike 通勤,在人行道我可能會被行人卡住,在慢車道我又怕被撞,比較下來我更愛阿姆斯特丹的自行車道。

    補充

    北歐國家鼓勵大眾使用環保的通勤方式,例如補貼電動自行車等。像我同事擁有兩台腳踏車,其中一台就是電動的。

    無酒精啤酒

    在台灣的選擇還不是很多,但這裡的品項五花八門。前陣子加拿大發布飲酒指南,裡頭強調不飲酒才不會有健康風險,我認為無酒精啤酒是一個很好的替代品。

    補充

    無酒精啤酒是否真的對身體有益仍存在爭議,無酒精啤酒中的某些成分可能會對身體造成負面影響。但我覺得毒性應該比酒精低很多了……

    貼近鄉村

    我自己是鄉村的愛好者,因為城市步調讓我很難有放鬆的感覺。這裡從市中心到鄉村只要 20 分鐘的車程,這對我有很大的吸引力。城、鄉之間的優缺點大家都明白,如果距離不再是阻礙,那我們可以兩者兼得嗎?

    大眾交通工具

    我在這座城市看到了火車、輕軌、公車、捷運以及渡輪,真正有體驗到的是後三項,大眾交通工具涵蓋率滿高的,幾乎到哪都可以找到交通工具前往,跟大台北地區差不多。

    其中比較可惜的是:需要有市民卡才可以使用它們的公共腳踏車,這是我沒有體驗到的,聽說這裡沒有自行車站點,更像 oBike 一些,找到車就可以騎走,但也要自行找地方將車停好。

    後記

    這次會議眾多,也沒安排額外的時間多做停留,因此沒能提出更有深度的剖析,希望下次再訪可以更深入地體驗這座城市。

  • 讓 AI 幫我們畫圖,Midjourney 入門

    讓 AI 幫我們畫圖,Midjourney 入門

    前言

    去年各種 AI 服務橫空出世,在極短時間內累積了大量使用者,我自己也有使用 ChatGPT 的經驗,但一直沒有機會來玩玩 Midjourney,趁著年假期間來體驗一下,並以產出各種類型的圖當作目標。

    事前準備

    1. 註冊 Discord
    2. 加入 Midjourney

    使用流程

    在 Midjourney 加入 newbies 開頭的頻道,即可用 /imagine 指令產生圖片。

    範例:

    /imagine logo of a Shark, minimal, style of japanese book cover
    結果

    只要在指令後方加入圖片的描述,即可產生對應圖片。

    又或者在指令前方加入一張圖片的連結,後面加上描述,即可用給予的圖片產生對應的描述圖片。

    範例:

    使用烏咪的圖片
    /imagine https://s.mj.run/g4D-AV4VO6U beautiful queen, beautiful face , with flowers around, floating ,wearing an intricate embroidered filigree dress, highly detailed, high quality , gustag klimpt , roger dean
    結果

    其他嘗試

    車子的 App icon

    /imagine squared with round edges mobile app logo design, flat vector app icon of car, minimalistic, white background

    植物的 mockup

    /imagine photography of an iphone [with a modern user interface of [vector illustration of plants] plant identification app on the screen] inspired by Behance and Figma and dribbble

    測試中文描述

    /imagine 華麗伊斯蘭風格的現代花瓶

    授權方法

    這次花了幾個小時玩了一下 Midjourney,成果令人驚艷,而其中最讓我在意的是產生結果的授權方法。根據 Midjourney 的 Terms of Service:非付費會員的成果則是採用 Creative Commons Noncommercial 4.0 Attribution International License。只要付費後,就可以商用,最低階的付費方案是每個月 10 美金,大約可以產 200 張圖。

    後記

    Midjourney 無疑有能力產出高品質的圖片,但說要完全取代設計師,還需要一些時間,但我已可想像未來人類的工作會在 AI 加入後,衍生出新的分工模式。至於現在,我會利用它幫助我跟設計師討論我想要的風格,或是我帶著半成品請設計師修改出最終成品,我覺得已經很方便了。

  • Automattic 面試心得

    Automattic 面試心得

    前言

    三年前我很積極地尋找東南亞公司,因為沒信心跟英語母語者溝通,便決定先去東南亞練英文,打算之後再跳去美國公司,今年轉職自然是延續之前的規劃。

    這次只找可以完全遠端的公司,主要是想增廣見聞,順便去體驗各地的居住心得,因為我也還沒決定之後要在哪裡定居。由於刷題一直刷不出興趣,最後只投了 Automattic;實作類型的面試內容是我最擅長的,此外 Automattic 面試幾乎都是使用文字訊息溝通,讓不擅長英文的我,有機會用線上服務修改內容後再回覆面試官,使我安心許多。

    今年六月租屋合約到期,為了避免面試過程被搬家雜事中斷,我決定搬完家才投履歷,而弄完新住處的網路已經六月底了,此時才將履歷送出。

    事前準備

    1. 更新履歷。
    2. 練英文。
    3. 試用 Automattic 所有產品。
    4. 爲官方 open source 專案做出貢獻。

    三月中旬決定要投 Automattic 後,便開始著手處理面試前的功課。履歷改完後並不是很滿意,後來外包給國外的 head hunter 幫我重寫履歷跟 cover letter;此外也買了英文課,每週線上跟外籍老師練一小時,主要是練行為面試,很幸運地對方還幫我檢查履歷,將不足之處修了一遍。

    面試前我會研究公司產品,主要是看產品特色及缺點,並做些競品分析,若遇到產品人就可以提出我的見解以及改善方向。我剛好是 WordPress 及 Tumblr 的使用者,所以主要分析這兩個產品,至於其他產品就簡單把玩過一遍。

    再來,我想在面試提及我對官方 open source 的貢獻以加深面試官對我的好印象;因之前通勤會用 WordPress 寫文章,當時在 app 發現的問題剛好派上用場,便去官方 GitHub repo 開 issue 以及發 PR。

    還有一項不在計劃之中:我搬完家改騎 YouBike 通勤,因為官方 YouBike app 太難用,我自己寫了一個順手的,這個專案在第三關的 trial project 幫了大忙。

    對這個專案有興趣可以看此文章:

    線上會談

    跟招募人員約好時間後,便收到 Automattic Slack 的邀請,對方開了一個私人頻道,接下來面試相關的內容都會在此頻道進行。第一關的面試官是來自希臘的技術主管,看他 GitHub 應該是網頁前端專業。

    會談大約三十分鐘,全程都是純文字的交流,當時被問了不少行為面試的問題,雖然英文課有練習,但正式面試完全不是那麼一回事。我字彙量不夠,有些問題要先拿去丟 Google translate 才知道是什麼意思,最慘的是翻譯完還看不懂,加上不想讓對方等太久,最後回了一堆破碎的句子,覺得很羞恥。

    可能面試官專長是網頁前端的關係,他並沒有問太多 app 開發的問題,而是問我比較通用的開發經驗;我剛好都有經歷過,也就順利回答出來,這部分我覺得有平衡掉行為面試問題的表現。

    會談結束三小時後,收到進入下一關的通知。

    Coding Test

    這關被加到一個 GitHub repo,裡頭放了一個 legacy project,我要修正有問題的部分,並且根據需求加入新功能。這還滿像真實世界會碰到的狀況,確認完一些沒提到的細節,我就開工了。

    這項測驗沒人跟我一起協作,所有細節自行決定就好。這關並沒有特別的時間限制,根據 recruiter 的說法,大部分的受試者 7 – 10 天可以完成這項測驗;等我告一段落已經是兩週後,recruiter 拉了一位工程師進 Slack 頻道要幫我 code review,三天後這位工程師寫了這項測驗的回饋,便恭喜我進入下一關。

    Trial Project

    這關跟 Coding Test 滿像的,一樣是拿到一個 GitHub 上的專案,根據文件上的需求來達成目標。差異在於這個階段會搭配一位 trial lead,每個 PR 都會被 review 後才能合併;專案限時 40 小時,可自行安排每週要開發的時間,不用急著將專案做完。

    此外,這關會需要用內部系統寫文章,除了整理開發思路,這也是跟 trial lead 溝通的工具。 順帶一提:Trial Project 是有支薪的,每小時 25 美金,滿多面試者批評太低,但以台灣薪資來看是個還可以的業外收入。

    我在此專案其中一個限制是要使用 trial lead 寫好的架構跟 code stack,使用技術跟我 YouBike side project 高度重疊,為我爭取到不少時間,這使我可以將大部分心力放在實作功能跟寫文件,而不是入門各種不熟悉的事物。

    將專案寫到我滿意的程度後,便提交給 trial lead 結束這回合。一週後捎來喜訊:面試官要將我推薦給 CEO 及 HR 團隊。

    Final Chat

    跟 HR 約完時間後,我開始思考想要去的產品團隊,以及蒐集一些薪水相關的資訊。自己對內容、社群較有興趣,私心想加入使用者多的產品團隊,無論是加入 WordPress 或是 Tumblr 都會讓我很開心。

    到了約定時間,當天並沒有分組的環節,而是直接跟 HR 進入最後階段;一開始問我對面試過程的心得,接著就開始問我預期薪資。當時薪資相關的資料準備得不夠充足,所以第一次沒有談出結果,跟 HR 約了下週繼續。

    第二次談判前我也沒閒著,去找了職涯顧問諮詢,也跟有美國工作經驗者詢問相關資訊,以釐清現狀並擬定談判策略,最後順利談到我的理想範圍便接受 offer,兩天後完成簽約。

    事件表

    日期事件
    06.26投遞履歷
    06.28約線上會談
    07.01線上會談,當天告知進入下一關
    07.05 ~ 07.13Coding Test
    07.16作業檢查完畢,告知進入下一關
    08.01 ~ 08.30Trial Project
    09.06告知通過試用
    09.20約 Final Chat
    09.27Final Chat – 問面試感想 & 談薪水
    10.03Final Chat – 薪資談判 & Offer

    後記

    這場面試長達三個月,算是我職涯中最久的一次,我想以後也很難有這樣的機會;這段時間我覺得壓力滿大的,本業剛好在趕進度,下班後又要繼續處理面試的東西,而且持續好一段時間,真是蠟燭兩頭燒。

    此外,五月起美國各大公司都在樽節、砍人,即便寫文章的此時已經第四季了,美國科技業還是不乏裁員的新聞。中間有幾關通過後等了一段時間,會胡思亂想受到不景氣影響,導致這個 headcount 沒了,這是過程中最讓我感到無助的部分。

    撇開上述的心理壓力,我自己還滿喜歡 Automattic 的面試方法,因為它更能全面測出我的實力。有什麼方法可以知道面試者加入公司後的工作狀態?那就是直接跟他一起協作;在 Trial Project 的關卡不論是程式品質、溝通狀況或是文件撰寫能力都無所遁形,這是傳統面試方法沒有辦法做到的程度,也更貼近實際狀況。

    最後,不免俗地幫新東家打個廣告,Automattic 持續徵才中,歡迎來當我同事:

    Work With Us
    Want to make the web a better place for more than a billion people each month? We’re hiring.
  • 揭開土耳其浴的神秘面紗

    揭開土耳其浴的神秘面紗

    在我年紀尚輕、對各類事物還沒有那麼了解時,好似任何國家名稱後面加個「浴」字就可以讓人充滿遐想;過了八年、十年後,總算盼到自己可以訪店的年紀,這大概是年幼時最期待的事情之一。

    這次我拜訪的是伊斯坦堡獨立大街附近的澡堂,由鄂圖曼土耳其的第七任君王於 1454 年建造,它比我阿公再老上四百多歲。

    澡堂門口

    土耳其浴由羅馬澡堂變化而來,在突厥人來到這塊土地後,便將既有的澡堂設計得更貼近自己的宗教習慣。他們的公共澡堂大致上跟三溫暖差不多,拿澡盆沖個幾次,就可以去蒸氣室待著,待夠了就出來沖水或是去躺在加熱石板上烤人肉。

    其中我最期待的是別人幫我洗澡的部分,如果別人願意幫我們洗香香,誰還想要自己洗,對吧?安寧病房的洗澡機一直是我心目中的夢幻逸品,輕輕一按,就可以拿到天堂的三十分鐘入場券。我非家財萬貫,自然是無法負擔洗澡機,但出國請人幫我洗香香還算在能力範圍之內。

    價目表,本次體驗 Massage package with head massage

    自行沖完澡後,經理請我進入澡堂旁的小房間,房內並不太亮,幾顆燈泡將室內暈成一片昏黃,裡頭放了兩張床,此時另一位客人正在洗泡泡浴,那位幫忙洗香香的服務者輪廓很深,應是來自中東地區。

    過沒多久,我的洗澡師進入房內,他是澡堂經理特別為我安排的專業人員,經驗豐富,第一次非常適合由他帶領入門。

    他先是脫掉上衣,然後看了我一眼,便要求將我的內褲脫掉。出自於對專業的尊重,我當然是唯命是從,深怕一不小心就妨礙了神技的施展。

    我對這位洗澡師的第一印象是成熟穩重,175 公分、90 公斤,其中啤酒肚約佔了 20 公斤,頭髮略微稀疏,此時他身上只有一條我國中最常穿的夜市格紋四角褲,看起來像是小時候住隔壁喜歡打赤膊的阿伯,只是種族換成了土耳其人。

    一開始會用菜瓜布在身體上摩擦,聽說技術純熟的洗澡師,半小時就可以在客人身上刷出十公升的黑色污水。我原本有點擔心這個步驟會很痛,但洗澡師非常溫柔,讓我可以安心將全部交給對方,這彷彿是在母親的子宮內享受全身去角質一般。

    充分刷洗後,洗澡師離開了小房間,回來時我聽到了水桶撞擊聲,接著我感受到比羽毛還輕柔的觸感在身上流淌,睜開眼我看到全身已經佈滿了泡沫。這是我從未有過的體驗,泡泡浴舒服得幾乎令我無法睜開眼睛。洗澡師的雙手非常靈活,時而像脫兔在身上打滾著,時而像是飛燕掠過皮膚表面。

    洗澡師洗到身體兩側時,會用雙手托住我的手臂,而他的肚子很大,此時我的手會剛好抵在他的肚皮上,偏偏大叔肚臍附近體毛又非常旺盛,我覺得我的手好像深陷在鋼絲球寶寶的巢穴。

    鋼絲球

    每一次觸碰,我整隻手臂會不自覺僵硬並遠離大叔,然後他又會把我的手臂肌肉鬆開,於是我的手又回到大叔的肚皮上,幾次下來,我的童年幻想在鋼絲的觸感下逐漸消逝,臉上的液體已經不知道是洗澡水還是淚水,非常委屈。

    不知道過了多久,大叔拿了條浴巾把我包起來,並請我到二樓躺椅等待按摩技師。五分鐘後,一名中東面孔的年輕男子領我進入三樓的小房間,裡頭就開著一盞小夜燈,當然,床也是有兩張,另一名客人正在右側床上油壓按摩。

    這名中東小哥要先幫我做頭皮按摩,當他將瓶中的液體倒到我頭上,我只感覺到一股冰寒襲來,像是有人在我頭上倒了十罐家庭號綠油精。後來他越倒越多,我眼睛也被薰得睜不開,當下只覺得雙眼竭盡所能地漫出淚水,與此同時,這位小哥開始了頭皮按摩。

    撇開綠油精不談,小哥的按摩技巧其實是不錯的,但就不知道為啥按著按著,他突然開始用嘴吹我頭皮,頭已經很冷了,每吹一下我身體就會跟著一縮;我轉頭跟他說「No」想要略過這個步驟,他嘴裡講著我聽不懂的語言,然後笑著對我比了一個大拇指,想說他已經理解我的需求,結果幹他媽的越吹越起勁,吹完我還被他淋冰水,真的冷到靠北,我強烈懷疑房間內有攝影機,這在拍攝整人節目對吧?

    最後就是油壓按摩了,這裡按法比較不會有單點重壓的招式,都是大面積按壓,偶爾會把我折成奇怪的姿勢,像在施展什麼關節技,看來是要按我比較深層的肌肉。過程中我想請小哥調整力道或位置,但總是只得到小哥幾句未知語言的嚷嚷,然後笑著再比一個大拇指。仔細想想,我所有接受到的有效溝通只有大拇指,但沒有一個需求是成功解決的。

    一定是大拇指啦!

    小時候總是想要趕快長大,迫不及待地想要去體驗一切;但真的長大後,突然發現一切不若當初所想的那般美好。經過這次土耳其浴的嘗試,我覺得童年的幻想破滅,也彷彿永遠失去了自己的某一部分,或許這就是長大的感覺吧?