我想说:工作没那么难找吧
工作技能決定價錢
前端的工作越來越難找,到底是不是前端領域已經飽和了?
的確,前端的熱度比前幾年相比明顯降低了很多。前兩三年,互聯網經濟異軍突起,熱錢涌進來。這個階段,人才是稀缺資源。所以在前幾年,凡是懂點前端的都比較好找工作。
而現在,市場上已經不缺初級前端,而是能夠開發像WebQQ那一類的高級前端。
從前端學習的曲線來講,它是先平緩再陡峭再平緩。
在學習曲線變陡峭那一段,很多人卡在那里。所以就有了我們現在看到的:一堆初級前端找不到工作,一堆公司招不到好前端。公司要的是經歷陡峭之后的那些人。
作為前端技術主管,經常需要在投遞過來簡歷的人中,耗費大量精力來篩選符合公司要求、團隊發展、技術基礎三方面條件的人選。常見的招聘要求中,基本都有“工作經驗”的要求,而且都是以年作為單位。但是實際情況往往是:工作經驗往往不是以年衡量的,甚至有些時候跟時間沒有關系。有很多工作時間不算短的前端開發工程師,都停留在了學習曲線變陡峭之前。
今天想要分享的一點,是關于“為什么你的工作經驗不值錢”,或者“怎么樣才能讓工作經驗值錢”。
"我們從一個小小的面試題目入手":
編寫一個javscript函數 fn,該函數有一個參數 n(數字類型),其返回值是一個數組,該數組內是 n 個隨機且不重復的整數,且整數取值范圍是 [2, 32]。
如果愿意,請先暫停閱讀文章,自己動手寫一下這個函數。是的,老簡單了。我可以等你五分鐘。
?
~~~ 華麗的五分鐘過去了?~~~
現在假設你的工作時間為 y 年,經驗系數默認為 1,即工作經驗是:Y = 1 * y。從現在開始,以下的錯誤,你要是遇到了,請自行調整經驗系數。
| 可用
作為一段需要滿足需求的代碼來說,它最核心的、最低的要求:可用。
如果你沒有產出一個函數( fn ),或者產生了語法錯誤,那就請設置 經驗系數為 0,然后去面壁思過;
請將代碼在控制臺運行,并執行 fn(3),看看是否輸出一個數組,數組中包含了三個隨機且不同且在[2,32]的整數,如果不是,請將 經驗系數 * 0;
一個參考的半偽代碼是:
其中 getRand 、checkInArr 還另有講究,后面會提到。當然思路和方法不止一個,后面也會提到。
有相當多的面試者,包括不少工作時間為2年以內的同學,都會在這一步犯錯,非常遺憾。
| 健壯
代碼是否老道,過了“可用”這一關后,就開始見分曉了。
所謂“健壯”,即最基本的兼容性處理、邊界處理,異常處理、用戶輸入校驗。很多時候,需求方不會明確告訴你這些邏輯怎么處理,但并不意味著你不需要處理。
健壯的程序,一定會將這些兼容性、邊界、異常、輸入做處理,以保證核心功能的正確輸出。當然,如果你的代碼沒有任何輸入并不考慮兼容性(可能嗎?)或者僅僅是內部函數,那這一步要求可以降低,并不意味著你可以完全不做。
好,回過頭看代碼:
——如果你沒有對 n 的取值范圍做校驗(n必須是 1 到 31 之間的整數),請將 經驗系數 * 0.3;
——如果你沒有對 n 是否為數字做校驗,請將 經驗系數 * 0.5;
——如果你沒有對 n 是否存在做校驗,請將 經驗系數 * 0.7;
——如果上述校驗都做了,但是沒有校驗對,請將 經驗系數 * 0.9;你需要多練習,仔細認真的。
| 可靠
大多數面試者都止步于前兩關,鮮有進入第三關的:可靠。
javascript沒有強數據類型,函數的返回值也無法強制返回的數據格式。但是作為“可靠”的要求,盡可能在任何情況下,都返回一個可靠的結果,哪怕是異常情況下。是的,這一步很簡單,幾乎不耗費幾個字節的代碼,但是會讓 fn 的返回值變得可靠:
如果你留意到并處理可靠返回值的問題,那請將經驗系數 * 1.2;
另外,一個牽涉的話題就是:異常情況下,是否要拋出 Error,或 console.error ?
關于這個話題,似乎沒有定論,需要自己衡量。我的觀點是:如果異常情況下不會造成太大影響的話(包括定位錯誤),就不用拋錯或提示。但同樣的,這個衡量仍然是經驗性的。此處不再展開討論。
| 寬容
如果在你的日常開發中注意“可用”、“健壯”、“可靠”原則的話,你的工作經驗就會大于你的工作時間,也就會更容易受到重視,自己所挖的坑就會少。而我近期面試的人中,甚至包括5、6年工作時間的,幾乎都止步于此。
如果你要想成為一個受歡迎的技術人員,“寬容”是第一步:?對需求寬容、對用戶寬容、對調用者寬容、對維護者寬容。
回到代碼:
——如果 n 是一個字符串數字,是否可以允許進入處理流程? 如果是,請將經驗系數 * 1.1;
——如果 n 是一個含有小數的數字,比如 3.000001,是否允許進入處理流程?如果是,請將經驗系數 * 1.1;
——你的代碼中,是否有足夠多且清晰的注釋? 如果是,請將經驗系數 * 1.2;
——如果需求調整了 [2, 32] 的范圍,你的代碼是否可以快速調整,甚至不用調整? 如果是,請將經驗系數 * 1.2;
一個參考的半偽代碼是:
| 精益求精
恭喜你完成了前四關!
如果你在實際開發中,時時刻刻留意這些原則,這足夠讓你的工作經驗擴大化,并給你帶來更多的認可,這些認可來自于需求方(或許是那個曾經非常蠻橫的產品狗)、用戶以及你的同事。但不應該包括你自己,你還需要更進一步。
寬容是寬以待人,精益求精是嚴以律己。內外兼修才是高手。當你將這五個原則(可用、健壯、可靠、寬容、精益求精)變成你自己的開發習慣,你的工作經驗就跟你的工作時間沒有關系了。
看到這里,不知道你的前端經驗系數是多少,有沒有達到自己的心理預期了呢?下面容許我在17年做最后一下推薦廣告,用來年底發紅包回饋你們。
如果離自己的預期還差那么一點,那不妨關注一下網易出品的「前端開發工程師直播:前端開發工程師成長之路」
直播主題:前端開發工程師成長之路
包勇明
網易資深前端工程師
直播時間:12月20日 20:00
你將聽到:
學習前端到底要學些什么?
初級前端突破瓶頸實現進階,有什么訣竅法門?
想要參與免費直播的同學,歡迎掃碼添加直播助手小姐姐,加入網易前端開發學習群。
除了免費直播外,進入QQ群后后還可領取一份彈窗效果的項目源碼~
為了保證學習體驗,本次“網易前端學習群"限時開放500個名額,數量有限,欲報從速哦~
ok,完了,17年最后一篇插入廣告的文,請大家理解,下一篇分析前端干貨,持續關注,我會在某一篇文章中說發紅包的事
總結
以上是生活随笔為你收集整理的我想说:工作没那么难找吧的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 科大星云诗社动态20210314
- 下一篇: 科大星云诗社动态20210313