自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何雇一個(gè)牛逼的 Node.js 開發(fā)者

開發(fā) 后端 前端
初創(chuàng)公司是我的激情所在,而我干的也是管理一群雄心壯志的開發(fā)人員。我工作在Strongloop,并且已經(jīng)在很多初創(chuàng)公司待過(guò)。初創(chuàng)公司在雇傭問題上有它獨(dú)特的挑戰(zhàn)----預(yù)算緊,期限近……

初創(chuàng)公司是我的激情所在,而我干的也是管理一群雄心壯志的開發(fā)人員。我工作在Strongloop,并且已經(jīng)在很多初創(chuàng)公司待過(guò)。初創(chuàng)公司在雇傭問題上有它獨(dú)特的挑戰(zhàn)----預(yù)算緊,期限近。加上要使用開源框架進(jìn)行開發(fā),而且還是相對(duì)年輕的框架,如Node.js,這一切使得雇傭一個(gè)合適的團(tuán)隊(duì)成為了一種巨大的挑戰(zhàn)。

正如所有新興并被快速采用的技術(shù)框架一樣,一開始的挑戰(zhàn)就是給你的技術(shù)團(tuán)隊(duì)增加高效的人才資源。在快速得出關(guān)于把 Javascript 開發(fā)變成 Node.js 工廠的結(jié)論之前,讓我們先來(lái)看看關(guān)于 Node 及產(chǎn)品開發(fā)環(huán)境的核心問題。 簡(jiǎn)而言之,核心問題就是:

  • Node.js 具備基于事件的編程風(fēng)格

  • Web 趨向于更小的以響應(yīng)器/消息為基礎(chǔ)的架構(gòu)

  • 最后,大多數(shù)我們?cè)噲D解決的問題仍然需要通過(guò)可擴(kuò)展的后端架構(gòu)而不是UI來(lái)提供支持。

讓我們逐個(gè)分析這些問題并揭示它們所帶來(lái)的挑戰(zhàn)。那就引出了我們需要招聘什么的人。

基于事件的程序設(shè)計(jì)

相對(duì)于傳統(tǒng)的線程模型,Node.js開發(fā)與傳統(tǒng)模型之間的主要區(qū)別是圍繞著事件模型。相對(duì)于傳統(tǒng)的線程模型,框架在基于事件的程序設(shè)計(jì)中管理的是控制流。在傳統(tǒng)模型里,開發(fā)者必須在控制流中仔細(xì)處理模型中的流程,主動(dòng)編寫控制流向及返回的代碼,要完全了解任務(wù)執(zhí)行完后應(yīng)該如何繼續(xù)下面的流程。而對(duì)循環(huán)進(jìn)行完全控制的事件模型則會(huì)返回到它會(huì)去的地方,而你卻只能交叉手指祈禱好運(yùn)。于是挑戰(zhàn)就在于你如何組織邏輯,在于如何從過(guò)程模型到應(yīng)用系統(tǒng)的輸入與響應(yīng)模型理解上的轉(zhuǎn)變。這就是關(guān)鍵。

一個(gè)好候選人,能就傳統(tǒng)的問題通過(guò)事件的方式進(jìn)行討論。他們是否能夠清楚哪種類型的應(yīng)用程序更適合于Node的方式? 例如,一個(gè)I / O與CPU密集綁定的應(yīng)用程序。著名的聊天服務(wù)器就是個(gè)很好的例子。問他什么樣的復(fù)雜變化需要使用這種模式放在一起的代碼。 一個(gè)好的候選人應(yīng)該能夠解釋并發(fā)模型,事件循環(huán)與多線程的差異,以及它們?nèi)绾斡绊懣蓴U(kuò)展性。

開發(fā)來(lái)自測(cè)試,二者手拉手。JavaScript是一門弱類型的動(dòng)態(tài)語(yǔ)言,來(lái)自于Java/C#的世界,你突然失去了你的安全保障(你的“編譯器”)。此外,你寫代碼處理事件都處在模型之中,以測(cè)試驅(qū)動(dòng)開發(fā)(TDD)的經(jīng)驗(yàn) 確實(shí)變得好用。以我的觀點(diǎn)來(lái)看,TDD更適合基于事件的編程。實(shí)際上最好的開發(fā)人員已經(jīng)這么做了,在測(cè)試之前甚至只有一行代碼。更關(guān)鍵的是,你要確保你所想要雇傭的開發(fā)者有使用測(cè)試驅(qū)動(dòng)代碼設(shè)計(jì)的思想,而不僅僅只是考慮去用。下面將會(huì)做一下介紹。

這樣,我們就有了兩個(gè)關(guān)鍵的技能點(diǎn)用來(lái)尋找候選者,即:編碼能力和測(cè)試驅(qū)動(dòng)設(shè)計(jì)!這與我之前說(shuō)的沒有太大區(qū)別,除了一些細(xì)微上的不同!

范型轉(zhuǎn)換

