返回社群

遠征、Elixir 與 Exercism

在本週的社群故事中,Brian 和 Jonathan 花點時間聊聊跨文化經驗、函式程式設計,以及從美國中西部搬到北歐是什麼感覺。

在 Youtube 上觀看
長度 45分鐘

Jonathan: 各位晚安,歡迎收聽 Exercism 播客。今天很榮幸邀請到 **Brian **Underwood。**Brian,**你現在住在哪裡呢?也和我們聊聊你的故事,說說你怎麼會走到現在這個地方吧。

Brian: 當然好,謝謝你邀請我。我現在住在瑞典斯德哥爾摩,但我原本是美國人,在俄亥俄州出生,所以算是一段不小的旅程。

Jonathan: 不會吧。

Brian: 這個……我想,你剛才是想問我從哪裡來,還有我中間這段過程吧。

Jonathan: 對,沒錯。你怎麼會從美國中部跑到……瑞典、北歐去的?你知道,這可是很大的一步呢。

Brian: 當然。對。對。這當然,那是美國中部嘛。你會搞混我也不怪你,畢竟真的沒幾個人知道俄亥俄州在哪。這也挺有趣的。我大學念的是 Ohio State,主修資訊科學教育。那挺好玩,我很喜歡。我在學期間一直在人文學院做技術支援。我很幸運,一入學就在那裡找到工作,畢業後又繼續做了幾年。嗯,但後來我……我覺得自己對當時的處境和在做的事有點厭倦了,再加上我女朋友跟我分手了。所以我們就,就先別提這個了吧。

Jonathan: 可以說是不太愉快的回憶吧。

Brian: 對,其實回頭看,一切都還好。不過就是這樣,我想,我當時在這裡有機會。所以我決定花幾週時間去歐洲旅行,那是我第一次真正離開美國那麼久。那趟歐洲行還不錯。其實在出發前,我就決定要搬家了,而且已經打定主意要搬去波士頓。後來我……我不知道算不算運氣好,但我當時有幾個機會。你知道,我一直都在做 Mac 支援,那算是我的專長。所以其中一個機會是在波士頓做 Mac 技術支援。另一個是一間小新創,他們做的是給手機公司用的軟體,比如說協助他們規劃店內的陳列。你知道,我其實很想轉行當程式設計師。但那份工作感覺是「喔,這是我做很久的事了」。不過我想我當時心裡比較偏向「好,我要展開新生活,走我想走的這條職涯」。當然,我能拿到那份工作也算有點幸運,因為他們真的很缺人,所以就直接把我收下了。結果那份工作變成我做好幾年的大工作。嗯,不過那就是個開端。簡單來說,從那之後,我認識了我現在的老婆,我們搬到普洛威登斯,在那裡結婚。嗯,然後搬到加州。我想是我老婆在舊金山找到工作。我當時想:「沒問題,我是軟體開發者,我可以在舊金山找到工作,不用擔心。」所以那很好。我們在奧克蘭住了幾年,在舊金山工作。後來我們決定想花幾年時間到處旅行。於是我們帶著當時兩歲半的兒子環遊世界兩年。所以我們帶著他旅行了兩年。然後,對,我們回到美國待了幾年。接著我們就想:「喔,我們旅行的時候經過斯德哥爾摩,我們真的很喜歡那裡。」所以我們就決定:「好,我們要回去。」於是過去四年左右我們都住在那裡。

Jonathan: 你老婆是瑞典人嗎?還是你們只是喜歡斯德哥爾摩?喔,就是……那是怎麼回事,這背後有什麼故事?

Brian: 沒有啦,這是個好問題,很多人問過。不過我們三個都是美國人,包括我兒子。只是他的瑞典語說得比我們兩個都好得多。我們還在努力。不過我們真的很喜歡那裡。我想,我們旅行途中有幾個地方讓我們覺得「嗯,如果哪天想搬去別的地方,也許可以住這裡」。其中一個是奧克蘭,我們路過那裡,非常喜歡。在紐西蘭嗎?你是說紐西蘭的奧克蘭?對,紐西蘭。但那裡有點太遠了,如果我們想回俄亥俄州探親,那會是一趟長途跋涉。當然從瑞典回去也是一段不短的路。

Jonathan: 嗯,好,所以你剛剛提到電腦程式設計,或者說,抱歉,是資訊科學和程式設計。兩者差在哪裡?因為在我看來,資訊科學差不多就是程式設計,但顯然不是這樣。或者也許是,我也不知道。所以你具體指的是什麼意思?

