如何鑄就全棧程序員?

https://allluckly.cn各位大神們,多多指點啊。


不要限制自己,認為自己有什麼做不了。從學生時代開始盡量以Solo方式做項目、參加競賽。自己完成代碼、文檔、美術、宣傳、跑腿一切事務

一定要堅信「軟體這種事只要知識儲備好了,一個人就是一個軍隊(而且是永遠不會內訌的軍隊)」


我覺得全棧是一個高大上的謊言,我不明白為什要成為全棧。

而且更可怕的是很多人把「全棧」等同於「Web全棧」

我覺得這個概念只有在互聯網早期創業團隊才是有意義的,其他情況肯定是分工越細越好。說白了就是所有的事情都得你干,我們沒那麼多人手給你配齊所有角色,至於是不是每個分工細化都能幹的好,我覺得這很值得懷疑。像騰訊現在這樣連Web前端都分成了兩個部分,靠近設計、頁面這些的叫重構,屬於騰訊D族,寫js、與後台交互較多的叫前端,屬於騰訊T族,你讓T族的前端去切圖我覺得他肯定會,但做的不如D組的重構好就是了。

社會分工細化帶來的是生產力的提高。

作為個人而言,正確姿勢應該是對很多知識都有所了解,但一定會有那麼一兩門拿得出手的。至於全棧,我從來沒有想過要成為那樣的工程師


選對公司,希望老闆懂技術而且比較開明而且缺人,然後獲得他的信任,然後爭取讓他給你爭取時間讓你一邊做一邊學不同的語言,然後拼盡全力不要讓他失望

進入良性循環之後沒多久你就能全棧了

當然最後一條最難。


如何鑄就全棧工程師?

讓工程師獨立負責項目。不管他之前是做什麼的,不懂可以請教別人,但是他獨立負責。很快就鍛鍊出來了各方面的技術。

鍛鍊出來之後,再去讓大家融合到同一個項目中去。

-------------------------------------------

全棧工程師對公司有什麼好處?

粗看似乎沒有明確的分工,效率降低。但是好處很多!

一來避免互相等待浪費時間

二來避免卡殼

三來避免互相推諉,有的工作會互相推來推去

四來人才有備份,避免單點障礙

五來,工程師對項目的理解更深,對業務的理解更深,主動性更強

--------------------------------------------

成為全棧工程師,對員工有什麼好處?

一來,對項目理解更深,主動性更強

二來避免別人給自己推責任

三來,項目卡在那裡,其實自己挫敗感很強的

四來,白天的時間互相等待,效率低了就得靠加班來彌補

---------------------------------------------

公司和員工並不是競爭關係而是合作關係,公司項目做好了員工壓力也小,進度快了員工也開心成就感也多,萬一不爽了換工作的時候可以宣稱某個項目全是自己做的;能力提升快了漲薪也快,不要給自己不想學習找借口啦。

有人認為,大公司裡面就需要分工明確...大家對大公司了解多少?我待過好幾個大公司,雖然公司大,項目組也很小,每個人也都是需要全能,什麼都做。


總覺得沒有二十年以上的開發經驗沒資格說全棧。

比如你不能說你會寫個爬蟲寫個restful然後可以把web架到雲服務上,寫個自娛自樂的mobile端就敢說自己是全棧了。

全棧的定義應該是精的多。而不是什麼都會一點,什麼都是三腳貓的水平。


時間


何必呢,先專精一樣再說吧


我也來回答一下,我也快努力趕上全棧工程師的標準了。

首先,全棧是面向整套產品而言的,或者面向整個公司層面的系統架構技術而言的, 一般從前端到後端按微軟方向分為(我是微軟方向)

終端技術(WEB/ Service/ WIN APP/ Phone),這幾個面向用戶的終端技術。 對應的技術和類庫大概需要熟悉http://ASP.NET MVC, js類庫,css, WCF for Service, WPF winform和(手機應用程序開發沒研究過)。

中間層框架積累包括框架本身的積累,服務結構的積累,負載均衡的設計,異常處理,各種類庫的積累等,因人而異,這裡的變數最大好的設計和差的設計統統體現在這。

資料庫層需要精通資料庫設計,畢竟業務層的代碼最終還是要記錄大量的數據到底層資料庫里,事務的劃分,表和索引的設計,統統影響著性能和安全性。從劃分表分區,了解選擇哪種磁碟陣列,分散IO,使用反模式手段,和為以後的報表服務做相關設計統統要考慮。

