1. 當全棧程序員是不是很累
全棧程序員是一群特殊的程序員,他們從前到後,由內而外,幾乎無所不能。很多全棧程序員都認為創業是最好的體現能力和價值的地方
前段時間聽說一個新名詞:"全棧程序員",google了一下,被引導到了知乎的一個討論上:http://www.hu.com/question/22420900。樓主提出了一個問題:怎樣成為全棧程工程師,本人也在上面情不自禁地回復了一下。回頭想來似乎還有話要說。由於這個話題很容易跑偏,本文只把范圍限定在全棧Web軟體工程師,簡稱FSD(Full Stack Developer)。
把技術當成生活,自己逼自己的結果
其實在任何公司工作,光憑工作的內容,很難成為FSD。有朋友可能不同意了,說在創業公司有很多機會做不同的工作啊,我想說的是,即便是創業公司,公司總是有主營的業務和方向的,就算能從前到後一個人做一個網站,那又怎樣,從技術上說,無非也就是掌握了一種或幾種資料庫,一門或幾門後台語言,掌握了html,js,css...大公司呢?更難了,大公司雖然方向很多,但是越是大的公司,個人的螺絲釘效應越明顯,你可能成為領域專家,但很難有機會成為完整的機器的。那麼全棧程序員的磨練靠的是什麼?靠的是一種打心底里的執著和毅力,把技術當成生活,自己逼自己不斷的獵取知識。
難以界定,每個人都有不同的理解
剛才其實沒有鄙視能夠完整做網站的人,相反,很是欽佩。至少本人現在在css上還不能算能完全獨立。不過每個人對FSD的定義其實不一樣,這跟個人的閱歷有一定的關系。只想說,既不要對自己過分自信,也不要過分貶低。一方面,人外有人,天外有天,每個人覆蓋到技術領域是有差異的;另一方面,FSD其實挺不容易的,不僅不容易達到,而且不容易獲得存在感。正因為見的多,所以就越覺得自己渺小,我們經常說的,真正的大牛從來就是低調和謙虛的。而FSD在任何領域都不是那種呼風喚雨的專家,別人在討論的時候可能永遠都沒有你插話的機會,其實你心裡知道,自己還很膚淺。個人自認為是比較接近這么一個性質的程序猿,可以從我的博客的文章內容略窺一二。但是正如我不敢斬釘截鐵地將自己定性到這么個層次,恐怕很多全棧程序員也不能將自己明確在這個定位上,因為總有人能站出來給你一個"反例"。
何去何從
從知乎上的回答來看,FSD似乎並不吃香。縱觀人類發展歷程,更細致的社會分工造就了生產力的提高。就程序員行業而言,越來越趨於細分話,似乎也是正常的趨勢。作為FSD,實際上挺難的,主要是因為精力的限制,無法在廣度和深度上兼顧。盡管如此,個人覺得FSD還是有很明顯的優勢的:
見多識廣,解決問題的手段比較多,而且往往能夠觸類旁通的思考;
不容易被某種技術的新衰而左右,很容易轉型;
合格的FSD往往具有超強的毅力和極客精神,這在某些情況下是很有用的;
由於能力廣泛,又吃苦耐勞,適合創業;
個人理解
針對Web開發的話,稍稍談一談個人對全棧程序員能力的界定,大牛們輕拍:
用戶體驗層面,html45,javascript,css23,各種前端的框架...
後台業務邏輯層面,各種編程語言,現在主流的有Java、C#、Python、Ruby、PHP、Node.js...,以及配套的各種開發框架...
輔助層面可能會涉及到C、C++等較為古老的編程語言,需要一定程度上熟悉掌握...
資料庫,會設計和使用幾種常用的資料庫,mssql、mysql、oracle...,資料庫分析和優化
架構層面,能夠設計靈活可靠,易擴展的軟體架構和硬體架構。這個層面上要掌握的東西就很多了,網路、存儲、操作系統、web伺服器、web架構,安全等等...
一些基礎理論層面的東西,演算法數據結構、編譯原理、網路基礎...
數據分析,數據挖掘
管理層面,眾人拾柴火焰高,一個人再牛b,精力是有限的,如果能夠聚集並領導更多的人,那就更全面了。這包括項目管理,持續集成,敏捷開發,版本控制...
移動開發
2. 全棧開發和大數據哪個好
都是做程序員,只不過做不同的項目,但從公司水準上來看的話,大數據開發的薪資略高一點,但是從就業范圍來說的話,全棧開發的就業范圍廣,這就取決於你自己對自己未來職業方向的定義了。
3. 如何靠自學成為一名優秀的全棧工程師
如何靠自學成為一名優秀的全棧工程師?

