公司找不到資深前端工程師可以導入前端框架嗎?

栏目: JavaScript · 发布时间: 5年前

内容简介:我有很多客戶都跟我提過這個問題:「我公司想導入前端框架,不過公司內沒有人熟前端,很怕如果遇到技術問題會卡關,做不出想要的功能怎麼辦?」公司內沒有資深的前端工程師,導入前端框架確實是件痛苦的事,本篇文章將探討我對這個議題的想法與對策。我去年 12 月到這個問題其實我心中有好幾種答案:
公司找不到資深前端工程師可以導入前端框架嗎?

我有很多客戶都跟我提過這個問題:「我公司想導入前端框架,不過公司內沒有人熟前端,很怕如果遇到技術問題會卡關,做不出想要的功能怎麼辦?」公司內沒有資深的前端工程師,導入前端框架確實是件痛苦的事,本篇文章將探討我對這個議題的想法與對策。

我去年 12 月到 2018 ngChina 开发者大会 演講,在第一天下午最後有場 Panel Discussion (圓桌論壇),跟當天在座 300 位與會者一同交流,其中有位來賓問了一個問題,而他的問題我在台灣也回答過好幾次。他的問題是:「在國內都找不到會寫 Angular 的工程師,請問台上的講師有什麼辦法解決?」當時我就搶了麥克風來回答,因為我太有經驗了!:laughing:

這個問題其實我心中有好幾種答案:

  1. 你覺得用 Vue 或 React 就找的到人嗎?
  2. 不管你公司用什麼框架,你覺得應徵者說「會寫」你就敢用嗎?
  3. 前端 SPA 框架現在是非常火熱沒錯,但你知道 jQuery 的用戶還是占大多數嗎?

我記得當時的我是這樣回答的:「不是只有你招不到有經驗的 Angular 開發人員,我們也差不多,也都不好找,大家也都一樣。但相較於其他框架,Angular 在 Angular CLI 的幫助下,開發前端應用不再有極高門檻,反而是任何一個新人只要培訓的一兩天就能立即開工。所以在我們公司,經常會聘用沒有 Angular 開發經驗的前端工程師,經過短時間的訓練通常都能快速上手。而且 Angular 架構穩定,開發的一致性極高,任何人要參與維護一個開發中的 Angular 專案,通常不會差太多!所以這個問題,對我們來說困擾不大!」

我講完之後,台下掌聲響起,大家似乎頗有同感。會後跟大家交流的過程,也蠻多人說跟我有相同的見解,公司在培訓新人方面也不太會有問題。

前端框架的選擇障礙 (個人)

這幾年前端框架之間的戰火已經大致底定,Angular、Vue、React 三強鼎立之下,先不論誰強誰弱,總之都各有擁護者,喜歡的就是喜歡,不喜歡的大概也沒力氣換,這就是目前殘酷的事實。公司如果已經選用了特定框架,你就用什麼,不都是這樣嗎?

也曾經有人問過我,在外面找工作,要找 React 的工作好像不少,用 Vue 的也很多,而 Angular 的工作機會相對較少,這樣是不是不要學 Angular 比較好?

我必須說,身為一個求職者,光看求職市場的大盤是沒啥意義的,因為不是每一間公司你都想去,而你也不知道哪一間公司適合你去。我相信去學 React / Vue 的人應該也不少,但為啥我身邊有許多朋友都在抱怨找不到 React / Vue 的好手,甚至抱怨找來的人都在亂寫,Code Review 看到吐血。

事實上,學任何一門技術或框架,都應該要深入核心,掌握技術原理,更能夠舉一反三的快速解決問題,這才是確保找到好工作的不二法門。有些基本功,不管你學哪一個框架都需要花時間了解,沒有藉口。但我也相信,不是每個人都能成為 資深前端工程師 ,不管你有幾年的工作經驗都一樣,但是解決問題的能力與態度,應該是每個人都需要具備的。

所以,話說回來,前端框架的選擇不是重點,因為這三大框架,你熟悉任何一套,都應該很容易找到不錯的工作。今天你對 Vue 有愛,再多的困難你也會想辦法解決。今天你喜歡 Angular 的設計,它每出一個新版本你都會感到興奮。我們就是在這樣的心態下不斷進步。

前端框架的選擇障礙 (組織)

前端框架的水很深,沒有人帶領,真的會學的很慢,甚至於覺得不值得投資時間在上面,乾脆繼續用 jQuery 算了。

