About the Team

AmazingTalker 一直抱持精實創業 (Lean Startup) 的精神,以最少可行產品(MVP) 的方式進行開發,務求在極短時間內驗證市場需求,我們不斷迭代 (iteration),快速把產品從 0 分做到 60 分。2020年 3 月,我們開始開發第一版 iOS App,隨著 AmazingTalker 拓展到不同國家,愈來愈多使用者向我們表達對 iOS App 的強烈需求。因此我們決定擴編 iOS App 團隊,目標是提昇開發速度,提供更完整的功能給使用者,把產品從 60 分做到 100 分。

作為「資深 iOS 工程師」,您將會是 iOS App 團隊的核心成員,和我們資深的 iOS 工程師、後端工程師、設計師、產品經理緊密合作。在AmazingTalker 您有很大的自主權,有機會參與和影響 iOS App 開發的所有流程,從產品發想、設計方向、到建立有系統的程式架構,不會只是執行其他人的想法而已。在這裡,您可以得到產品 Ownership 和能夠影響數以萬計使用者帶來的滿足感。而在開發的過程,您會重視程式碼的 Design Pattern,會思考程式碼可以複用在產品哪些地方,以及考慮未來的應用情景,把元件拆解到合理的大小進行模組化,在完成任務和可擴充性中間取得平衡。

Your Journey at AmazingTalker

1 個月內,您將會:

  • 了解產品願景和未來方向
  • 了解 AmazingTalker 產品的架構和演化過程,以及過去的設計邏輯和背後解決的問題
  • 了解 AmazingTalker 的團隊如何利用 Asana、Notion、Miro 等工具進行協作
  • 了解公司的商業目標,跟 CEO 、設計師、工程師一起決定重構項目的優先順序
  • 開發兼顧易讀性、可重用性、效能、可測試性和可維護性的程式碼

3 個月內,您將會:

  • 根據定下優先順序,著手把網站功能開發到 iOS App 上
  • 有能力判斷開發的項目能否達到目標,釐清項目不明確的地方
  • 了解開發的任務與公司目標的關係,為長遠技術路線圖提出建議
  • 和設計師一起確立開發項目的成功指標,透過數據追蹤驗證項目是否有達到預期目標

在 6 月內,您將會:

  • 把個別功能模組化,以微服務 (Microservices) 方式作為核心基礎
  • 把研究和開發過程記錄和系統化,作為未來迭代的依據
  • 招募團隊成員,以支持需要發展的領域
  • 為自己和團隊的結果負責,維持卓越的工程文化,實踐行業的 Best Practice

條件要求

  • 對 iOS App (swift) 開發有透澈了解(如果能在 App Store 下載你過去的傑作會加分)
  • 能夠為各個 UI 元件編寫高性能,可重用的程式碼,並進行適當的測試
  • 具備串接後端 API 經驗
  • 具備構建和管理工具(Git)的經驗
  • 熟悉 SOLID, Unit Test, Clean Code, Design Pattern, Object-oriented Programming, Protocol-Oriented Programming
  • 熟悉 App 上架流程
  • 熟悉 GraphQL 加分
  • 能夠與設計師合作,以快速的方法建構 Prototype 的能力

工程文化

  • 我們在 Engineer 徵才資訊提供了許多資訊,希望能幫助你評估 AmazingTalker 是不是一間符合你期待的公司!
  • 拆解需求直達本質- 工程師會與 PM 一起面對問題一起探索解決本質問題的方法,在 AT 我們重視工程師和團隊的其他成員一起解決問題,而不只把需求做完。
  • 注重程式碼品質- 我們有幾個機制確保程式碼的品質 1. 開發前的架構審核 2. 程式碼審核 3. 單元測試,我們鼓勵工程師用介面設計的思維來撰寫程式碼。
  • 勇於嘗試新技術- 鼓勵工程師自我學習並提供技術課,成員勇於嘗試新的事物,都會主動想推動各種技術、流程或架構,幫助讓整個開發更順暢、迅速。
  • 知識共享- 團隊的每個成員會記錄自身的知識彼此迭代,你可以在公司學習以及分享所有人的知識。
  • 不懼於對他人提問- 團隊成員都是理性的提問,所以當面臨被他人提問或是質疑的時候,會用更開放的態度,不會有疑慮對方是不是在針對自己,對事不對人。
  • 面對質疑保持開放態度- 成員抱持的開放的心態,通常的討論氛圍也都很舒服,將其他人的想法、建議、批評轉化成持續迭代改善的養分。
  • 讓數據說話- 從規劃到蒐集到統計到迭代,我們的每一個決策都是有理有據的,面臨決策不是用猜的而是用迭代出來的經驗來預測未來。

Tagged as: clean code, design pattern, object-oriented programming, protocol-oriented programming, solid, unit test

Leave a Reply or a Review

*