跳到主要內容

你所不知道的 foodpanda

 

image

2020 左右,隨著新冠疫情流行,台灣也逐漸流行起一股懶人旋風。懶懶躺在沙發上,動動手指滑滑螢幕,生鮮或美食就能快速又安全地由可愛的粉紅色熊貓外送員送達您門口。多數人知道 foodpanda 是台灣最大生鮮美食外送平台,也不少人知道 foodpanda 在台灣不斷擴張業務範圍,但 foodpanda 也有許多台灣科技圈所不知道的事。

例如,foodpanda 其實並非台灣本土廠商,也非只專注在亞洲區域。foodpanda 隸屬於德國 Delivery Hero 集團,業務橫跨歐洲、亞洲、美洲及北非,旗下更有十多個生鮮美食外送品牌。除此之外,foodpanda 於 2021 年時也在台灣正式成立全球第三個 Tech Hub。做為四大產品 RD 研發中心之一,台灣與德國柏林、新加坡及土耳其伊斯坦堡的人才緊密地合作,專注於打造 end-to-end 的顧客體驗。諸如月費方案 Panda Pro、外帶自取、餐廳內用 (目前仍未在台灣上市) 等功能。期待能持續吸收優秀人才、與其它三個跨國研發中心合作,打造後疫情時代新的成長引擎。

事實上,台灣的 foodpanda 研發團隊並不僅止於打造台灣本土產品。反之,我們所建立的平台及產品,已成功於近 20 個國家、10 個品牌上市。要在快速的步調下,打造持續進步且符合不同國家文化客戶需求的產品,我們依靠的是

  1. 專案團隊成員一條龍組合
    從 Product Manager、Engineering Manager、iOS/Android/Web/Backend developer、QA、Product Designer、Product Analyst 全都在同一個 product line squad。讓相同產品的團隊成員能緊密合作、第一手快速了解市場、滿足需求。
    image

  2. 國際專業團隊緊密合作
    foodpanda 的 iOS/Android/Web/Backend 等專業工程師,都各自設有其跨 squad 的 chapter 組織。讓工程師能在專案團隊以外,有跨國跨團隊專業能力交流的機會。在 chapter 中,相同技術域領的專家們,會一起制定共同的實作標準、分享在專案中遇到類似的挑戰,並且找出可能的應對方案。因此,在 foodpanda 我們不只打產品專案團隊的速度戰、還打整個集團的整合能力團體戰,讓德國、新加坡、台灣、伊斯坦堡的工程師們用最有效率的方式縝密整合、攻城略地。
    image

  3. 關注個人成長
    foodpanda 的面試關卡極具挑戰性,能夠通過面試進到 foodpanda 的工程師通常都具備獨立作業的能力、有優秀的工程技術、以及良好的溝通和英文能力。除此之外,由於工作性質需開發跨國上市產品、密切與其它國家工程師合作,我們期待能幫助每位成員都能持續成長以面對接踵而來的挑戰。制度設計上的每週 1:1 和主管聊工作中的規劃與挑戰、甚至是中長期的生涯成長規劃,以及各式各樣的學習機會、跨組織連結創造個人及團隊成績,都是 foodpanda 成長文化中不可或缺的一部份。

  4. 致力於建立尊重多元意見的開放團隊
    在 foodpanda 工作,每天都需要與不同國籍、不同專業背景、不同文化的同事合作。我們不斷在組織設計、溝通制度及核心文化上進行精進,期許在 foodpanda 中的每個成員,都能充分表達自己的意見、有了解彼此的管道,更重要的是能彼此包容創造出 1 加 1 大於 2 的效果。
    image

Backend Solution 簡要分享

foodpanda 平台相關集團的品牌在全球多個國家運行,同時,我們的訂單數量也每年高速在增長,至今每月已有數千萬張訂單。為了同時面對高流量的挑戰,且保持系統的可擴充性 (Scalability),我們主要使用 Golang 建置完善的微服務架構 (Microservices),搭配 AWS 服務 (SNS/SQS, DynamoDB 等) 和開源的部署工具 (Kubernetes, Terraform) 來應對這些挑戰。
後端平常再開發時也很常會使用到開源軟體以增進開發效率。舉例來說當我們的微服務想要加入斷路器模式 (Circuit Breaker Pattern) 時,就有使用到 Netflix 的 Hystrix 套件。

Web Frontend Solution 簡要分享