Brian: 嗯,我也不確定自己知不知道差別在哪。我拿到了資訊科學學位,我想那算是程式設計,但又不完全是……你應該聽過,或者別人也說過,大學學位不一定能學到你在工作裡會用到、會經歷的那些真實世界的東西。而且從我念大學到現在,情況大概也變了不少。我想現在應該更往實務教育的方向走了。我記得……我們當時主要學的兩門語言,我想是 C 和 Java。特別是,我記得有一堂課在用 Java 學一個東西,他們非常強調……我想那算是一種教學方法,或者說某種處理事情的方式,你要幫每個函式寫非常詳盡的註解。那個方法叫「契約式設計」,就像你在法律契約裡會說的那樣:「好,你的責任是什麼?我的責任是什麼?」所以用契約來設計一個函式,意思就是:如果你透過這些變數提供我這些值,而且你永遠不會給我負數,也永遠確保這個字串不是空的,之類的,對吧?這些是你要負責的事。而只要你做到這些,我就承諾會做到這件事,讓它發生。所以那時候有一套註解的格式,我記得我當時非常困惑,以為那些註解會被執行,是程式的一部分。我還想……我記得我花了好幾天在想:什麼?我到底該做什麼?後來我才慢慢搞懂,那只是一種非常正式的方法。我覺得從某個角度來說這是好事,思考有時會塑造我的心智。去思考「不要讓一個函式試圖處理所有可能發生的情況」是好事,因為那只會把你逼瘋。

Jonathan: 好,你大學念的是資訊科學,算是你當時主要考慮的主修。你是怎麼決定要念這個的?是因為你在學校或高中時就很自然地被比較偏理科的科目吸引,還是有某個時刻讓你覺得「這真的很適合我」?你是在什麼樣的過程中決定要念資訊科學這個學位的?

Brian: 嗯,我大概算滿幸運的,天生就對這個有興趣。我不知道,我記得……在某個時間點我要選學程,可以選文理學院的資訊科學組,或是工程的資訊科學組。其中一個要修外語,我高中時本來就是走西班牙語這條路。但另一個是:「喔,你不用修外語,但要多修物理和數學。」我當時就想:「好,算我一份。」所以我想我算是被那個吸引。不過有一件事我常常在想,也許這算是某種在科學或數學方面的優勢吧:我覺得……數學,做數學這件事。很多人會說「喔,數學,我一碰到數學就緊張,壓力很大」之類的。我理解,真的有可能這樣。但我在想,是不是有時候,有些人就是不知道為什麼,能在數學裡找到樂趣,能對它感到興奮。其實要做的事、要解的東西一樣多,但感覺就是沒那麼累,因為當我們樂在其中時,就不覺得那麼費力。這大概不完全對,這只是我個人的一個小理論,而且大概只對一半。

Jonathan: 不過這很有趣,因為我記得我在英國的 GCSE 修了三年化學。其實你會有兩、三年的學習時間,然後在 16 歲考那些大考。你要讀一整個範圍的主題,差不多十個科目,那還滿多的。然後你再決定:「好,我要念 A level,要選更多數學或科學之類的,或是英文、戲劇等等。」但我記得化學對我來說,大概有兩年都像沒開竅一樣,結果就在考試前那一週,一切突然都通了。元素週期表、整體運作的方式,還有「喔,原來所有答案都可以從元素週期表推出來,我只要像解填字遊戲那樣就行了」。那就像是燈泡突然亮起來,我記得從那刻起我就想:「喔,這是最簡單的科目了。」但那是花了兩年的掙扎才走到那一步。這很有意思,因為我覺得對我來說寫程式也類似:把自己沉浸其中很久,然後有一天就會豁然開朗。我很期待那種感覺開始出現的時候。不過我想你剛描述的那種情況,我也看過一些朋友,他們一接觸就很快理解,而且很享受,解決問題本身就成了學習的主要樂趣,我覺得這很有意思。所以你也有過這樣的體驗,我覺得挺酷的。

Brian: 我知道有個 app,我兒子在他的 iPad 上玩過。有一家公司或一系列 app 叫 Dragon Box,不知道你有沒有聽過。他們做了不少很棒的教育類 app。通常我對大部分教育 app 都很懷疑,但他們有幾個真的做得很好。其中一個是關於幾何的。我常常把這個當成一個比喻,不過那個其實不是幾何,是代數。他們也有幾何的。但那個代數的 app,其實不是在教你代數的概念,而是在教你代數的運算機制。

