普通程式設計師該如何成為全棧工程師

智雲程式設計發表於2019-01-16

如何成為一名全棧工程師?網際網路最熱的話題之一,似乎正在成為IT行業的新潮流和新趨勢,廣大開發人員之間對”全棧”類話題的討論也從未停止。曾經看到過一篇關於全棧設計師的文章,譭譽參半。有的人認為全棧只是一個頭銜而已,真正的還是看個人的能力和技術。

普通程式設計師該如何成為全棧工程師

這個話題其實是對網際網路行業“技多”是否等於“全棧”,“深度”和“廣度”哪個更重要的一場深層次的討論。

全棧工程師,也叫全端工程師,英文Full Stack developer,是指掌握多種技能,並能利用多種技能獨立完成產品的人。

全棧工程師是指,一個能處理資料庫、伺服器、系統工程和客戶端的所有工作的工程師。根據專案的不同,客戶需要的可能是移動棧、Web棧,或者原生應用程式棧。

其實,“全棧”指的是為了完成一個專案,所需要的一系列技術的集合。“棧”是指一系列子模組的集合。這些軟體子模組或者元件組合在一起即可實現既定功能,不再需要其他模組。

為什麼全棧工程師會存在爭議?

優勢:全棧工程師的技術發展是橫向的,涉獵技術很廣,能快速的運用他所掌握的技術知識開發出產品原型。因為他們視野更寬闊,思維更活躍,對技術和產品都十分敏感,對於任何技術或設計,他總是有話可說。可以對團隊中的每一個人都提供有益的幫助,能大大減少團隊人員溝通、技術對接的時間和技術成本。所以他們當中,很多人成為了創業者或者在創業公司擔任技術合夥人。

劣勢:正是由於橫向的技術發展,導致全棧工程師往往博而不精。大多數自稱為“全棧”的工程師,都停留在一種淺嘗輒止的“略懂”的境界。至於具體如何實現,如何讓架構更適合後面階段的模組化開發,那就真不知道了。

普通程式設計師該如何成為全棧工程師

即便如此,仍有人在問,如何成為全棧工程師?

一個合格的全棧開發人員應具有在構建應用程式時涉及的所有方面的功能知識和能力。

1) 掌握多門程式語言

你需要精通多門程式語言,JS,JAVA 、PHP、C#、Python、Ruby、Perl 等,因為你的大多數核心業務處理都需要用這些語言來寫。你既要掌握這些語言的語法,又需要非常熟悉如何基於這些語言進行專案的架構、設計、實現以及測試。

2) 運用開發框架和第三方庫

流行的開發語言,一般都伴有出色的開發框架,比如JAVA的Spring、MyBatis、Hibernate,Python的Django,PHP的 thinkphp、yin,nodeJs的 express 等等。

3) 前端技術

前端技術在今天的專案和產品研發過程中變得愈加重要。除了實現產品功能,使用者體驗也是檢驗產品是否成功的標準之一。而這都依賴於前端技術的實現,你至少需要掌握 HTML5、CSS3、JavaScript 等基本前端技術,同時進一步學習 JQuery、LESS、SASS、AngularJS或REACT等前端框架或第三方庫。

4) 資料庫與快取

任何產品或專案都需要一個資料庫來儲存資料。作為全棧工程師,你也需要至少掌握一到兩個資料庫,並知道怎樣與資料庫進行互動。目前流行的資料庫主要有MySQL、MongoDB、Redis、Oracle、SQLServer等。MongoDB作為文件型資料庫,在網際網路產品中正被越來越多地使用,對於規模稍大一些的專案,我仍推薦使用MySQL或商用的Oracle作為後端資料庫。而Redis這樣的記憶體資料庫則可以用於快取,以提升系統的效能。

5) 基本設計能力

大部分關於全棧工程師的文章或討論中都很少涉及到設計能力的要求。但我卻認為這項技能非常重要,基本的原型設計,UI設計,UX設計都是需要了解的。

普通程式設計師該如何成為全棧工程師

6) 除了良好的開發技術知識,自我要求也是全棧工程師必備的因素:

全域性性思維

良好的溝通能力

創造力

好奇心

時間管理能力

總結

熟練的掌握前端、後端、客戶端方向的知識內容,每天都花時間來鑽研也得花10年左右的時間。所以,全棧工程師決不是一夜練成的,你需要打好技術基礎,強化核心技能,並持續學習才能應對更多的挑戰。

如果你喜歡學習,渴望變強,想成為全棧工程師,歡迎加入我的前端學習扣群:731771211 ,好友都會在裡面交流,分享一些學習的方法和需要注意的小細節


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901074/viewspace-2563918/,如需轉載,請註明出處,否則將追究法律責任。

相關文章