微服務 (Microservices) 對大家來說一定不陌生,隨著容器化技術的成熟,我們可以將原本複雜的龐大架構根據商業邏輯拆分為多個服務。除了有獨立維護的方便性外,擴展和部屬也不會受其他服務限制。而在前端的世界裡,也有著所謂 microfrontend 的架構。

我們使用 react 將視覺組件按組織需求分成不同區塊,讓不同團隊間能夠一起協作。組織上除了解決業務問題,也在跨組織間有密切跨國跨團隊的合作,例如技術債的更新。除了日常任務,我們也會透過 cypress 等自動測試功能導入開發流程,讓新功能引入時,能夠儘快的知道有沒有問題產生。我們也鼓勵大家互相審查交付的程式碼,每次將程式碼推上 github 後,除了進行一連串的單元測試,風格檢查,還會要求跨團隊的的交互審查。這些審查除了幫助我們避免實作的問題之外,也讓不同團隊能夠即時的交流。

以 foodpanda 網頁為例,無論是餐廳列表、菜單,亦或是結帳頁,均是由一個獨立的 squad 來負責開發及維護,並且能做到指定國家/區域的部署。而台灣的外帶自取 squad、餐廳內用 squad 等則負責 end-to-end 組合各獨立元件並添加業務所需要的變化。

這也是 foodpanda 如何在龐大的 codebase 與組織架構下,能順暢地進行跨國跨團隊多人協作的原因。搭配完整的 CI/CD 流程與 Github Actions 快速產生出各個 microfrontend 的 Docker image,也許在你閱讀這篇文章時,我們德國的同事們也正在發佈新版本呢。

除此之外,我們也實作了一套通用的 feature flag system。有 iOS/Android 開發經驗的人都知道,審查過程是如此繁複且冗長,萬一不小心送出了有問題的代碼,很容易造成大災難。

因此有經驗的企業在功能設計都會用 feature flag 來控制功能的啟閉,甚至提供商業維運團隊以A/B Test 進行市場實驗,找出最佳功能、業務組合。而我們的 flag system 除了有直覺的介面外,還能夠設定許多條件,如平台、版本、國家、甚至是特定帳號。重要的是,這些都不必由工程師親自操作,非技術人員也能無礙的進行操作與設定,這也是為什麼我們能簡單的在多個國家多個品牌下實現客製化的原因之一。

給期待挑戰、與世界各地高手們併肩作戰的你

目前 foodpanda Taiwan tech hub,在 squad 中需要的每個角色諸如 QA、Product Analyst、Product Designer、iOS/Android/Backend (golang)/Frontend (react) engineer、Product Manager、Engineering Manager 都有在徵才喔!

如果想了解更多,請參考職缺網頁。

Post Credit : Andrew Wu, Derek Tzeng, Hector Yang, Nelson Lin (依字母排序)

留言

這個網誌中的熱門文章

用 Flutter 與 KKBOX API 做出科科歌單

用 Flutter 與 KKBOX API 做出科科歌單 前言 大家好,我是 KKBOX 開放平台部門的小小實習生 Raymond,今天想分享一下自己學習 Flutter 並使用 KKBOX Open API 做出一個簡單的 App 的心路歷程,這篇文章首先會簡單的介紹一下 Flutter,我取得 Flutter 資源的方式,再來就是實作 KKBOX 報報的部分以及學習感想,希望能讓大家有所收穫。 Flutter 是什麼? Flutter 是由 Google 所開發出的跨平台開發套件,可同時運行於 iOS 與 Android,跨平台,高效能(跟 React Native 比起來),以及開發效率極高的特性讓許多人一試成主顧。在 StackOverflow Developer Survey 2019 的調查結果中,Flutter 是 Most Loved Other Frameworks, Libraries, and Tools 中的第三名,甚至高於 React Native,而 Flutter team 在今年的 Google I/O 大會上釋出了 Flutter for web 的 technical preview,未來也將會支援 Desktop 與 Embedding system,可以說是極具發展潛力的開發套件。 Flutter 的哪些特點吸引了我? 為何 Flutter 如此受歡迎,大家都一用就愛上它?他與同是跨平台開發的 React Native 有什麼不一樣?經過了一番搜尋與研究,我整理出了一些大家喜愛的點(在等下的實作中你也會體驗到) 快速的開發:寫過 Android 就知道 Gradle build 會花上很多時間,而在開發時我們常常需要重複的 build 而拖慢開發速度,Flutter 的 hot reload 只要在一開始啟動時進行一次 Gradle build,之後的任何對程式碼的更改只要按下 Ctrl + S,Flutter 就會自動進行 UI 的重構,讓你可以快速的檢視所做的改變,跟 Android 原生開發比其來真的是天壤之別。 Layout 與邏輯使用同一種語言:不像 Android 使用分別的 XML 檔來設計 Layout,Flutter 使用同一種語言(Dart)來設計 Layout 與邏輯。 真.跨平台:相比於同...

