如果需要前端工程師一定要先知道的事情-下
為了達到上面這些目標,前端工程師也使用很多工具,從視覺設計師常用的( Photoshop、Adobe、Macaw、Sketch ) 到程式開發工具 ( IDE、指令列、版本控制、bash script、Build Task)。
有時候我們甚至要考慮行銷( 電子報、廣告活動、用戶資料分析、SEO、社群媒體 ),使用者經驗( 動畫、過場、反饋、使用者介面、圖像化語言 ) 到內容調整 (斷行、避免斷字、可讀性跟顏色)。
不好的前端工程師
也 許大多數顯而易見的理由指向為什麼很難找到前端工程師,是因為市面上充斥不好的前端工程師。如同Quota上一篇文章所陳述的答案,前端工程師擁有比較低 的進入門檻。Javascript, CSS跟HTML 不是很難掌握的程式語言。任何人只要花幾天就可以在 CodeAcademy 或是 Codeschool 學到基礎,但當你學習像是Erlang, Go 或是ANSI C時,你就需要掌握很多電腦工程的技巧。調個顏色跟在網頁中插入一張圖片真的非常簡單,但那跟了解Web的眉眉角角完全是兩回事。
最終,市場上充斥著這樣的前端工程師:
不好的前端工程師會做出這些事 ( 同時也傷害真正前端工程師 )
1.濫用Javascript 函示庫,因為他們不懂怎麼使用原生 Javascript (例如:無處不用 jQuery )。
2.濫用Javascript 外掛,用別人寫的程式碼但沒辦法看懂別人寫什麼 (例如:jQuery.doParallaxPls.js )。
3.不看需求,設計文件,也沒做任何比較跟評估,就在Web應用程式裡用了 CSS 框架 ( Bootstrap, Foundation, Skeleton ),卻只用其中 5% 的 CSS / JS。
4.用了CSS 框架,網站是響應式的,或是響應式設計只是你隨時可以可以加到Web應用程式裡的調味料而已。
5.把「響應式 網頁設計 (Responsive Web Design」掛在嘴邊,卻不知道Server端有哪些解決方案可以用。
6.不遵守規範,不使用前置處理程式,命名規則,好的習慣,並且同時過度的使用CSS selector,id,某個神奇的數值, !important。
7.忽視效能,memory leak (或是根本不知道這是什麼),也不做程式碼的檢查跟評量。
8.展示成品的時候沒做任何的評估,或者評估就是「這在我的電腦 / 瀏覽器 / 裝置上會動」
9.過度的閉門造車,忽略了已經發展30年的軟體工程。
很 多情況下,你想找一個資工背景,然後決定走前端工程的人。要當一個好的前端工程師,資工背景並不能當作是條件,但那些電腦與軟體的基本功的確應該被考慮進 來,無論這些人是用Javascript 寫程式,或是在瀏覽器上寫程式。好的前端工程師了解 Web 或許是一個有史以來最威的平台與環境,程式碼可以在上面直接執行,跟其他在virtual machine 或 runtime 上執行的語言相比,開發時同樣要小心,甚至更小心。
一個好的前端工程師不會只重視Web技術跟其使用的語言,反而是在不同的元件,系統跟概念上擁有豐富的經驗。
下列是一些老鳥前端工程師應該知道,或是比一般前端工程師做得更好的部分( 這些人才是你應該要找的人才 ):
1.DNS解決方案,使用CDN,把資源檔的請求分散到多個不同域名上。
2.HTTP Headers (Expires, Cache-Control, If-Modified-Since )
3.所有Steve Sounders說的規範
4.如何解決所有PageSpeed, YSlow, Chrome Dev Tools Audit, Chrome Dev Tools Timeline 上列出的問題。
5.什麼時候要把事情交給Server,什麼時候要交給前端。
6.利用快取(cache), 預先抓取(pre-fetching) 跟 延後載入(post-load) 技巧。
7.原生Javascript,知道何時要自己刻,何時要去找別人的程式碼來參考,同時還能夠評估出優點跟缺點再去做。
8. 新潮的MVC Javascript 函式庫知識跟用法( 例如:AngularJS, EmberJS, ReactJS ),圖形函式庫( 例如:D3, SnapSVG ),DOM 操作函式庫( 例如:JQuery, Zepto ),延遲載入(lazy loading) 或是 package管理函式庫( 例如:RequireJS, CommonJS ), 任務管理( 例如:Grunt, Gulp ),package管理 ( 例如:Bower, Componentjs ) 及 測試 ( 例如:Protractor, Selenium ).
9.圖片格式,優點,何時使用哪一種,如何使用。圖片的優化技巧,載入的策略 ( Sprites, lazy loading 技巧, 快取刷新, PNG交錯)
10.CSS標準的知識與用法,現代規範與策略 ( 例如:BEM, SMACSS, OOCSS )
11.Javascript 在電腦科學的部分 ( memory management,single threaded nature, garbage collector algorithms, timeouts, scoping, hoisting, patterns )
結論
時 至今日,尤勝於前,前端工程師已在網路佔了一席之地。可能是因為各種裝置,瀏覽器跟網頁標準的進化,使得人們能專注在Web應用程式的使用者上。全世界的 前端工程師跟開發者以經能夠打造出讓人興奮的產品,網路不再只是我們過去所認為:一個讓人看到你餐廳菜單,或是公司營業時間的地方。現在我們擁有從3D 圖庫,即時影音溝通,電台,甚至是整套辦公室工具( 例如:Google Apps, Microsoft Office Online )。所有東西都在雲端,無所不在的儲存了我們所寫下,所聽,電子郵件跟我們所觀賞的影片。
雖然前端工程師很難找,但我知道 有越來越多人將投身前端大軍的行伍。不只是因為讓人驚豔的工作環境或是這份工作提供的優渥薪水,而是因為在Web上開發軟體是極度令人興奮的一件事。你擁 有接觸到數以千計使用者生活的機會,當你透過網路提供一個很棒的服務給某個人,這一切都在一個叫做瀏覽器的東西上發生,儘管它仍有所限制,但它們仍能夠分 析,揮灑或呈現你任何瘋狂的想法。
參考文獻:
1. 張婷玥(2006)。顧客體驗與體驗品質之概念性研究。國立政治大學企業管理研究所碩士論文,未出版。
2.吳政隆,2002,以XML 為資料擷取介面之審計系統實作,私立中原大學會計系碩士班未出版論文。
3.陳柏任,2001,網際網路財務報告揭露之系統架構研究,私立中原大學會計系碩士班未出版論文。
資料來源:lockchou
最新文章
HVACKer:入侵隔離網絡的新型攻擊技術還有什麼不會被入侵?路由器 LED 燈已成為攻擊入口美 5 家獨角獸同天申請 IPO 掛牌,最狂的是一家估值 124 億美的數據分析新創!【台灣「智慧產業」開始佈局】緯創集團領投跨國 AI 新創 iKala,下一步拓展東南亞市場快可以用手機遠端遙控你的所有家電了