你可能已注意到了網(wǎng)頁(yè)的范型轉(zhuǎn)換: 我們正快速地從傳統(tǒng)的網(wǎng)頁(yè)加載刷新走向較小的傳感器般的信息,快速地訪問小片的實(shí)時(shí)信息。你將也注意到通過(guò)開放式API我們走向傳感器連接,器件連接,移動(dòng)訪問。Node.js這種情況,這里也是開源,由小模塊API提供訪問豐富信息組成。加上有不斷成長(zhǎng)的模塊生長(zhǎng)生態(tài)的外在,我觀察到它驚人的成長(zhǎng)---大約30%,從我加入Strongloop大概18個(gè)月以來(lái)。所以,你雇傭的任何Node.js開發(fā)人應(yīng)該擅長(zhǎng)在這樣的開發(fā)模型下工作: 訪問實(shí)時(shí)信息的小部分。

通常,我相信這意味著這樣的開發(fā)者:擅長(zhǎng)互動(dòng)開發(fā),快速編碼試水,寫小的重用的代碼片段,遵循基于API開發(fā)。

基于類似Express, Connet, Async的關(guān)鍵模塊的經(jīng)驗(yàn)肯定都是加分的。github經(jīng)驗(yàn),開源貢獻(xiàn)都得加高分。事實(shí)上,候選人用GitHub合作對(duì)等編碼,關(guān)注Node.js在Google群和StackOverflow的活躍社區(qū),和他寫代碼的能力同等重要。用模塊生態(tài)系統(tǒng)的許多模塊,找到已有模塊,修好別人的模塊或者給別人的模塊打補(bǔ)丁,終歸都是關(guān)鍵的技能。我要檢查候選人GitHub的貢獻(xiàn)的趨勢(shì)和質(zhì)量數(shù)量。他們是好的社區(qū)成員嗎?他們修好代碼嗎?他們實(shí)行干凈健康的特征分支,PR,提交嗎?

如果你確實(shí)發(fā)現(xiàn)有人他積極貢獻(xiàn)某節(jié)點(diǎn)核心,好,移交到附近的辦公室。

安全性,后端架構(gòu),培訓(xùn)

伴隨著代碼開源,Node.js又是基于Javascript,這可能會(huì)導(dǎo)致你的應(yīng)用存在安全隱患。開發(fā)者應(yīng)當(dāng)對(duì)服務(wù)器端注入比較熟悉,而且知道如何通過(guò)編碼去避免這些風(fēng)險(xiǎn)。Node.js是單線程的,所以很容易會(huì)受到拒絕服務(wù)攻擊。一名能夠考慮到這些惡意情況并且編寫出經(jīng)得起良好測(cè)試的代碼,在你的Node.js組中將會(huì)非常有價(jià)值。

Node.js相比其他編程語(yǔ)言還是比較新的,所以找到一名理想的員工可能會(huì)是一個(gè)挑戰(zhàn)。在一些當(dāng)?shù)氐男【蹠?huì)中,你可能會(huì)找到一些黑客,也有可能找到一些經(jīng)驗(yàn)豐富并希望向Node.js發(fā)展的Java工程師?;蛘邽槭裁床豢紤]將你手下的一些在大型后端架構(gòu)、處理大規(guī)模問題和容錯(cuò)方面有豐富經(jīng)驗(yàn)的Java工程師送去參加一個(gè)好的培訓(xùn)呢?準(zhǔn)備好開始了嗎?StrongLoop提供培訓(xùn)和對(duì)個(gè)人或者組織的認(rèn)證

英文原文:How to Hire Great Node.js Developers

譯文鏈接:http://www.oschina.net/translate/hiring-node-js-developers

責(zé)任編輯:林師授 來(lái)源: 開源中國(guó) 編譯
相關(guān)推薦

2012-03-01 15:55:42

2016-01-21 10:58:41

Node.js開發(fā)者

2017-04-05 13:06:23

Node.jsJava開發(fā)

2017-05-05 09:10:38

Node.jsJava開發(fā)

2014-08-18 11:06:47

js框架Node.js

2011-10-25 09:28:30

Node.js

2013-05-27 10:37:54

產(chǎn)品經(jīng)理產(chǎn)品管理

2015-01-28 09:46:23

PHPNode.js

2020-08-07 10:40:56

Node.jsexpress前端

2015-03-10 10:59:18

Node.js開發(fā)指南基礎(chǔ)介紹

2022-01-07 08:00:00

Node.js開發(fā)Web

2014-04-17 10:42:50

DevOps

2020-08-24 08:07:32

Node.js文件函數(shù)

2022-01-12 10:43:56

開發(fā)技能代碼

2021-12-28 20:04:23

Node.js開發(fā)JavaScript

2011-09-09 14:23:13

Node.js

2010-08-24 08:58:42

開發(fā)者

2022-06-21 08:52:47

Node.js服務(wù)端JavaScript

2023-10-18 08:03:40

2009-09-11 08:44:36

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)