跳到主要內容

你所不知道的 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 (依字母排序)

留言

這個網誌中的熱門文章

COSCUP 2024 徵稿辦法 / COSCUP 2024 Call for Proposals

COSCUP 2024 Call for Proposals: Until 9th, May Submit Your Proposals HERE! 今年 COSCUP 一如往常,徵求各式各樣不同的 Open Source 相關稿件。請於 05 月 09 日(AoE) 前投稿,徵稿主題可參考本頁下方各議程軌資訊。 請注意,每場議程長度預設為 30 分鐘 ,惟部分議程軌開放其他議程長度,會在報名表單第二頁選填。 為了增添 COSCUP 的國際能見度,今年所有入選稿件希望都可以提供中英文版雙語資訊。徵稿階段,您可先以自己偏好的語言準備演講或撰寫 CfP 稿件。 提醒您,COSCUP 是一個倡導開放的研討會,所有演講將錄影並以創用 YouTube CC 姓名標示-相同方式分享 4.0 釋出。如果您的演講有任何不能錄影或不願以此條款釋出的狀況,請務必於投稿表單上註明。 We are looking for talks in several open-source related areas, please submit your proposal before May 09th, 2024 (AoE, Anywhere on Earth) . The theme for submissions can be referenced from the information on various tracks at the bottom of this page. Please note that the length of each agenda is preset to 30 minutes, only the specific tracks are open to other agenda lengths for selection, which will be filled in on the second page of the registration form. To make it more accessible for international audiences, we kindly request CFP information to be provided in both Chinese and

Designers in Tech- Open Source Design Workshop

關於工作坊 今年在COSCUP(Conference for Open Source Coders, Users Promoters)將協同國際團隊 Superbloom(以人為本出發幫助設計更具包容性和開放性的國際非營利組織)舉辦Designers in Tech- Open Source Design Workshop工作坊,此工作坊是專門為希望對社會做出正面貢獻的設計師所設計的,我們將邀起您以設計師的姿態,在科技人為主的世界裡舞擺出專屬於你的開源貢獻。 設計,如果共享後會有怎樣的可能性?開源設計為另一種合作模式,結合「共同協作」,讓人們可以自由地存取、使用、修改和分享設計資源來達到共同設計的目的。這次的工作坊試圖透過一個公開、透明、無國界的網路平台Github,讓設計師有機會參與平日以工程師為主的平台,並在上面做出生平第一次的開源設計貢獻,重新定義開源貢獻與設計的可能。 我們相信藉由設計師的參與可以優化現有以工程師、開發者為重的開源生態。通過設計師將專案納入更多的可及性和包容性。活動主旨在帶領設計師學習Github平台操作,進而可自行為開源專案進行貢獻。我們致力於賦能設計師開源專案貢獻力,摒除藩籬,打破開源僅為程式開發是唯一有價值貢獻的迷思。 我們將以「設計思考」思維出發並結合Superbloom的「使用者研究」個案來帶領工作坊,進一步在GitHub上挑選出3個專案做出貢獻:去中心化的移動網絡瀏覽器( Ceno Browser )、事實查核( Co-Facts )、通訊軟體( Session )。全程手把手引導教學如何以設計師的身份在GitHub上做出貢獻,提供全面的支援。在工作坊結束後,參與者能更加了解開源設計及在開源專案自行進行協作。 誰應該參加這個工作坊? 我們的工作坊對於UI/UX、平面設計師都相當歡迎 誰將帶領這個工作坊? Eriol Fox:Eriol擁有10年以上的設計工作經驗,從營利性企業開始,後來轉向非政府組織和開源軟件組織。他們曾參與涉及可持續食品系統、和平建設和危機應對技術的複雜問題。Eriol目前在Simply Secure工作,從事設計、研究、開源和技術項目。 Eriol是紐卡斯爾大學Open Lab的兼職資助博士研究員,他研究設計師如何參與以人道主義和人權為重點的開源軟件項目。

什麼是MySQL?

什麼是 MySQL ? MySQL 是世界上最受歡迎的開源資料庫。根據 DB-Engines 的資料, MySQL 是第二大最受歡迎的資料庫,僅次於 Oracle 資料庫 。 MySQL 為許多使用量最大的應用系統提供支援,包括 Facebook 、 Twitter 、 Netflix 、 Uber 、 Airbnb 、 Shopify 和 Booking.com 。 由於 MySQL 是開源的,因此它包含了超過 25 年來與使用者密切合作開發的許多功能。因此,您最喜歡的應用系統或程式設計語言很可能受到 MySQL 資料庫的支援。 MySQL 的優勢 MySQL 快速、可靠、可擴展且易於使用。它最初是為了快速處理大型資料庫而開發的,並且多年來一直在要求苛刻的生產環境中使用。 儘管 MySQL 在不斷發展中,但它提供了一組豐富而有用的功能。 MySQL 的連接性、速度和安全性使其非常適合使用互聯網上的資料庫。 MySQL 的主要優勢包括 ·        易用性: 開發人員可以在幾分鐘內安裝 MySQL ,並且資料庫易於管理。 ·        可靠性: MySQL 是最成熟和使用最廣泛的資料庫之一。 25 年來,它已經在各種場景中進行了測試,包括世界上許多最大的公司。由於其可靠性,組織依賴 MySQL 來運行關鍵業務應用系統。 ·        可擴展性: MySQL 可以擴展以滿足使用量最大的應用系統的需求。 MySQL 的原生複製架構使 Facebook 等組織能夠擴展應用系統以支援數十億使用者。 ·        性能: MySQL HeatWave   比其他資料庫服務更快、更便宜 ,正如多個標準行業基準測試所證明的那樣,包括 TPC-H 、 TPC-DS 和 CH- benCHmark 。 ·        高可用性: MySQL 提供了一整套原生的、完全集成的複製技術,可實現高可用性和災難恢復。對於業務關鍵型應用系統,為了滿足服務水準協定 (SLA) 承諾,客戶可以實現 RPO = 0 (零資料遺失 ) RTO = 數秒內(自動故障轉移) ·        安全性: 資料 安全 需要保護並遵守行業和政府法規,包括《歐盟通用資料保護條例》、《支付卡行業資料安全標準》、《健康保