Jonathan: 記得幫這部影片按讚,並訂閱我們的頻道,收看更多這類影片。

Brian: 它的做法是:畫面兩邊各有一個框,你要讓兩邊的東西保持平衡。你把怪物從一邊移到另一邊,或是把某種怪物變形成另一種。我已經有一陣子沒看了,但我記得很清楚的是,他其實是在學代數的運算機制,即使他並不理解自己在朝什麼目標前進、為什麼要做這些。但做起來很好玩,他們把這件事做得非常引人投入。我覺得這最棒的地方在於,我希望他之後開始學代數時再把那個 app 玩一遍,因為我覺得,如果你已經把操作機制練熟了,就不用那麼費心在那些地方,可以多想一些更高層次的事,而不必為機制層面的東西緊張。我想這也許就是你說化學的那個情況。我不知道你的經驗是不是這樣,但或許就是:「我為什麼要在乎這些機制、這些規則、這些東西?」而一旦你走到某個點,就會想:「好,我已經辛苦撐過那一關了,現在也許可以開始在乎我為什麼要做這件事。」

Jonathan: 對,對。不會,那真的是很有趣的經驗,因為那是我第一次經歷那種「先理解一件事」的過程,然後你會經歷一段對那些科目大幅失去信心的時期,因為你會想:「喔,我的腦袋好像天生就不適合那種思考方式。」但其實如果你回頭看英國文學,比如說,我就是念這個的,你其實是非常有系統地去看語言、看事物如何構成、如何去理解,但同時又有細微的差別,整件事也帶有藝術性。我的意思是,你也可以說開發和寫程式也帶有那種藝術成分。每個人都有自己的風格,而我越來越體會到的是,任何事都沒有絕對的規則,一切都是取捨。所以說,這真的很有意思。那現在,你之前幫過我們帶學習團,如果有聽眾的話,我們辦過一些學習體驗,像是 Elixir 和 Golang 的,而 **Brian,**你也稍微幫忙帶了 Elixir 那一團。那你是怎麼接觸到 Elixir 這門語言的?當時是什麼樣的背景讓你走進去的?

Brian: 嗯,這很有趣,因為今天剛好有人問我完全一樣的問題。因為它……我的意思是,從某個角度來說,它算是小眾語言。不過我待在 Ruby 圈很久了,當了很久的 Ruby 開發者。我真的很愛 Ruby,因為……你知道,我是那種想把事情做好的程式設計師,我想把難的問題解決掉。但如果你得一直操心細節、處理指標之類的東西,就很難專心解決難題,對吧?所以 Ruby 在這方面很棒。然後,當然,Elixir 的創造者 Joseph Alim 就是從 Ruby 圈出來的。他在 Ruby 圈裡本來就很多產,後來決定要……不是說需要,也許是因為他很厲害,他決定要創造自己的語言,並在那裡繼續高產,而且做得非常出色。所以我算是……你知道,我就被拉進那個世界了,我會聽一些播客,他們有時會聊 Ruby,但後來就出現「喔,這是新東西,叫 Elixir」。然後我想,有個算是關鍵的轉折,嗯,應該說是很根本的一件事:我當時住在……其實我剛搬回哥倫布住了一陣子,俄亥俄州的哥倫布。Joseph Aleem 來到哥倫布的 Ruby 社群,Columbus Ruby Brigade。他們就說:「你知道嗎,Joseph Aleem 人真好,願意來講任何你想講的主題。」當然,他就說:「好啊,我要講 Elixir,因為這語言是我創造的,我對它非常興奮。」對,就是這樣。我記得這件事。說來好笑,大概一年前我找到那場演講的錄影。畫質有點粗糙,但還是看得到。我還找得到我向 Joseph 提問的那個位置。我記得我當時很困惑,搞不懂到底……

Jonathan: 我對它非常期待。

