2019-08-06 15:30


我知道這命題很大,也會因為公司以及專案關係有一些差異,就來說說看我這幾年經驗中,以我的角度來說前端工程師在做什麼、要會什麼以及下一步是什麼。

先介紹我的經歷:
非本科出身自學加上有人帶的情況,寫了四年半的 PHP 又寫了四年的 JS,算起來做網頁也做了八年多一點。
配合過的設計師有真的會做網頁的,也有平面設計轉網頁轉到卡住的,姑且也算得上經驗豐富了吧?


怎麼那麼多種工程師?
就如同大家知道的,前端工程師是分工分出來的,前後端分離有助於專案開發與維護,但在小公司沒人力的情況下,好一點的是外包配合,普通一點的是把一個人分成前端版本跟後端版本,更慘一點的是乾脆不要分反正專案弄得出來就好了誰管你要幹嘛。

前端工程師在做什麼?
通常配合對象有後端工程師跟設計,視情況而定還可以加上PM、老闆、行銷跟任何人。
跟後端配合的部分就是討論 API 規格,確認好之後後端可以開始做 API,前端可以先弄假資料串假的 API。
而跟設計配合就很看情況了。

截至目前為止,我配合過非外包的設計中,還沒有能夠產出可以用的 HTML+CSS 過,所以多是我請對方切圖(更早期一點還要自己切圖⋯⋯)我來排版。
以我的角度來說,要遇到能夠產出網頁版型的設計師,機率實在太低。
因此,我認為前端工程師必須要會排版,不一定要排得很快很完美,但一定要排出能夠用的版型。
不然花了工時排版結果等到要綁定 Event 串接 API 時候又發現不對要重來,你一定會被恨死。

你說前端工程師乍看只要學會 HTML+CSS 跟 JS 就可以出師找工作,但事情倒也沒有那麼簡單。
因為專案是活的。
必須要了解專案要求支援哪些瀏覽器以及版本,如果需要支援比較老舊的版本,那麼比較新穎的工具跟方法就不能使用,而且也必須為了這些舊型瀏覽器,使用一些比較髒的寫法。
再來,設計師提供的模擬圖可能因為專案要求,不是範例中簡單的版本,你必須要累積足夠的排版經驗才能見招拆招,而不是看到就傻住。
至於 JS,就又是另外一個很長很長的故事了,有很多人說過,這裡就不提了。

前端工程師要學設計嗎?
我覺得能出 mockup 不是必要的,但要有 review 的能力。
在還沒有實際切圖排版前要先看出可能會有的問題,這一定比工時丟下去排到一半發現有缺漏要來回修改還要好。

通常看畫面時候我都會想一下極限狀態之下有沒有問題,表單的話就是輸入中、正確、錯誤跟警告之類的。
如果提問題之後發現對方一臉茫然,此時就蠻需要引導了。
我不喜歡說指導,因為這很給人一種上對下的感覺,叫你設計畫面你也不會弄得比較好,對方只是需要一點網頁的概念罷了。
通常我會丟幾篇設計大大寫的關於極限狀態的文章讓對方參考,願意看就看,不願意看也沒有關係,反正畫面就要常常改來改去,到時候就會有人要求對方看文章了。


前端工程師下一步可以是什麼?
有一些會偏向設計那一端,有一些會更偏向程式那一端,有一些就會中途跳船不當工程師了。
我的下一步不一定能夠作為你的參考,你必須思考自己有興趣的方向是什麼,有熱情的原因在哪裡。

至於會不會羨慕那種可以從設計一路包到接 API 的人,我想多少會吧,畢竟你的能力值決定你可以吃掉多少環節的工作,沒有點到設計技能你要怎麼做出可以過關的 Mockup 呢?

我自己評估過真的沒有點到設計技能,還是該往偏程式一點的地方走。
想了想還是繼續啃文件吧!

Comments