[生科出路]從生科到生理訊號工程師-職場談

身為過來人,了解在就學期間對生科出路未來的迷茫以及無助感。就算能夠上網找資料知道出路可能可以如何發展,但是對於產業、跨領域心路歷程以及實際工作內容、需要的能力並沒有完整且直接的資源可以參考。

因此想要透過自己的力量訪談一些從生科跨到不同領域的人的心路歷程,並且再將這些跨領域人才的談話的內容整理、擴充、理解後撰寫成文章。包含工作內容如何應用跨領域的知識、跨領域遇到的困難或分享一些有趣的故事等。

本篇是以職場應用為主,了解生理訊號工程師的工作內容、跨領域的經驗以及優勢,還有在職場上跟同事的溝通方式等。

如果你第一次看到我的文章,歡迎訂閱我的免費電子報,會陸續更新生醫技術介紹、跨領域人才的專訪以及生理訊號相關技術培養,讓你了解生醫以及學習成為跨領域專家。

開發的產品是什麼?

我待的是一間從母公司額外拉出來創立的新創公司。母公司主要是在做車用的座椅,裡面使用一些氣動系統(充氣袋充洩氣)來達到類似按摩座椅的效果。

而新創公司的部分,則是將充氣袋拿來做新的應用,透過感測器將充氣袋裡面的氣壓變化轉變為有意義的訊號,藉此分析心率以及疲勞指數。

產品主要是車用坐墊,裡面有充氣袋以及感測元件。當駕駛做在駕駛座上時,感測元件會偵測到充氣袋被擠壓,以及經由人體傳導出來的振動訊號,並計算出心率變化最後判斷駕駛是否疲勞。

生理訊號工程師在做什麼?

這個職位通常要透過一些感測器偵測人體的生理現象變化,例如心率變化、腦波變化、情緒變化、呼吸率、代謝率等等。因為牽涉到人體,所以會需要一些生理學的知識,並且結合工程的技術來解決問題。

數據採集

這樣的產品,使用在駕駛情境下會收集並偵測到車子的震動、路上顛簸的震動以及人體擺動的震動與心率的震動。

為了要獲得大量的不同車上、不同駕駛的生理訊號情形,會需要進行多次的實車測試。

在使用車子的場景下,會有車體靜止(如上電之後沒有發動的狀態)、車體怠速(發動之後沒有開車、等紅綠燈時)以及行車狀態。

在不同狀態下,車子震動的模式、駕駛行為、心率變化都會不一樣,所以會固定某個狀況來測試演算法開發的結果。

資料處理

收集回來的資料需要做過前處理,將雜訊、空資料以及實驗失敗的資料挑掉。

接著調整資料的採樣率、做時域與頻域的轉換,將原本記錄下來震動的訊號轉換成訊號強度與頻率的關係。

簡單來說,在以前國高中教育的時候會知道,不規則的波(訊號)會以多個不同頻率的小波(訊號)組成的。所以為了讓我們知道這麼多震動混雜的訊號當中哪些是心率訊號,就需要做傅立葉轉換轉換成頻率,藉此了解哪個頻率的訊號是最強的。

演算法開發與測試

大部分花最多時間的部分會在去除雜訊上,因為實際上原始資料訊號最強的是車體的震動以及不規則的行車震動,這部分很難透過邏輯判斷以及演算法來去除。

另外,駕駛的坐姿、坐的位置、充氣袋的材質、擺放的位置、形狀等等也會影響到收集資料的清晰度,因此如何得到最清晰的生理訊號也是一個很重要的課題。

透過去除雜訊、分離訊號來源之後,找到心率的訊號就可以針對心率的部分做分析。

心率會因為每個人的遺傳、生活習慣、呼吸率、生理狀況等等因素有不一樣的變化。在一些論文中有佐證,心率與疲勞之間有關連性,因此能夠透過一些心率的指標來建立疲勞的數據模型。

產品驗證

駕駛坐姿、坐的位置、充氣袋材質、形狀、駕駛人的心率變化、疲勞模型等這些可變化的結果,都需要在開發以及測試的過程中進行驗證,確定結果有所提升之後,整合進到產品裡面。

驗證過程可能從手機端的資料顯示、MCU(微控制器)的運算過程到資料回收評估的表現都是需要檢驗的過程,才能確保使用者在更新產品功能之後不會降低的使用者體驗。

剩下細節,如果有人有興趣的話可以告訴我,我可以再寫一篇文章特地介紹工作以及原本所學的應用。

將生科見解應用到生理訊號工程的實際工作中