Brian: 這些概念,比如你建立了這些 process,而如果有 supervisor 之類的東西,它們就能從失敗中復原。我已經不記得他確切說了什麼,但我當時就想:「那實際上是怎麼運作的?」比如說,好,你能從錯誤中復原,但你還會知道那些錯誤嗎?還是會發生什麼事?這整個過程讓我慢慢理解那是什麼意思。我覺得這過程很有意思。我想當時 Elixir 社群很多人都在努力想辦法描述這些概念。而現在有更多部落格文章、更多素材,讓人可以更快吸收、更快上手。不過總之,那就是我進入這個世界的方式。我想那算是幾個重要的起點之一。就是:「喔,這聽起來很有趣,如果 Jose 說它很酷,那我就該去看看。」

Jonathan: 所以,是不是剛好時機對了,你才走進這個領域?就像很多事情剛好湊在一起,對你來說很合理。你當時有在探索其他語言嗎?我是說,你提到指標,那是指 Go 嗎?還是說你只是剛好在找一門適合你的語言?

Brian: 我想我……對,我的意思是,我很相信「不同的東西適合不同的用途」這個想法。你知道,我現在非常熱衷於 Elixir。我覺得我可能有點偏頗,會說「對,Elixir 幾乎什麼都能做」。這大概不完全正確。至於指標那件事,我想我當時只是想到 C,我大學時寫過一些 C 和 C++,我想。

嗯,對,所以有幾年我都在用 Neo4j 這個圖形資料庫。那是我非常投入的東西,我還是 Ruby 版 Neo4j gem 的維護者之一。因為那是……

我們不用講太細,但圖形資料庫能讓你更快做到某些事,或者在某些方面更容易做到。對我來說,它有點像 Ruby,能幫你用更高層次的角度思考事情,讓你做事更漂亮。不過我單單就是喜歡這種想法:圖形資料庫適合某種用途,關聯式資料庫適合另一種,文件資料庫又適合另一種。而如果我要做一個需要跑得超快的小服務,也許我會用 Rust 或 Go 之類的來寫。所以我應該認識那些語言。至於比較高階的事,有 Ruby 和 Python,但現在還有 Elixir,而 Elixir 其實有很多很棒的優勢。要弄清楚什麼東西適合什麼用途是超級難的事,因為一門語言牽涉的面向太多了,比如說,要判斷它適不適合某個用途就很難。而且人們,包括我自己在內,我想都會因為某些理由,對自己喜歡的某些語言投入感情。所以說,這很難。嗯。

Jonathan: **Brian,**你工作上每天都會用到 Elixir 嗎?你現在的工作是什麼?你現在的日常大概是什麼樣子?

Brian: 對,我是 Erlang Solutions 的顧問。所以我現在和 Erlang Solutions 的一個客戶合作,那家公司叫 VicAI,不知道你有沒有聽過。我想 Lars Wirthven 應該幫過他們一些忙,也在他的部落格上寫過一點關於他們的事。他在 Elixir 圈子裡算是小有名氣的人。對,他們是一間……幫助其他公司的公司,他們做了一個應用程式,用人工智慧協助公司半自動或全自動地處理發票。好。所以他們當然有機器學習模型,但他們也有一個 Elixir API,用來協調很多事情。

Jonathan: 好。所以你每天要面對很多不同的客戶嗎?還是你屬於一個專門的團隊,一路陪伴、和他們合作?那實際上是怎麼運作的?

Brian: 對,我通常會待在某個功能團隊裡,和一位產品經理,加上一位網頁開發者和行動開發者,有時還有後端開發者,以及機器學習團隊。有時候還會有產品或 QA 的人去和客戶對接,這挺好的,幫我們弄清楚最相關、最需要的東西,也就是使用者和客戶真正需要的是什麼。不過這有點像一層一層的,要看情況而定。我們有一個很大的直接客戶,另外也和一些會計系統、ERP 合作,他們有負責輸入資料的人。老實說,我其實沒有很常接觸那一塊,客戶端的事比較少。但我想我們和客戶對接的方式有很多種,要整合就得跳很多不同的舞步,這本身就是個挺有趣的問題。

Jonathan: 所以你每週的工作變化很大嗎?一週裡會做很多不同的事,還是相當可預測?