由於我這些年都在各大企業擔任講師與顧問 ( 有顧問需求可以點這裡 ),協助企業導入 Angular 前端開發框架,我發現大部分企業都有以下狀況:

  1. 企業中大多是後端開發者,懂一點 JS 與 jQuery 前端開發。
  2. 後端開發者大多熟悉 物件導向程式語言 (OOP),並以 C# 與 Java 為大宗。
  3. 許多老舊的後端框架維護不易,新人都不會舊式框架,訓練成本高,人才又不容易留住。
  4. 有許多後端框架混和前端(jQuery)的 Web 應用,程式碼複雜度過高,不容易理解與修改。
  5. 公司內大多沒有資深前端工程師,想導入前端框架卻不得其門而入,也會非常擔心卡關,寧願繼續使用現有架構。
  6. 許多企業的 Web 應用又多又雜,不像是官方網站那樣單純,都是功能多、表單欄位複雜、有些操作互動也相當繁瑣。

會找我去授課或顧問的企業,通常已經經過深思熟慮,知道自己為什麼要選擇 Angular 當作他們的主要前端框架。我老實說,Angular 在框架完整性、穩定性、執行效率、開發 工具 支援、開發風格的一致性、版本升級容易等多方考量的因素之下,是最能全面兼顧的框架,我並不是說 Angular 是三套裡面最簡單的,但是對於企業與團隊開發者來說,是最適合不過的選擇了!

但是,最近我也聽到了一些聲音,他們提到 Angular 很難懂 (沒人帶),React 好難學 (Redux),但 Vue 好像比較有趣 (簡單好理解)。這個現象很有趣,因為在前端界,你什麼聲音都聽的到,有人覺得難,就有人覺得簡單,為什麼會這樣呢?因為前端的水太深了!每個框架都有各自的特性、用法、習慣,不是每個人都適合。

有些剛入行的前端開發者並非科班出身,沒有學習過任何計算機概論、程式設計原理、資料庫系統、作業系統、演算法等知識。有些人甚至完全沒有任何 OOP (物件導向程式設計) 觀念,沒寫過任何後端程式,入行才剛學 HTML 與 CSS 語法,人生第一個程式語言就是 JavaScript,只用過 jQuery 或 jQuery Plugins 等函式庫。這時,我又要推薦我先前寫的文章【 我要成為前端工程師!給 JavaScript 新手的建議與學習資源整理 】,建議大家可以再看一次!

對於 Vue 與 React 來說,開發風格較不受限,你想用什麼風格開發都可以,一開始只要有範例程式可參考,很快就可以上手。但這件事一體兩面,風格不受限制的背後可能會帶來許多維護性的問題,程式碼的品質難以控管,需要有前輩定義風格,甚至於找到適當的工具來限制開發者的寫作方式。

但對 Angular 來說,開發風格較偏物件導向架構(OOP),所有的元件都是 class (類別),只用到少許的 function (函式),對於後端工程師來說容易上手。且在 Angular CLI 與 Visual Studio Code 的幫助下,開發架構會趨於一致,而且內建 TSLint 可以限制程式碼的寫作風格。就整體架構來說,對於不擅長 OOP 的開發者來說,確實有不小的學習門檻,需要有前輩帶領比較容易上手。但如果只是跟著現有架構寫 Code,完全沒有問題,而且通常可以維持一定程度的品質!(凡事總有例外)

公司需不需要有個資深前端坐鎮?

選用前端框架,有個很重要的目的: 能快速的解決各種 Web 開發需求!

如果你沒有這種需求,建議你還是不要這麼快做決定,繼續使用現有的框架,或許是不錯的選擇。

任何一套 Web 應用程式,都有可能會越寫越多、越寫越複雜,例如:HR 系統、ERP 系統、HIS 系統等等。就算你做電子商務,除了購物網站外,後台的內容管理、訂單管理、客服管理、帳務管理... 隨著時間累積,複雜度也會越來越可怕。

所以我在談前端框架的時候,基本上是不太考慮「簡單需求」的情境,因為任何一個簡單的系統,發展到最後都會很複雜,並不存在現在架構很簡單,以後也會很簡單的情況。如果我可以預想到未來不會很複雜,那麼我也可以說,選擇任何一套框架,或是不選擇任何一套框架,都是正確的選擇!

在前端界,有多少人敢說自己資深?新技術每隔兩三年就會出現一個大的,然後換掉幾個式微的,開發工具每年也都推陳出新,哪可能有人全部都會!比較合理的徵才方式,應該是找到有學習能力,見多識廣的前端工程師,他可以迅速理解前端技術,能夠找出適當的工具輔助開發,能幫助同事不斷進步。這種人,不一定要 資深

對企業來說,只要能快速解決問題的技術,就是好技術,因為市場不等人,沒時間給你慢慢學。今天會想要選用前端框架的企業,肯定面臨許多痛苦,並且力求改變,不然不會這麼困擾,硬要去學一門自己不熟的技術。

