作 者 [Ashutosh Kuma]
目標(biāo)成為全棧工程師是當(dāng)下的一種趨勢(shì),毫無(wú)疑問(wèn),全棧開發(fā)工程師的需求非常大。
各種公司都在尋找擁有多種專業(yè)技能的工程師以為項(xiàng)目開發(fā)提供更多靈活性。
但是成為一名全棧工程師并沒(méi)有聽起來(lái)那么容易,對(duì)于全棧工程師的要求各個(gè)公司也有不同。
幾年前,一名全棧工程師被認(rèn)為是掌握了前端技能與后端技能的工程師,但是如今,權(quán)杖工程師除此之外,還要有很好的設(shè)計(jì)能力,部署能力并且需要了解云計(jì)算。
問(wèn)題來(lái)了
- 前端工程師與后端工程師怎么辦?他們還被需要嗎?
- 成為一個(gè)全棧工程師該選擇什么技術(shù)棧?
此文將會(huì)對(duì)這兩個(gè)問(wèn)題進(jìn)行解答,并為你提供一個(gè)適應(yīng)當(dāng)下這個(gè)日新月異時(shí)代的全棧開發(fā)工程師指南。
前端工程師與后端工程師怎么辦?他們還被需要嗎?
從上面來(lái)看,全棧工程師及精通前端開發(fā)又精通后端開發(fā),但這并不一定。在大部分項(xiàng)目中,全棧工程師只精通一個(gè)領(lǐng)域,同時(shí)在另一個(gè)也有足夠的了解,能更好的對(duì)兩端進(jìn)行聯(lián)系并協(xié)作。全棧工程師負(fù)責(zé)聯(lián)系將兩端打通,所以恰當(dāng)?shù)姆绞绞窍染ㄒ欢嗽賹W(xué)習(xí)另一部分。主要原因是公司喜歡全棧工程師是因?yàn)樗麄冇懈玫撵`活性,但首先公司需要的是一個(gè)精通某一領(lǐng)域的工程師。
成為一個(gè)全棧工程師該選擇什么技術(shù)棧?
這些是初學(xué)者最愛(ài)提的問(wèn)題:
- 我該學(xué) React 、Angular 還是 Vue?
- 我該學(xué) Django 還是 Node?
- 選擇哪種數(shù)據(jù)庫(kù)呢?
- 選擇 MERBN 還是 MEAN 作為全棧開發(fā)架構(gòu)呢?
技術(shù)棧并不重要,真正的目標(biāo)是要了解該領(lǐng)域并在實(shí)際的項(xiàng)目中去創(chuàng)造并運(yùn)用它們。一旦你掌握了這些,并了解任意一種技術(shù),技術(shù)的切換就變得很容易。
讓我一步步向你展示成為全棧開發(fā)工程師的路線是怎么樣的:
基礎(chǔ)
無(wú)論使用何種庫(kù)或框架,基礎(chǔ)是非常重要的。從基礎(chǔ)的 HTML、CSS、Javascript 和 DOM 操作開始,然后你可以開始使用框架如 BootStrap。
其中,Javascript 是在面試中最長(zhǎng)問(wèn)到的技術(shù),并且在網(wǎng)站開發(fā)中十分流行。一旦掌握了 Javascript ,學(xué)習(xí) React 與 Node 這些框架就變得十分簡(jiǎn)單。
網(wǎng)站設(shè)計(jì)
當(dāng)你搞定了基礎(chǔ)知識(shí),你可以開始動(dòng)手設(shè)計(jì)實(shí)現(xiàn)一個(gè)網(wǎng)站,并使用更高級(jí)的技術(shù)如 AdobeXD 或 Figma ,高級(jí) CSS 與 BootStrap。
選擇技術(shù)棧
React 、Angular 或 Vue,如果你是初學(xué)者我建議你選擇 React ,因?yàn)樗悄壳白罹o缺的技能。
在后端,Node Js 非常的流行,但后端遠(yuǎn)不止如此,還有非常多的選擇如:Django、Dot Net 或 java 等。
選擇 MERN 或 MEAN 作為全??蚣艿闹饕蚴瞧鋬烧叨及昂蠖说?JavaScript 框架,這樣開發(fā)人員只需要學(xué)習(xí)一種語(yǔ)言。
當(dāng)你選擇了前端、后端與數(shù)據(jù)庫(kù)后,在項(xiàng)目中學(xué)習(xí)去如何將它們連接起來(lái)。
數(shù)據(jù)庫(kù)管理系統(tǒng)
熟悉數(shù)據(jù)庫(kù)技術(shù)如 SQL 、 NoSQL 在設(shè)計(jì)應(yīng)用并連接后臺(tái)與數(shù)據(jù)庫(kù)中是非常重要的。
連接
以 MERN 為例,它涉及使用 React 進(jìn)行網(wǎng)站設(shè)計(jì)、使用 Node Js 與 Express 框架創(chuàng)建 REST API 后端接口,使用 MongoDB 作為數(shù)據(jù)庫(kù)以查詢并返回結(jié)果到客戶端。REST API 后端接口也需要管理用戶權(quán)限與文件的儲(chǔ)存。
進(jìn)階
一旦你很好地掌握了以上內(nèi)容,你就可以通過(guò)學(xué)習(xí)在云端部署服務(wù)如Amazon Web services, GoogleCloud Platform 和 DevOps 。學(xué)習(xí)如何使用 Docker 和 Kubernetes 實(shí)時(shí)托管和控制項(xiàng)目規(guī)模,以進(jìn)一步提高你的全棧技能。
但有一點(diǎn)要注意,你不需要一次性學(xué)習(xí)這么多技能。從基礎(chǔ)開始,特別是用于 web 開發(fā)的 Javascript 開始,在項(xiàng)目工作中不斷改進(jìn),然后學(xué)習(xí)這些進(jìn)階內(nèi)容。