Brian: 嗯,對,我覺得……你知道,我覺得自己滿幸運的,我通常……我的意思是,通常會有個專案在進行。比如說,最近我才剛幫忙確認我們處理發票時的後端計算是否正確。因為那其實滿棘手的,光是要處理這件事就很麻煩。尤其當發票來自一大堆不同的供應商,他們的做法各不相同。不過我很幸運,他們希望確保我們……維持程式碼品質,整體上都把該做的事做好。所以我們會盡量花不少時間去改善,讓程式碼更好、把事情做得更好。這也是我的個性,我通常會盡量撥出一點時間……你知道,我們做了很多和 Datadog 的整合,確保我們的請求、背景工作等等都有追蹤紀錄。這件事讓我覺得很滿足,因為一旦做完,我就想:「好,現在我有工作需要的工具了。」不過還有,我想最近有件事讓我感興趣,就是某種組織程式碼、引用其他模組的方式。Elixir 圈子裡有個工具叫 Credo,可以讓你在程式碼風格上強制執行各種規則。所以我寫了一條新的 Credo 規則,也許可以用來強制那個規則。我還挺好奇結果會怎樣。

Jonathan: 好,酷。老實說,那聽起來有點超出我的理解範圍,不過我相信一定有人知道是怎麼回事。你剛剛提到你待過一家新創,我想我沒理解錯。所以你有技術支援那一面,也有新創的故事。未來你會想再投入新創嗎?還是那一直是你心裡放著的想法?你覺得自己在接下來 5 到 10 年,在程式設計這條路上的走向會是什麼?我的意思是,你也許不知道,但我覺得問人「你覺得自己 5 年、10 年後會在哪裡」是滿有趣的問題。

Brian: 對,這是個好問題。我的意思是,我算是……就新創來說,我一直都是在小到中型公司之間遊走。

Jonathan: 謝謝。

Brian: ……但我在大公司裡也待得開心。我直到最近才真正想過自己會當顧問,那時我想:「好,這其實挺有趣的,可以到不同的公司,試著幫他們解決問題,然後也許再換到下一家。」我的意思是,如果 Big Gag 的人有在聽,我沒有不開心。

Jonathan: 我當時想:我不該在播客上問人家這個問題吧。不過就是這樣,當然,前提是一切都很順利。抱歉,我的貓在抓門。

Brian: 喔,對對,我剛……我們大概一個月前剛養了一隻小狗,所以我常常得……牠會叫,或者你知道,偶爾會在床尿尿,然後我就得處理。

Jonathan: 我們也剛養,真是瘋了。每天早上 5 點,凌晨 4 點半,牠就會跳上床,開始用爪子扒我的臉。是很可愛沒錯啦,但過一陣子就會想:「拜託喔。」不過回到剛才說的,接下來幾年,你最希望能做到或實現什麼?

Brian: 對,這是個好問題。我很喜歡去弄清楚……我想 Elixir 吸引我的其中一點,是它還算新。所以我喜歡……比如說,有哪些方法可以開闢新的路、找出新的模式。特別是,你知道,不只是……我在 Ruby 圈待過一段時間,所以進入 Elixir 之後,有時會覺得:「喔,這個我在 Ruby 裡很懷念,如果能在這邊做出來就太好了。」但也有一些是:「喔,這個在 Ruby 裡做不太好,但只要這樣做,就能善用 Elixir 的優勢,變得更棒。」所以我想那就是我感興趣的東西:找出漂亮的應用案例,談論它們、分享它們。因為當我讀到某些東西,尤其是讀到真實的應用案例、看到其中的細節時,總是很激勵我。不只是「對,我們做了這件事,大概是這樣做的」,而是「哪裡可以看到程式碼?細節是什麼?」對。

Jonathan: 聽起來你很享受最佳化這一塊,也就是拿一樣東西,開創出讓它更好、更有效率的新做法。至少我聽到的是這樣。你覺得這樣說對嗎?

Brian: 嗯,對,我覺得效率好是好事。但我想,也許我會說,更重要的是找出讓事情變得有趣的方法。我非常喜歡這個想法:我們要怎麼解決問題,讓自己以後不用再面對它?像是做一個函式庫,讓我們可以說:「好,那個問題解決了,現在去做別的,做更值得花時間的事,對吧?」

