全棧工程師?

全棧工程師javascript

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

全局性思惟html

現代項目的開發,須要掌握多種技術。互聯網項目,須要用到後端開發、前端開發、界面設計、產品設計、數據庫、各類移動客戶端、三屏兼容、restFul API設計和OAuth等等,比較前衛的項目,還會用到Single Page Application、Web Socket、HTML5/CSS3這些技術以及第三方開發像微信公衆號微博應用等等。前端

Web前端也遠遠不是從前的切個圖用個jQuery上個AJAX兼容各類瀏覽器那麼簡單了。現代的Web前端,你須要用到模塊化開發、多屏兼容、MVC,各類複雜的交互與優化,甚至你須要用到Node.js來協助前端的開發。html5

因此說一個現代化的項目,是一個很是複雜的構成,咱們須要一我的來掌控全局,他不須要是各類技術的資深專家,但他須要熟悉到各類技術。對於一個團隊特別是互聯網企業來講,有一個全局性思惟的人很是很是重要。 java

以上是百度百科給咱們的定義。css3

曾經看到這樣一個段子,意思大體是:程序員

老闆說:「小王啊,最近咱們接了個項目,啓動資金沒有給,人才也比較短缺,時間也比較緊,你最近就加班一下吧!」數據庫

小王就說:「又要加班啊,那給我組織一下人手吧,我怎麼也得要一個前端人才,一個數據庫人才才行啊。」後端

老闆有點不高興了:「你不會html麼,不會css麼,不會js麼,不會數據庫麼?還要什麼前端,要什麼幫手,資金沒下來沒人手,咱們也沒辦法啊,最近抓點緊,項目作完,你就是全棧工程師了,到時候好處少不了你的~」

雖然是一個段子,可是其中映射的道理卻很現實。咱們爲何不可以知足於學好一門語言勝任某個職位?那是由於,展示你價值的舞臺大小,是由你身懷的「絕技」所決定的。在IT行業,咱們不可以知足於「找到工做」這一點而把本身鎖死在一個小黑屋裏,只會循序漸進的完成領導安排的任務,那樣,咱們的向上的臺階就封死了,通往更大舞臺的大門也所以而關閉了。咱們還談什麼「年薪百萬」這種理想呢?還設立什麼「先掙它一個億」這種「小目標」呢?還說什麼「改變人類,改變世界」這種口號呢?你連本身都改變不了!

咱們的產品、項目在實際開發中,每每是以分工合做的方式來進行的,這就意味着,作前端的人可能不須要知道業務上數據是怎麼傳遞合計算的,是怎麼儲存的;作後端的的可能也不須要知道界面是怎麼設計的,數據庫是怎麼優化的;……每一個部分的人直觀把本身的部分作好,而後告訴相鄰環節的人咱們須要什麼和給出了什麼就能夠了,這樣的分工方式體現到了代碼低耦合性的優點——各個部分之間的關聯極大地減少。更專業一點,每個部分對於其餘部分的人而言,能夠稱爲「黑箱」(即那些既不能打開,又不能從外部直接觀察其內部狀態的系統)。

我所理解的全棧工程師

並非須要你真正意義上的在實際開發中從0到1地去完成某個產品亦或是某個項目,而是須要你具有這種能力。不是像上文說的,使用別人給你的「黑箱」,而是將每個「黑箱」在你的腦海中搞清楚、給透明化。

要知道,不只僅咱們在項目中的某個部分的代碼是複用的、職責單一的、和可維護的,甚至咱們所使用的語言,也是能夠替換的的!若是你夠「全棧」,你就會知道,數據庫的管理系統就有好多,好比SQLServer,MYSQL,ORACLE,DB2,Sybase,甚至你不知道之後還會出現哪些更多的東西,包括咱們使用的開發語言,好比.NET、C#、VB/VB.NET、C語言、C++、Java、Python、Perl、Ruby、彙編語言等程序開發語言,以及之後會出現的更多其餘的語言,包括咱們使用的前端語言:html語言,css樣式代碼,javascript腳本,最近又新推出了 html5,css3,jQuery等,之後也會有更多的版本甚至其餘的語言。

 

 若是咱們本身的技術侷限,項目中中的溝通成本會提升,項目以外,咱們要將本身的技術提高也很不輕鬆,若是往高了說,要作到產品設計,架構師,幾乎是沒有可能的,由於你根本不懂別人給你的是什麼東西,更談不上如何設計和優化了。

因而咱們要把本身的定位提升一個檔次,從一個只會完成功能的「碼農」提高到一個懂本層原理、會思考的「程序員」,而後,能夠在提高一個檔次,作一個懂得架構中各層運做原理的「全棧程序員」,以後能夠再提高一個檔次,作一個會分析需求,懂項目設計的「分析師」或「設計師」,亦或是懂底層實現,會設計和優化的「架構師」等等,技術底子足夠強大,發展空間也更爲廣闊。

在公司中發展的路徑不外乎:程序員-系統分析員-架構師-技術經理-CTO(首席技術官),程序員-項目組長-項目經理-項目總監-CTO,程序員-產品設計師-產品經理-CTO這幾種。職業不是隻有一個的,「全棧」也不光指你的技術的,更可能影響到你的職業生涯,也讓你有能力去完成你的夢想、實現的的「小目標」,甚至是改變世界。

因此,不就是一我的完成一個項目麼?咱們「能夠幹「!

相關文章
相關標籤/搜索