面試流程增加作業以提升對面試者在前端的鑑別度

Jason Tseng
3 min readJan 25, 2019

--

Photo source from: unsplash

我自從幫公司增加了面試的第一關卡:作業流程後,很有效地提升在第一時間區分工程師在專案作業上的鑑別度、效率以及細心程度,很明顯前端工程師因為大量的教學課程,出現了程式風格極端的差異,能力 M 型化依然是該領域常見的現象,明明作業都有能力完成,卻依然是被歸類能力 M 型化的中間或偏左邊?

一般具規模或專門做軟體服務的工程師,以站在工程師的角度來看,完成公司本身指派的任務基本上是 Junior 和 Senior 都要能夠完成的,我認為 Junior 至少要能有以下特質,在發展上相對有利:

習慣擁抱不確定性
這句是 CEO 的分享。都願意要去(已經在)新創公司了,這種不確定性是常態,無論是專案的新功能新技術帶來的不確定性,還是外出旅行都是對生活的熱忱,培養一種遇到新事物在第一時間會充滿好奇的心態,這是一種特質。

對細節的敏銳度
良好的 Coding style,及很快地找出問題,例如 if 判斷式裡面的等於只有一個,這是一種具備潛力的特質,也能幫助提升解決問題的速度。

自省
以 Coding 的角度來說,一種是觀察別人的專案怎麼寫,有什麼好的架構學起來,重構自己的專案/產品,幫助提升可讀性,同時提升自己並證明是真的學起來了。有這樣的特質無論是寫程式本身,還是在生活上,都能有效提升自己的效率。

除此之外能發展成為 Senior level 的,我的看法有以下幾點:

漂亮的架構
程式不只能跑,還要能夠寫得漂亮,讓其他人易讀,易於重用,即使拆掉也不會影響其他部分,如此可以有效降低技術債。

降低元件之間的相依性
改 A 壞 B 的狀態盡可能地讓他為「從不發生」,盡可能地降低風險,替留意公司未注意到的細節,以自己的能力改善一切(程式或非程式)的流程。

良好的編寫習慣
Coding 本身應具備一致性,不應發生空格一下子 2 格,一下子 4 格的情況;若是連這種細節都有在意,才有可能將任務所有細節都顧慮到。

物件本身的 CSS 應和擺放的位置不同層級
基於 reusability 原則,物件樣式,和物件位置應該處在不同的 class name,此方式能夠減少改 A 壞 B 狀況;若有新的畫面,可以使用新的 class name 來避免影響所有舊的正在使用的。

解決程式以外的問題
提升公司的產值,如自動化、測試、流程等。

上述都是能夠刻意練習出來的,最重要的是能夠不斷修正自己的狀態,習慣解決問題,接下來恭喜你有機會成長。

一定還有很多特質或能力是我沒有列出來的,可能是一時沒想到,也可能很重要,但在我的職涯發展上剛好沒有遇到,也預祝有轉職需求的人才順利。

Junior 前端工程師職缺招募中:https://github.com/f2etw/jobs/issues/479

可以寄信給我XD jason@staging.com.tw

--

--