做 To B 與 To C 的前端開發有什麼不同?
2023年12月31日
前端工程是一個很廣泛的名詞,很可能都是做前端工程師,但你的工作內容跟另一個人完全不同。雖然都是前端開發,產品開發、多媒體開發、設計系統、前端架構,這幾個類別會有非常不同的工作內容。進一步說,光是做產品開發的前端,To C 的產品與 To B 的產品,就有很不同的側重點。讓我們在這一期聊聊他們的區別。
先來談 To C 跟 To B 是什麼,所謂的 To C 是指 To Consumer (對消費者),而 To B 則是 To Business (對企業)。一般你直接在網路上免費或付費使用的軟體,多半屬於 To C 範疇;而做給企業使用,或是通過企業採購的軟體,多半是 To B 的範疇。
當然這定義沒有很絕對,因為有些產品同時是做給 To C 與 To B,或是某個產品有 To C 的面向,同時又有 To B 的面向。舉個常見的例子,以電商來說,一般人會逛的亞馬遜 (Amazon) 或樂天 (Rakuten),都是 To C 的面向;然而亞馬遜跟樂天都有配合的商家,商家要上架、管理商品資訊的頁面則會是 To B 的面向。
To C 的產品特性是使用者量大、邏輯不複雜。以電商來說,龍頭電商都是上億使用者規模,同時面對使用者那端的都要盡力求做的簡單易用,不然使用者就容易不繼續用。在這樣的特性下,To C 的前端會相對更重視效能,因為加載多一秒,都是代表極大量的使用者流失。同時 To C 更強調使用者體驗,例如對於不同螢幕尺寸的 RWD 要求、對於各類瀏覽器兼容的要求。上億使用者的產品,即使只有 1% 也是百萬人。
接著來說 To B,這類產品的特性是,量級小、邏輯複雜。以電商來說,上億使用者的電商,可能裡頭的商家僅有數十萬,規模量極差幾百倍。但是不同類型的商家,往往會有不同的需求,導致在產品設計上,To B 產品邏輯會變比較複雜。因此 To B 產品相對更重視程式碼的可維護性。這不代表 To C 的產品就不重視可維護性。主要是當商業邏輯相對沒那麼複雜時,前端程式碼不要寫太爛,基本上都不會太難維護。
總的來說,同樣是以產品開發導向的前端工程師,選擇 To B 與 To C 會有很不一樣的職涯體驗。選了自己比較不喜歡的,可能會做得痛苦。舉例來說,之前有認識在保險科技 (InsurTech) 公司任職的朋友,負責 To B 的保險產品,曾說過在工作上要學一堆保險相關知識與名詞,才能確保功能寫得正確,因為對保險沒興趣,搞那些商業邏輯讓自己很痛苦。後來他換工作去做 To C 的產品,著重在他更喜歡的使用體驗上,工作起來更加愉快許多。
希望這個簡單的分野,能讓大家更清楚不同的前端職涯。當然,必須再次強調,這是比較概略性的劃分。在選擇要接受哪一份 offer 時,還是需要更詳細打聽職缺實際的內容,才能選到對自己更理想的工作。