前陣子同事在負責開發呼吸訓練的遊戲,藉由充氣袋的感測器偵測呼跟吸的變化。理論上吸氣時會產生向上的波峰,而吐氣時產生向下的波谷。

但是他們發現,在吐氣到底的時候會出現波形又開始向上的情況,對他們來說很困擾,沒有辦法對齊遊戲的規則可是不知道為什麼。

我一樣透過思考跟生理學所學的經驗,直接進行測試。最後發現,充氣袋能夠偵測到呼與吸的變化是源自於胸腹腔的內壓變化。而正常情況下,吸氣是產生負壓後讓氣體流入胸腔,而吐氣則是相反。

但是,當人想要把氣「吐到底」的時候,腹部的肌肉就需要用力收縮產生額外的壓力好讓氣體向外流出,這個過程就會被充氣袋偵測到並產生波峰。

同事們原先認為是控制器的問題,或者是產品安裝的過程沒裝好,但我透過實測的方式證實我的想法。這樣的見解是需要足夠的生科生理學知識才能提出並應用到實際工作當中,也是跨領域可貴之處。

此為呼吸訊號示意圖

分享案例說明運用跨領域思維解決工程難題

有一個我負責的issue內容是需要解決產品泛用性的問題。

因為我們發現,並不是每個人從人體傳到出來的震動都可以很清晰的被偵測到,因此出現計算心率不準的問題。經過查證與了解之後發現,這些計算不準的原因來自於充氣袋收集到的心率訊號強度很小,沒有辦法被分離出來,因此抓到的數值是雜訊轉換成心率之後的數值。

為了了解這樣的問題根源,我大致分成幾個方向:生理問題、偵測問題以及充氣袋問題,在此謹以生理問題分析。

生理問題

每個人的血壓、體脂、體型、體重都不一樣。

因為心率訊號是在心臟對血管產生衝擊時撞擊並經由人體傳出來的微小震動,其中可能會根據心臟的能力,使得本身撞擊力道大小有所不同,而血壓可能是一個可以會跟心搏強度呈正相關的指標。

除此之外,因為訊號不好的人皆為女性較多,且體脂較高。推測震動經由血管傳到體外的過程會經過大腿,可能會含有一些脂肪。

而體重的部分,則是源自於充氣袋的性質。在封閉的空間裡,根據理想氣體方程式可以知道在固定氣體分子的情況下,體積越小壓力則越大。所以體重越重的人坐在上面,產生的壓力訊號就會越大,訊號也可能更明顯。

偵測問題

人的坐姿、重心後來也發現可能會影響訊號強度,當過度偏向某一邊的時候,充氣袋會被壓扁,失去了傳導震動的功能。

最後,我提出一個假說,雖然沒有辦法被證實,但是透過邏輯解釋之後所做出來的測試項都通過了。

我認爲在固定坐姿的情況下,稍微外八的方式可以收集到比較少來自大腿脂肪部分的訊號。並且,我推測因為脂肪組織的存在,會造成傳播震動的速度變慢(介質不同)。

在充氣袋收集震動的情況下,會因為部分訊號來自脂肪部分而部分來自肌肉部分,造成訊號產生相位差。最後相位差的兩個訊號傳導到充氣袋時會產生破壞性干涉因而減小了感測器偵測到的訊號強度。

這個過程結合了來自生科的生理學,所具備的生理知識,以及工程的訊號與波的傳播概念,結合運用之後所產生的想法。不同於其他同事,單一的專業顯然沒有辦法構想出這樣的思考方式與假說。

如何與不同背景的同事進行有效合作

因為我自己很清楚跨領域的缺點,相較其他專一領域的同事,很多東西我並沒有經歷也沒有紮實的學習基礎。因此,在溝通合作的過程中,除了一開始主管會根據我們能力分派工作以外,在每次溝通的一開始都會先想要理解同事們的想法,知道他們看到什麼問題後,才進行討論。

這樣可以避免自己的想法太過短淺,給出一些完全沒有建設性的建議,同時對齊所有人的思考方向。

蠻有趣的是,因為自己經歷過跨領域,所以在遇到不懂的問題的時候,「勇於挑戰」、「求知」的態度幫助了我不少,甚至在討論過程不被採納的建議,也會事後搜集資料來說服同事。

因為在合作關係上,要別人採納建議是有困難度的:

擁有讓人信服的論點

「用證據說話」,可以是邏輯說詞也可以是參考資料等等,因為通常要說服別人最好從別人的論點來推翻會是最直接的方法,但是我並沒有足夠的理論知識當場提出,而選擇在會後用論文、數據、現象等等方式說服同事。