Jonathan: 不會啦,這很合理。所以我很喜歡問人一個問題,尤其因為……我會說,整體來說我算是剛進入科技業,並不是從小就寫程式、有很深厚背景的人。有一件事常常讓我很注意,你也很常從科技圈的朋友那裡聽到,就是各種觀點滿天飛,這似乎還滿真實的。我們有個問題很喜歡問上我們播客的人,就是:在科技領域,有什麼是你會誓死捍衛的觀點?當然,問的方式有點半開玩笑。但你有沒有某個特定的心態或看法,會讓你說「這是我一定會捍衛的立場」?什麼都可以。舉個好例子,像 DJ,他是我們的維護者之一,你可能認識,他誓死捍衛的是「關鍵對話」的重要性,也就是在科技領域裡進行善意、良好、有結構的對話。要有那種扎實、帶著挑戰的追問,而且建立在正確的基礎上。我想想還有誰說過什麼。Unison 的 Rebecca 說,她寧願團隊裡有 50 個勤奮、認真、也許才華沒那麼出眾的人,也不要一個天才,卻難相處得要命。希望這些算是好例子。我這樣突然丟出這個問題,是有點把你推到火線上了,因為你心裡可能有不少看法。但有沒有哪一個是你會說「不,這個我一定會堅持到底」的?

Brian: 嗯。對。對,因為我第一個想到的是「喔,像駝峰式命名還是蛇形命名」之類的。不過我不確定自己會不會為這個誓死捍衛。我想這類事情……

Jonathan: 我沒辦法……

Brian: 對,對,不過這類事情,我想我……隨著時間也許會越來越沒那麼多意見。不過對,我喜歡你說的那種更高層次的東西。我覺得我可以……我喜歡。讓我看看能不能把這個打開。可惜你會剪輯這段,所以我的停頓都會被剪掉,對吧?

Jonathan: 至少是這樣打算的。

Brian: 對。有個工具叫 Remote Retro,我用過好幾次,非常推薦。我是因為它是用 Elixir 寫的才知道它,但除此之外,我覺得它設計得很好,而且隨著時間變得越來越好用。它每次都從一條「最高指導原則」開始。我現在看著它,發現那應該是出自 Norm Keith,這裡有維基頁面,你可以去查。想知道的話可以上 remote-retro.org 看看。不過……對,這條最高指導原則大概是這樣:它是你在回顧會議開始時讀的東西,讓大家進入正確的心態。內容是:無論我們發現什麼,我們都理解並真心相信,每個人在當時所知、自身的技能與能力、可用的資源以及當下的情況下,都已經盡了最大的努力。嗯,我覺得這很好。我想這有點像……你得確保自己總是……其實我再多說一件事。有一篇訪談,如果你想把連結放在節目說明之類的,我可以分享。

Jonathan: 一定會放上去。

Brian: 對,我每次都推薦這篇文章,雖然它一直都很難找,而且我不知道,現在大概已經有點被遺忘了。不過有這麼一個人,他是美國退伍軍人協會這個政府部門的主管。具體來說,我想他負責的是他們的醫療體系。他有一篇訪談,他本身來自航太領域。他談到很多……在航太界,很多時候,也許不是每個地方都完美,但在他經歷過的很多情況裡,你會怪流程,而不是怪人。如果出了錯,你會說:「好,你知道,這不是……比如說,我在正式環境裡刪掉了一張資料表。但幸好沒有人怪我,他們只是說:『好,那我們現在怎麼辦?』於是我們就讓你在主控台連上正式環境時,提示字元變成紅色的,這樣就很清楚你現在在正式環境,對吧?因為我犯過那個錯,我以為那是開發環境。」對,就是這樣。所以我很幸運,待過一個會怪流程而不是怪人的辦公室。那真的很棒。他用醫療領域來談這件事:比如說,護理師有時可能會給錯藥。那可能是因為標籤讓人混淆,或是某個東西就是很難用,或者就是各種不理想的情況。那就說:「好,我們來修正它,我們來做。」所以如果我們真的在乎病人,就讓它變成一個更不容易出錯的流程。所以我覺得這件事對我來說很重要。

Jonathan: 這真的很棒,我一定要把這些放進節目說明。這是從敏捷出來的嗎?可以說它是建立在敏捷方法之上嗎?還是說有點別的成分?你怎麼看?

Brian: 你知道,我覺得這是個好問題。我的印象是,它在某些航太工程圈子裡算是有相當長久的傳統。我是說航太,我想這也許就是因為,如果你在造飛機,或在造火箭,你的工作就是「這東西必須能用」。而當我們把人放上去,不管是太空人或乘客,我們都得讓它盡可能正常運作。最好的方式就是把自尊放到一邊,然後說:「你知道嗎,什麼……」

Jonathan: 嗯。

Brian: 如果我們照著流程走,什麼能讓它每次盡可能正常運作?我想這是其中一部分,對。