這裡我列出兩種可能的情境:

  1. 公司 可以找到 資深前端開發者

    如果你是新創公司,有著大好前景與股票分紅的吸引下,很有可能找到不錯的人才。有許多的新創團隊,老闆自己本身就是技術人員,撰寫程式不假他人之手,這當然沒啥問題。但如果創辦人不是技術背景,又沒有好的技術合夥人可以擔當技術後盾,那真的就非常辛苦了,如何 每項都是難點。

    我從朋友圈中觀察得知,大多能找到資深前端開發者的公司,都是大的、賺錢的 (或拿很多錢的)、有前瞻性的公司居多,像是遊戲業(博弈)、新創公司、網路公司、外商、區塊練公司、人工智慧相關公司等等。這些公司賺錢,肯給薪水 (砍人也不手軟),有能力的人通常會趨之若鶩。

    我最常聽到的例子,就是大家都說美國矽谷有超過 80% 的公司都用 React 前端框架,幾乎大部分世界最前沿的公司都用 React 打造自家的 Web 應用。採用 React 不是問題,問題是他們選擇用 React 的理由,是基於 React 的彈性、效能與自由度,任何人都可以利用 React 打造出最適合自己的 Web 技術框架,每間公司都在打造自己的框架。我必須老實說,這個優點,可能不適用你公司,甚至不適用於大部分的台灣企業,因為大部分企業不需要打造自己的 前端技術架構 (Frontend Technology Stacks)!

    許多初學者並不清楚 React 只是一個函式庫,並不是一套完整的前端框架。而從一個函式庫發展到一個最適合自己公司用的技術架構,是需要 眾多資深前端開發者 共同創造出來的,一般中小企業或傳統中大型企業,並沒有這樣的養分、文化,可以自己打造技術框架。而且打造技術框架需要大量人力、時間、成本,沒有足夠的市場,企業本身沒有很賺錢,其實沒有必要走這條路。

  2. 公司 無法找到 資深前端開發者

    一般中小企業想找到資深的前端,簡直難上加難,可以說幾乎不可能。

    以我公司為例,我們公司是一間技術導向的軟體公司,專門為客戶打造量身訂製的 Web 應用程式,公司不過二十多人,是個十足的小型企業。但我們採用的技術相對新穎,公司有強大的學習文化,每個人在我們公司都會有意識的不斷成長,相對一般中小企業來說,我們比較有機會找到資深前端,但是比例還是相當低。我們的替代性作法,就是找到資質好的前端人 (但不資深),並讓每個人都有機會快速進步,在短時間內變成 資深前端工程師 。我這樣實行了很多年,效果相當不錯!

    如果你是中大型企業,有個數十人的 IT 團隊,自己有能力開發系統,但是前端還不上手的話,如果能找到厲害的前端好手加入,那就真的如虎添翼。若選用 Angular 或 Vue,厲害的人不用太多,一兩位就夠了,透過老司機帶路,團隊很容易短期獲得效益。不過,老公司的企業文化改變不易,要能吸引到資深的前端好手是相當不容易的,這時找顧問協助導入前端框架,是最好不過的選擇!

    在我這幾年的顧問生涯中,我幫助許多企業開發者認識 Angular 開發框架,用既有的 OOP 觀念來理解,只要幾天的訓練課程,一下子就能快速上手,有效率的開發 Web 應用程式。接下來的幾個月,只要透過顧問定時的 Review 開發架構、程式撰寫風格、工具的選用,很快就可以進步到自給自足的地步。我個人認為這樣的投資非常具有經濟效益,一來不用擔心找不到人,二來可以讓現有員工能在短時間內生產力快速提升!

所以我們回到原本的問題: 公司需不需要有個資深前端坐鎮?

我的答案是: 有最好,因為前端水很深,有經驗的好手可以帶領團隊提升戰鬥力!如果沒有的話,強烈建議可以找專業顧問幫忙導入,畢竟時間就是金錢,與其讓大家慢慢碰壁,倒不如直接請老師來教,降低學習成本,減少犯錯的機會!

公司找不到資深前端工程師可以導入前端框架嗎?

相關連結


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

程序员修炼之道

程序员修炼之道

Andrew Hunt、David Thomas / 马维达 / 电子工业出版社 / 2005-1 / 48.00元

《程序员修炼之道》由一系列的独立的部分组成,涵盖的主题从个人责任、职业发展,直到用于使代码保持灵活、并且易于改编和复用的各种架构技术。利用许多富有娱乐性的奇闻轶事、有思想性的例子以及有趣的类比,全面阐释了软件开发的许多不同方面的最佳实践和重大陷阱。无论你是初学者,是有经验的程序员,还是软件项目经理,本书都适合你阅读。一起来看看 《程序员修炼之道》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具