建立自己的權威

久而久之,每次提出的論點都有理而且不會搞不清楚狀況就亂回答會慢慢建立同事們對你的信任感以及權威感。同時相輔相成的,在每次提供證據跟理論說服的過程也會加深對領域的理解以及觀點。

公司在招新人時,會注意什麼特質與能力?

我曾經問過主管,他在招人的時候認為怎樣是一個適合的人選。

他說因為公司主要是新創的型態,所以很多人會需要身兼不同面向的事情。就算是演算法工程師,也會需要碰到「開發」、「驗證」等不同週期上要做的事情。常常在一個版本好不容易成功驗證過了之後,進到下一個開發週期又出問題了,並且隨著開發內容越來越多,問題也越來越難釐清。

除此之外,新創產品代表著沒有人做過類似的產品,很多時候遇到問題就得自己想像、思考、查證問題的原因。所以在工作的時間裡,有大部分時間都在「發現問題」以及「解決問題」

在大公司裡,也許演算法工程師只需要在自己領域裡鑽研自己專案的演算法,追求「更快」、「更不占空間」。小公司需要做到的除了演算法開發,上要了解一點產品開發週期,下要了解應用層面客戶可能的需求以及使用者體驗,並且要在遇到問題時有「找到問題點的敏銳度」。

他覺得在面試過程中,考coding目的不在了解你的程式語言能力,而更在當遇到問題時,如何與他人溝通、討論,當主管給你建議時你的反應以及思維模式是否能夠適應快速變化的專案方向。

求職過程中,如何向公司展示自己的跨領域優勢?

我覺得最根本的還是從「相信自己」開始。

我自己當初在面試求職的時候,除了將履歷準備好之外,面試的技巧也很重要。需要把面試的公司產品與自己的跨領域技能做結合,試著相信自己並行銷自己讓公司知道可以為他們帶來多少價值。

履歷

履歷的部分算是保守牌,讓公司知道你有能力可以勝任他們想要的工作內容。

需要從跨領域的角度做切入,檢視職缺的JD(工作說明)並思考你目前所能夠滿足的工作內容(記得要相信自己可以,只要有做過就代表你有機會被認可)。

接著,從這些職缺當中找到需要的工作技能或能力,對照到你做過的專題、專案把它重點式的列出來,藉此讓公司知道你曾經做過什麼、能夠勝任什麼工作。

描寫的方式盡量以量化方式呈現,並且清楚提到關鍵字,如「生理訊號」、「機器學習」、「去雜訊」等等這類,可以讓大公司做AI篩選履歷的時候留存下來。

面試

這裡才是真正重要的地方,因為履歷不過是面試的門票,最後能否拿到offer以及談的薪水多少還是要看面試的過程。

除了履歷上提到跨領域的技能以外,面試過程中可以時不時提到自己有跨領域的能力。其實因為履歷上已經透露出跨領域的能力,會找你的公司大多是需要一些跨領域的技能。

在自我介紹的時候,可以新增一頁「為什麼我適任這份工作」來補充自己的優勢,你同時可以解決A領域跟B領域的問題,並且在公司有跨領域問題的時候你有能力可以解決跟面對。

甚至可以試想公司產品可能在未來會遇到哪些「你有的技能能解決的問題」,並且把問題提前做好事前準備做量化,會更有說服力。

舉例而言,我有生理訊號的分析能力,同時有生科的背景也有工程的經驗,在演算法工程師的JD裏面需要開發生理訊號的演算法。

因此我在履歷上呈現了能夠滿足生理訊號分析的樣子,但在面試以及談薪水的時候,我提到有軟體實習的經驗,能夠在未來開發產品並呈現在手機端的時候有更好的銜接能力。

結語

整個系列一共有三篇,以兩週為一期。此篇為職場的部分,接下來有一篇「行業前景及過來人建議」。未來會安排不同跨領域的經驗分享,敬請期待!

如果對於工作內容、履歷相關的職場的問題,歡迎私訊我跟我聊聊!我也可以提供我的履歷參考!希望可以幫助到你!

「白鷗沒浩蕩 萬里誰能馴」

-唐代杜甫的《奉贈韋左丞丈二十二韻

詩人經受着塵世的磨鍊,沒有向封建社會嚴酷的不合理現實屈服,顯示出一種碧海展翅的衝擊力

希望勉勵作者,在未來不合理與需要恆心的時候堅持下去,持續產出有品質的文章,同時也勉勵讀者,在未來的道路上可以一起前進,最後展翅飛翔。

聯絡信箱

    分享給朋友吧~

    發表迴響