工作隨筆 #2: 寫程式其實是複製對的東西,貼在對的地方

更新於 發佈於 閱讀時間約 2 分鐘

不知道為什麼,在矽谷這種工程師密度超高的地方,我們團隊還是有夠缺寫 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 開始偵錯也不會太難⋯⋯一次一次偵錯過後,也會越來越上手的。

矽谷工程師。平常靠著寫程式語言討生活,但使用最多、最喜歡的還是人類語言。 在鍵盤上打字給我一種安心與踏實感。 喜歡聊聊關於寫作、科技與工作的各種大小事。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
第一種方法:暴力解。假如軟體工程師是楓之谷裡的職業,我就是把力量跟敏捷點滿的那傢伙,可以超有效率地寫 code。但在幾週前,一個專案計畫的會議裡面,我看見了一個資深工程師使用另一種方法用一半的時間做完專案。
第一種方法:暴力解。假如軟體工程師是楓之谷裡的職業,我就是把力量跟敏捷點滿的那傢伙,可以超有效率地寫 code。但在幾週前,一個專案計畫的會議裡面,我看見了一個資深工程師使用另一種方法用一半的時間做完專案。
你可能也想看
Google News 追蹤
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
我自己是希望可以製作iOS app來更好存放我的文章, 更進階一點,可以變成直接錄音後, 照我設定的方式轉換成文檔,讓iPhone變成我更強的助手。 感覺有很多可以探索,用時間慢慢累積經驗。
Thumbnail
如果你也是從事軟體相關工作的人,一定會遭遇突然需要你去學習一套你不熟悉的程式語言狀況吧,此時你會怎麼做呢? 是趕快去買書來看嗎? 還是趕快找一門程式課來上? 又或者乾脆去找會的同事來教學?
Thumbnail
需求情境: 在設計畫面時,資料來源是後台的 api,每一次畫面細節的修修改改,都會觸發 Xcode Preview 程序,導致不斷呼叫後台。此時若資料結構和大小都具有一定規模,就會導致效率低落,不斷等待,且消耗伺服器資源甚鉅。 解決方案: 將後台傳回的資料以檔案形式暫存在本地端,每次 pr
Thumbnail
Part.1 搞定基本的 UI 開始開發 iOS App。 首先準備一台 Mac,然後安裝 Xcode,新增專案,系統即刻生成基本的專案結構。coding 的起點在檔案 ContentView.swift: import SwiftUI struct ContentView: View {  
Thumbnail
是的,身為前端工程師的基本功!還是需要時不時拿出來打磨一番! 很多大公司的切版與前端是分開的,但不能因為碰不到就不去理解,假如要系統性的調整樣式,那麼你就一定要懂基礎,就好像你要調整微前端的架構,總不能連包板工具的設定都不會吧! 回到正題,這系列文章每個禮拜三都會更新一題CSS Battle的題
Thumbnail
第一份正職工作 在iot公司擔任後端工程師,一上工就使用先前沒用過的php/laravel,也馬上負責公司產品的架構規劃,先前資料庫只有簡單記載使用者跟使用者的一些設定,很多地方有資料不一致的問題,產品內容還有很多實體的關係沒有被定義進資料庫都是這次改版我要做的事情。 改版納入公司、機器
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
我自己是希望可以製作iOS app來更好存放我的文章, 更進階一點,可以變成直接錄音後, 照我設定的方式轉換成文檔,讓iPhone變成我更強的助手。 感覺有很多可以探索,用時間慢慢累積經驗。
Thumbnail
如果你也是從事軟體相關工作的人,一定會遭遇突然需要你去學習一套你不熟悉的程式語言狀況吧,此時你會怎麼做呢? 是趕快去買書來看嗎? 還是趕快找一門程式課來上? 又或者乾脆去找會的同事來教學?
Thumbnail
需求情境: 在設計畫面時,資料來源是後台的 api,每一次畫面細節的修修改改,都會觸發 Xcode Preview 程序,導致不斷呼叫後台。此時若資料結構和大小都具有一定規模,就會導致效率低落,不斷等待,且消耗伺服器資源甚鉅。 解決方案: 將後台傳回的資料以檔案形式暫存在本地端,每次 pr
Thumbnail
Part.1 搞定基本的 UI 開始開發 iOS App。 首先準備一台 Mac,然後安裝 Xcode,新增專案,系統即刻生成基本的專案結構。coding 的起點在檔案 ContentView.swift: import SwiftUI struct ContentView: View {  
Thumbnail
是的,身為前端工程師的基本功!還是需要時不時拿出來打磨一番! 很多大公司的切版與前端是分開的,但不能因為碰不到就不去理解,假如要系統性的調整樣式,那麼你就一定要懂基礎,就好像你要調整微前端的架構,總不能連包板工具的設定都不會吧! 回到正題,這系列文章每個禮拜三都會更新一題CSS Battle的題
Thumbnail
第一份正職工作 在iot公司擔任後端工程師,一上工就使用先前沒用過的php/laravel,也馬上負責公司產品的架構規劃,先前資料庫只有簡單記載使用者跟使用者的一些設定,很多地方有資料不一致的問題,產品內容還有很多實體的關係沒有被定義進資料庫都是這次改版我要做的事情。 改版納入公司、機器