2024-09-21|閱讀時間 ‧ 約 24 分鐘

工作隨筆 #2: 做個會寫 iOS 的軟體工程師就好,不用做 iOS 工程師

不知道為什麼,在矽谷這種工程師密度超高的地方,我們團隊還是有夠缺寫 iOS 或者 Android 的工程師。

無可奈何下,幾乎所有手機端的專案最後都會跑到我身上。

雖然不至於說會壓得喘不過氣,但還是大大壓縮到了我能做其他重要事情的時間,讓我很難有空去鑽研使用者的資料、研究未來的 product roadmap 等等對我來說也很有趣的事情。

我也因此起了換組的想法。

也差一點點,我真的就去了做某個酷酷的新產品的團隊。

輾轉想了兩個週末,最後還是決定留在原本的團隊(畢竟,我還是真的滿喜歡現在團隊的人與產品)。但也趁此,我跟老闆要來了些彈性時間,去教團隊上的成員們寫 iOS 跟 Android。

雖然很多內容只適用於我們公司內部的開發架構,但一邊與這些在各自領域強大的同事們交流著,一邊就有了些值得被記錄下來的想法們:


做個能寫 iOS 的工程師,而不是 iOS 工程師。

跟同事們聊著聊著,我發現很多人對於開始做 iOS / Android 專案最大的心理障礙是「可是,我並不想成為一個 iOS 工程師」,因為那代表要學好多東西,也代表著要去做自己並不熟悉的工作。

「我是一個後端工程師。」

「讓我去寫 iOS,我可能花一樣的時間,就只能寫出一半的輸出。」

這些我都同意,也沒有要反駁的意思。

但我也發現,其實,我們團隊並不需要 iOS 工程師,而是會寫 iOS 的軟體工程師

這兩者是有差的。前者是真的有點花時間,要去了解 iOS app & component life cycle, cache, memory allocation 這些有的沒的酷東西,但其實要能幫一個產品端的團隊偶爾寫寫 iOS/Android 程式碼⋯⋯真正需要學的只是如何設定開發環境,與打開 simulator 測試,剩下的就是複製、貼上俗稱,無限劍製/拷貝忍者/真贗相愛) 。


複製對的東西,貼在對的地方

​與任何後端、網頁端的專案一樣,通常一個手機端的專案並沒有大家想像的那麼複雜。

如果有,那就是還能被拆解成更簡單、更小的任務清單 (small tasks)。

舉個例子,當我們說「要在影片裡插入一個廣告」時,我們需要的其實是「在影片播放器裡的某個時間點,加載某些資訊,用它顯示出一個漂亮的元件」。

在一間大公司裡,我的經驗是在這樣拆解過後,大部分的 small tasks 都有人做過了。或者,外部的 GitHub/Stackoverflow 搜尋看看,也肯定有人做過「在影片播放器裡加載資訊」與「寫一個元件去顯示資料」這些事情。

如果沒有的話,那大概有什麼步驟想錯了。

做產品的程式碼通常沒那麼難,不至於會需要發明什麼全新的東西XD

接下來,一個會寫 iOS 的工程師就只是要去找到這些早有人寫過的 code,然後試著去複製貼上。就算跑不起來,通常從 error 開始偵錯也不會太難⋯⋯一次一次偵錯過後,也會越來越上手的。

分享至
成為作者繼續創作的動力吧!
矽谷軟體工程師 | 我喜歡寫作,也喜歡聊聊關於寫作、科技與工作的各種大小事 🙂
© 2024 vocus All rights reserved.