Senior Backend Engineer ( Golang )(每月有遠端日)
薪資範圍:85,000 ~ 150,000 TWD / month
團隊介紹
Golang 團隊主要負責交易撮合以及區塊鏈錢包等功能,除了業務邏輯的開發維護,我們也會跟 SRE 合作導入新技術以及優化架構,例如為了提升系統可觀測性,埋入更多 promethues metrics 以及導入 opentelemtry。
- 身為 Golang 團隊的一員,你會感受到我們的團隊文化是:
- 比起單打獨鬥,我們更重視主動的溝通,在每日站立時,大家會清楚地說明負責的工作項目內容,目的是讓團隊能清楚彼此的工作範圍,提升整體對系統的熟悉度,也能互相提醒注意事項。
- 比起定義 Deadline,我們更重視定義明確的 Delivery,Sprint 開始前,大家會明確定義這次 Sprint 的產出,在 Sprint 的結束會彼此分享並 Demo 產出的內容,目的是每次 Sprint 聚焦工作目標,讓工作成果能有節奏地累積。
- 比起 Top-Down 指配任務,我們更重視雙向的討論,我們會定義每季的 OKR,目的是讓組員能清楚知道每個專案對公司的價值,也給組員機會向上提供專案建議,建立個人目標與公司目標的關聯。
- 比起沈默不語,我們更重視有火花的溝通,鼓勵大家表達想法,擁抱不同的意見,雖然溝通有時會耗費心力與時間,但溝通能幫助我們凝聚共識,瞭解彼此,提升合作默契,在我們團隊中,溝通的準則是先對齊情境與問題,在討論方法與實作。
- 比起馬上寫扣,我們更重視先做好系統分析,每個專案開始前都會透過系統分系,定義清楚專案的實作內容以及修改範圍,避免專案做到一半,發現要重構或方向錯誤,也避免專案做完發現沒兼顧可擴充的特性。
- 比起這樣就好,我們更重視深度地討論,我們明白專案會有時程的壓力,我們不追求實作能立馬完美,但期望在系統分析的過程中,能有深度地討論,能清楚明白當前設計的風險以及取捨。
- 比起一成不變,我們更重視調整與進步,我們是扁平的團隊,有任何想法都會被提出並討論,除了專案之外我們也會討論工作合作方式,例如 Code Review 機制,PR 顆粒度,如何回收技術債等等,沒有人是完美的,我們期待互相激勵,促進反思進步。
- 比起工作關係,我們更重視夥伴關係,除了工作專案交流,我們平常也會交流生活,每月聚餐,講幹話,討論職涯,討論如何發財,討論新技術等等。
工作內容
- 身為團隊的 Senior 工程師,我們期待你:
- 能成為專案的負責人,主動與 PM 釐清模糊的需求,主持系統分析會議,切分專案的實作內容,協助成員理解專案,分配任務,擔任專案主要窗口,與其他團隊說明 API 串接方式,規劃專案 Release 以及壓測計畫等。
- 能主動發掘系統中待優化的地方,並在團隊會議主動提出並主持討論,協助其他成員理解問題脈絡,一起討論優化方案,主動規劃落地方案。
- 在不同專案的系統分析中,不僅能在業務邏輯中給予設計上的想法,也能在架構層提供精準的建議,例如 index 的設計,query 的使用,redis 結構設計如何降低記憶體使用率等。
- 能幫助團隊在文化上,開發流程以及 best practice 不斷地迭代改進。
- 對團隊與專案擁有責任感,面對問題能主動釐清,協助他人找到解法,面對複雜的問題,要有找不到 Root Cause 不善罷甘休的氣勢。
- 要有能力清楚且有脈絡地表達與論述事情。
- 對於溝通富有耐心,可以堅持立場,但不會輕易爆氣,期望你能指導其他工程師,能主動分享技術知識。
- 提供高品質的程式,例如清楚的命名,好維護的封裝,可測試的程式,清楚易用的介面,內聚高的業務模組。
- 與不同團隊與部門能緊密的合作,例如與 PM 合作專案,與前端合作 API 串接,與 QA 合作自動化測試的建置,與 SRE 合作導入新的架構與工具。
- 進入後
-
1~3個月內,你將會:
- 了解團隊開發流程
- 了解團隊開發 Convention
- 建制開發環境
- 透過新手專案,熟悉 codebase 以及開發流程
- 修復一個技術債
- 了解不同專案的 Scope 以及參與系統分析
-
3個月後,你將會:
- 解決更複雜的架構性技術債
- 負責交易所交易核心以及 API 優化與維護
- 主導或參與更多專案
- 參與團隊 OKR
-
技術要求
- 必備條件:
- 5年以上backend 相關開發經驗,其中包含3年以上golang 相關開發經驗
- 精通 RESTful API, WebSocket 以及其他 API Protocol (e.g gRPC , GraphQL) 實作與設計
- 精通 RDBMS DB 並具有 performance tuning 以及 schema 設計的經驗
- 有使用 noSQL 經驗
- 精通 Redis 並知道不同資料結構的使用情境,以及具有 Redis Memory 優化經驗
- 精通⾼併發以及多線程開發經驗
- 精通 Kafka 相關開發經驗
- 有能⼒開發低耦合⾼內聚的模組
- 熟悉分散式系統架構以及理論
- 有建制過複雜業務邏輯的系統架構,例如 event-driven & micro-services 等架構
- 有處理過大資料量系統設計的經驗
- 理解系統架構設計,例如 Design Pattern 以及 Clean Architecture
- 使⽤過 Docker & Kubernetes
- 良好的錯誤排查能⼒
- 良好的溝通以及整合能⼒
- 有基礎的作業系統知識,例如 memory 管理
- 有系統監控工具經驗,例如 prometheus, opentracing 等
- nice to have:
- 有區塊鏈交易所相關經驗
- 有處理過訂單金流服務相關經驗
工作條件
-
工作經驗:5年以上backend 相關開發經驗,其中包含3年以上golang相關開發經驗
-
學歷要求:大學以上
-
科系要求:資訊相關科系
-
語文條件:
- 中文 ( 聽說讀寫 ):精通
- 英文 ( 聽說讀寫 ):中等
-
擅長工具:
golang k8s gitlab cicd prometheus , granfana elk kafka tracing git UML documentary
公司地址:
台北市松山區南京東路四段16號8樓A室其他:
None-2024-11-19