COSCUP Lightning Talks - 2026 ⚡️

COSCUP 2026 閃電秀 / Lightning talks Photo by COSCUP 2025 紀錄組 閃電秀是一個由多場超短時的議程發表構成的一個表演性質居多的活動,通常會被放在獨佔時段,所有會眾都會聚集到這個會議廳觀賞這齣表演,稱之為閃電秀 (Lightning Talks)。 今年的閃電秀將於 2026 Aug 09 週日的下午 16:15 - 17:00 在 RB105 議程軌開講。 本次閃電秀的參加規則如下: 每個講題 3 分鐘,時間一到就會立刻切掉您的畫面,並邀請觀眾拍手掌聲鼓勵。 歡迎將您想曝光的 Projects、Idea 或小議題在這裡跟大家分享! 應遵守 COSCUP 的 CoC 規則 的原則之下進行發表演說,主持人有權基於本規則的判斷將不適合的發表暫停,並向大家說明理由。 需要再時限內完成報名 敬請自備筆電(和 HDMI 轉接器)上台 需要提早一場議程 (在結束前) 到 Main Hall (RB105) 報到 沒有限制發表語言,但建議可以使用英文或中文,大部分的現場觀眾能夠識別這兩種語言 *所有時區皆為 UTC+8 Lightning Talks is an event featuring multiple short speeches or presentations, typically held within an exclusive time slot. All attendees gather in the main hall to watch the show. This year, the Lightning talks is on Aug 09th from 16:15 - 17:00 (UCT+8) at Room RB105! Each talk is limited to 3 minutes. Once the time is up, your screen will be cut off immediately, and the audience will be invited to applaud and show encouragement. You're welcome to share any projects, ideas, or small topics you...

在台灣就能成為矽谷獨角獸的一員!歡迎加入Nitra

在台灣就能成為矽谷獨角獸的一員!歡迎加入Nitra "The financial home for independent medicine." Every practice can spend less time on paperwork and more on patients — and keep more of what they earn. 這是 Nitra 的使命,也是我們每天在做的事——用技術把繁瑣的財務與行政工作接管過來,讓醫療院所把心力留給病患,也讓醫療人員留下更多屬於自己的報酬。 我們是 Nitra Nitra 是專為美國醫療院所打造的 AI-native 財務平台,整合財務管理、醫療採購與病患行政系統,建立能自動化支付、採購、庫存管理、預約排程、保險資格驗證與病患溝通等核心流程。 用數字說話(因為我們知道,開源社群不吃畫大餅這一套) 「新創」這兩個字常常讓人聯想到燒錢、畫大餅。所以與其講故事,我們更想直接把數字攤開來: 累計募資 1.87 億美元(約新台幣 59.8 億元) 年化營收(ARR)從 400 萬美元(約新台幣 1.3 億元)成長到超過 3,300 萬美元(約新台幣 10.6 億元) 2026 年目標:服務診所數突破 3,000 家、ARR 達 1.5 億美元、年化交易額(TPV)達 40 億美元 這些數字背後代表的是,Nitra 有紮實的營收成長與受市場認可的客戶/投資人基礎——我們並不甘於現況,持續擴編團隊和產品線,打造獨角獸(Unicorn),甚至是十角獸(Decacorn)為目標。 Nitra Taiwan:產品研發的主力 Nitra 從創立初期就決定把核心研發放在台灣,而不是把台灣團隊當成「海外分部」。過去半年,Nitra Taiwan 的團隊規模成長超過一倍,成員橫跨軟體工程師、設計師與產品經理,主導公司絕大多數的產品開發工作——從後端系統、前端體驗到內部工具,都是台灣團隊在第一線推進。 團隊怎麼工作?我們鼓勵大家放手嘗試各種 AI 工具,token 額度不設上限——甚至有人一個月用掉的 AI token 費用超過自己的薪水(我們沒有制止他,這正是我們想要的實驗精神)。能不能用新工具把事情做得更快更好,比「有沒有先申請預算」重要多了。 為什麼贊助 COSCUP? 開源的核心精神——開放、協...