作公開演講——全棧工程師並不需要是一個公開演講者,但作為團隊的核心成員,他一定需要在團隊內部做技術、管理等方面的進行演講。如果你是一個樂於分享的技術達人,那麼也可以嘗試錄制個人課程(視頻或音頻),並在慕課、網易課堂、優酷或像荔枝、喜馬拉雅等各種媒體分享自己的技能和知識,不要因為自己並不是專家就不願嘗試,相信我,你用心製作的內容,會獲得大家的認可,並收獲一大批粉絲的。
個人博客——每天進步一點點,一年以後你便會獲得質的飛躍。優秀的全棧工程師懂得如何進行知識的積累,而技術博客就是一個很好的方式,將自己平時的實踐、思考記錄下來,配以tag標簽方便日後的回顧。最有意思的是,當你在不斷記錄和更新你的博客同時,世界各地的程序員也會通過你的博客認識你。
參加線下活動——與以前程序員總是宅在家裡不同,現在的年輕程序員們更願意分享和交流。很多網站也會組織不同技術主題的線下活動,在這些活動中你可以聽到一些技術牛人的分享,還可以找到很多和你一樣對技術富有激情的人。而我現在所做的開源項目中的很多團隊成員,正是我在這些線下活動中結識的。
全棧工程師決不是一夜練成的,你需要打好技術基礎,強化核心技能,並持續學習。相信有一天你也能像我一樣,感受到自由地運用技術,開發出優秀產品所帶來的樂趣的
4. 到底什麼樣的程序員算全棧程序員
獨立完成 non-trivial application 的人。non-trivial 怎麼解呢?就是有一定復雜度的,具備一定規模的意思。基於此,我和我的程序員朋友們,對全棧工程師的認識是:在技術棧的各個領域都能夠做到出色的工程師。有了這個標准,我和程序員們面面相覷,發現沒有一個是全棧工程師。技術領域浩如煙海,更新換代之迅猛如炸雷不及掩耳,別說盜鈴了。互聯網短短 20 年的發展,累積的技術信息已經不是我們終其一生能夠消化的了,知道尚不可為,何以做到出色?
但是,這個標准稍稍降低一點,早期的程序員差不多就都能叫全棧了。2001 年左右我們開發 B/S 產品,用來展現 UI 和數據的程序代碼中混雜了 Java、HTML、CSS 和 JavaScript,根本不可能把前端和後端拆開編寫,而後端業務邏輯本身就是 Java 實現的,你不寫誰寫?懂了業務邏輯和演算法還不行,你得把數據存資料庫和文
5. 全棧開發去哪裡學
隨著互聯網行業的不斷發展,開發團隊的角色分工越來越細,雖然明確的角色能夠更加專注於某個領域,但是對於大量的基礎開發任務來說,全棧工程師往往更實用,現在不少科技公司對於全棧工程師也比較認可,這從一定程度上也促使不少程序員向全棧方向發展。
要想成為全棧開發人員,至少需要具備以下的知識結構:
第一:扎實的計算機基礎知識。計算機基礎知識的掌握情況對於全棧工程師來說是比較重要的,這些基礎知識包括操作系統、計算機組成原理、計算機網路、資料庫、演算法設計、數據結構、電子電路、編譯原理等內容,掌握這些計算機基礎知識是學習能力和研發能力的重要保障。
第二:掌握多種編程語言。目前比較流行的編程語言有幾十種,每種編程語言都有其特定的應用場景,雖然有的語言也可以從事全棧開發,比如Python全棧開發、Java全棧開發等,但是要想應對不同的開發場景,往往需要全棧工程師掌握不同的編程語言。對於全棧程序員來說,通過工作崗位經驗的不斷積累往往能夠接觸到不同的編程語言,從而逐漸走上全棧開發的道路。
第三:掌握多種開發場景。開發場景往往與應用場景、開發周期、團隊配置等因素有直接的關系,另外也與開發平台有較強的關聯性,比如大數據開發往往需要使用Hadoop、Spark等平台,對於全棧程序員來說,需要具備在不同開發環境下進行開發的能力。從這個角度來看,全棧程序員往往需要大量項目經驗的積累。
全棧開發人員需要具備豐富的知識結構,同時具有較強的學習能力和開發能力,所以要想成為一個全棧程序員,一定要不斷積累工作經驗並經常總結。
我從事互聯網行業多年,主要的研究方向集中在大數據和人工智慧領域,我會陸續寫一些關於互聯網技術方面的文章,感興趣的朋友可以關注我,相信一定會有所收獲。
6. java,全棧程序員,2年多開發經驗,獨立負責過幾個項目,在四線城市找不到工作
你好,很高興回答你的問題。
四線城市基本上是沒有IT行業的環境吧。
如果你能自己接到項目,那在哪開發區別不大,就無所謂幾線城市了。如果自己接不到項目中,還想在IT行業從業,那最好還是到一二線城市吧。
如果有幫助到你,請點擊採納。
7. 全棧工程師就業好不好
全棧工程師也叫全端工程師(同時具備前端和後台能力),英文Full Stack developer是指掌握多種技能具備互聯網全局性思維,並能利用多種技能獨立完成產品的人。
一、Web工程師、高端Web開發工程師、全棧工程師畢業之後薪資水平的變化情況。