報表服務相關技術,微軟方向起碼要熟悉CUBE,和DW資料庫的設計。這裡又是另一套索引設計。使用always on技術做讀寫分離在生產環境上又是如此重要,用replication技術或者ETL等相關技術拉去數據,報表展示,和MDX編寫以及業務層數據的抽象方式在報表層統統得到驗證。差的業務層資料庫設計 直接影響報表性能和思考方式,

數據分析相關技術,報表只能做為了解公司的手段,後面還要分析數據,老闆最愛看的預測你不管怎麼樣也要弄幾套,R語言代碼就算寫不出,扣也要扣出一些演算法。來支持預測分析方面的工作。

接著是測試,以上所有設計均要考慮測試的難易度,日誌的記錄狀況和日誌本身的設計。 是時候還要給測試寫一套壓力測試框架,最好要熟悉測試的手段。

最後是安全性,安全性,安全性。這是最最重要的,放在最後說三遍。以上每一層的設計都要考慮安全性。簡單的跨站腳本攻擊,SQL注入這種常見的WEB攻擊手段,要時刻在框架選擇的時候就避免這些問題。設計一個好的驗證碼系統,防止被洪水。DDOS這種水也很深,安全性感覺又有一套很大的東西要提,資料庫方面數據訪問許可權控制,業務數據許可權控制和表設計,資料庫加密技術等。(安全性這是我的軟肋)

全棧工程師苦啊,以上所有東西。從上往下更新速度和頻率呈遞減,你得跟上腳步。別落後太多。

暫時就這麼多。


我覺得是這樣:

一個項目:項目(產品)經理,美工,前端,android,ios,後端

第一天,項目(產品)經理跑了!!!

第二天,美工跑了!!!!!

第三天,前端跑了!!!!

第四天,android和ios一起跑去搞基了!!!!

第五天一直到項目完成!!!!!後端一直沒跑...

然後就被逼成全棧了


來自 phodal/awesome-developer · GitHub,就一張圖,希望你能看懂


全站工程師,就是全程站著編程的工程師。

把椅子賣了換張高桌子,你就能練出來了。


大公司都玩兒T型,小公司才玩兒全棧。倒是諾基亞的全站蠻有意思的,就是很少有公司願意配。


我只是希望你口中的全棧並不只是web開發的全棧...

學學內核, 學學安全, 學學靜態分析... 你要當全棧, 路子長的很啊...


一旦一個程序員開始創業,不管他以前做什麼出身,創業之後都是全棧開發者了。


1. 不要限制自己,什麼都去學什麼都嘗試。

2. 多接觸不同領域。

3. 不要把自己當成一個程序員,不要被需要框架限死,它們都只是你的工具。


除了不要劈圖之外,哪有什麼前端後端之分咯。苦逼一枚


function fullStack(堅持){寧缺毋濫};


客戶端全棧,我準備嘗試一下


答案就是沒有人可以成為一個全棧工程師!就·huang phodal 給那個web 全棧都無法作到,就別提其他全棧了。


上家公司太小,去的時候沒有地方坐了,就把筆記本放到牆上的閣板上,然後買個宜家的高腳椅子坐著,但那樣太痛苦,很長時間就全站,從此以後在也不相信什麼站立式辦公,什麼全站,牛逼的人都是走自己的路,而不是炒別人的,任他全站/全棧,自己做好自己的工作,並做理財投資,不知道比他們高到哪裡去了,程序員特喜歡裝,其實就是信息時代的工人而已,裝什麼,大頭都被別人分了,以前做程序員的時候脾氣大的很,現在看著手下的程序員脾氣沖,直接開掉,一天虧/賺的錢,已經不在乎他們耍脾氣,因為他們沒有議價能力,就這麼簡單


公司不需要。


推薦閱讀:

iOS 如何進行逆向工程?
android可以通過進入程序後台關閉運行程序達到減少內存佔用的目的,為什麼ios不行?
哪些 iOS 應用充分發揮了 64 位 A7 處理器的性能?
為什麼iOS偽後台,但是有很多軟體也會在後台一直運行?
作為iOS開發,需要具備怎樣的能力,才能在北上廣,拿到1萬的薪資?

TAG:程序員 | iOS開發 | iOS工程師 | iOS開發者 | iOS開發入門 |