Jonathan: 因為我在查 Remote Retro 的時候,看起來有很多像是敏捷的術語。所以我在想,它是不是從那裡演變來的。不過那真的很棒,我以前沒聽過。我聽過的是關於檢查清單,尤其在醫療和航太領域。像是機師會照著檢查清單走,不會偏離;醫生也一樣。那真的很棒。**Brian,**我們要開始降落了。今晚我還有一個問題要問你。那就是:接下來這一週,你對驅魔社群有什麼建議?如果你能給一個建議,什麼都可以。比如說去喝你當地熟食店的康普茶,或者去北極海跑步兼游泳,什麼都行。如果有一件事你想推薦驅魔社群去試試看,這一週會是什麼?

Brian: 乾杯!嗯。呃,我會說……嗯,我的意思是,要在你能力所及的範圍內,因為這也許……你知道,要給所有人建議總是很難。但我想有件事對我影響很大。有一次我因為突然頭痛去了急診室,當時有點擔心是那種爆發性的頭痛,那可能滿嚴重的。所以我去讓醫生檢查,結果一切正常。不過醫生就是問一些一般的問題,像是:「好,你平常運動量多少?活動量如何?」之類的。我當時,你知道,身為美國人,我就說:「嗯,我走滿多路的,大概一週……一個月 8000 步,或者平均一天 8000 步。」他就說:「你應該每週出門運動 3 次,每次 45 分鐘,要真的流汗那種。」我沒有馬上做。但大概五、六個月後,我確實養成了跑步的習慣,通常每週 3 次,有時每週 2 次。我覺得那算是我人生中很大的改變,對我幫助很大。所以我知道這是一件超難做到的事,對我來說也很難開始。我覺得我做到的其中一個方法是:我告訴自己「好,我要出門,如果最後有 75% 的時間都在走路,那也沒關係,就是這樣,我慢慢累積起來。」

Jonathan: 那很酷。我覺得你提到這點很有意思,因為我們……

Brian: 我覺得你提到這點很有意思,因為我們……

Jonathan: 不,那真的很棒,因為我們在規劃學習團時,試著想的一件事就是:什麼能幫助人成長、學習、往前進,在寫程式這場慢跑中累積動能。其中一點就是「出門」,即使一天只有 10 分鐘,讓自己處在嘗試的狀態。就算你其實沒什麼進展,就算你只是讀了說明,那天就這樣結束,只要你某種形式上有出現,就會有很大的差別。不過我覺得那是很棒的建議,也提醒了我自己該去動一動,因為有時候一直待在室內,實在太靜態了。所以如果有聽眾正在聽,就採納 Brian 的建議,出去跑一跑吧。不過,接下來幾週斯德哥爾摩會開始變冷。你冬天還是照跑嗎?還是改成室內跑?

Brian: 對,我會。而且我想說的是,如果你要每週出門 3 次、每次 30 到 40 分鐘,最好的運動其實就是……任何你最享受的那一種。因為如果你不喜歡跑步,大概就撐不下去。所以這點我先說。不過冬天嘛,斯德哥爾摩天也很黑,所以我有一頂帽子,是我老婆買給我的,裡面有內建的反光纖維。好,那挺不錯的,能保我安全。我還有一個口罩和耳罩可以戴。對,所以我確實得穿得厚一點,但這樣也不錯,因為天氣冷的時候,我可以維持比較輕鬆的節奏,還是能達到效果。對,就是這樣。

Jonathan: 喔,太棒了。Brian,我只想說,非常謝謝你今晚撥出時間。今天大概是漫長的一天,還有小孩、工作、新養的小狗等等。所以我想謝謝你的時間,也謝謝你和我們分享。各位聽眾,我們會把節目說明放在下方的描述欄,你們可以去看看。如果你有機會,而你正在聽這集,就去看看 Elixir 學習路徑吧。還有 **Brian **我不確定你在 Elixir 學習路徑上有沒有在做引導,但如果你哪天真的踏入引導的領域,也許會看到一些新面孔冒出來試東試西。我聽過很多關於 Elixir 的好評,所以我覺得它絕對是未來值得關注的一個。那麼,祝你今晚愉快,Brian。等我把錄音停掉後再稍等一下。總之,很高興能邀請你來,也謝謝你分享了 Brian Underwood 生活的一點洞見。謝謝大家收聽,祝大家有個美好的夜晚,我們很快再見。

更多來自我們社群的故事

聆聽、學習,並從我們的社群成員身上獲得啟發。