本數據來源於199IT互聯網中心,據悉全棧工程師的需求量正處於猛增之勢上漲。企業對這種綜合型人才的需求遠遠大於單一的技術型人才。
綜上所述,全棧工程師的發展前景是不錯的,所以,如果你想轉行成為全棧工程師是沒錯的。
8. 程序猿一般都是怎樣成為全棧工程師的
全棧工程師也叫全端工程師(同時具備前端和後台能力),英文Full Stack developer,是指掌握多種技能具備互聯網全局性思維,並能利用多種技能獨立完成產品的人。
下面給你整理了全棧工程師應該具備的知識點,你可以對照自己,去學習提升自己。
第一:網站重構學習
需要具備的知識點有:PC端網站布局、HTML5+CSS3基礎、WebAPP頁面布局
第二:前端交互
需要具備的知識點有:原生JavaScript交互效果開發、面向對象進階、JQuery經典交互效果開發
第三:前端全棧開發
需要具備的知識點有:HTTP協議、Ajax進階與後端、PC端網站開發、AngularJS、PC端管理信息系統前端開發
第四:移動端項目開發
需要具備的知識點有:Touch端、微信小程序開發、微信場景、應用 Vue.js開發 WebApp、應用 Ionic開發 WebApp、應用 React.js開發 WebApp、
第五 WebApp後端系統開發
需要具備的知識點有:WebApp後端系統開發(NodeJS基礎與NodeJS核心模塊、Express、noSQL資料庫)
第六:後端PHP編程開發
需要具備的知識點有:PHP高級、網站架構、實戰項目
9. 全棧開發者要掌握的幾大編程語言
1. Java
這是一個簡單易懂的語言,通常用於開發原生的Android應用。Java語言通常用於後端技術,特別是處理復雜應用的時候。同時,它幾乎能夠在所有的平台上運行,如Mac OS,Windows,Unix,Solaris,Linux等。

此外,由於java的穩定性和兼容性,大型項目是合適的,使它適合你可能承擔工程。
2. JavaScript
如果你想給用戶一個很好的體驗,從而讓頁面之間盡可能多的進行交互,那麼JavaScript是最合適的編程語言。這是一個基於瀏覽器的編程語言。如果你需要在你創建的網頁上添加幾個效果,或者需要在網站上創建彈窗,那麼你肯定會需要JavaScript。對網站來說,這種語言還能吸引訪客增加網站流量。它讓網站看起來很美觀,從而創造了一個強大的視覺效果。這是一個全棧web開發者不應該忽視的前端技術。所有web開發人員都需要這種編程語言,因為它是萬維網所需的腳本語言。
3. PHP
超文本預處理器(PHP)是一種web開發者常用的伺服器端的腳本語言。這意味著,使用PHP語言能夠建立一個資料庫或管理web伺服器上的數據。它是一個後端技術,可以用於創建HTML寫好的web頁面。PHP具有較高的兼容性,支持跨平台使用,同時還是一個開源工具。作為一個全棧web開發者,當涉及到開發基於web應用時,PHP是你最好的選擇,同時它還具有良好的大型在線社區支持。
4. Ruby
Ruby是一種動態編程語言,提供程序員提供了友好的開發界面。它也是一種面向對象的語言,對那些想要做創造性設計的來說它是最好的編程語言之一。由於它的簡單性以和高效性,Ruby常被一些web開發人員使用。Ruby簡單易學,很適合初學者,它主要用於開發網站和移動應用。
5. HTML
超文本標記語言(HTML)是全球公認的標准標記語言。如果你需要一個工具來格式化網頁,從而是網頁更美觀,那麼HTML是非常有用的。當使用JavaScript和CSS的時候,HTML會對網頁進行頁面布局。HTML還有一些優點就是,它的語法超級簡單,易學,支持所有瀏覽器和開發工具,對搜索引擎也很友好。
以上的五大編程語言在全棧開發中經常被使用到,各位小夥伴們,你們了解和掌握了其中的幾種呢?如果你想從事此行業,請一定要好好學習這些編程語言。更多前端相關內容,請及時關注本平台。