那些精通前後端的大神是如何做到的?
題主現在的工作主要寫C#和js,感覺精通一個js或者C#都要在其中鑽研幾年才行,就說前端方面,光CSS和JS我覺得要懂他們中的一個就不容易。現在好像有很多大神除了懂前端的js,css之外,還懂後台的php,java,c#等等,他們是怎麼是如何做到,是兩手一起抓,還是先抓一個
逼的
不是大神,語言只是手裡的一個工具。
一個應用型的程序員,最重要的不是你對一個東西深入到何種程度,而是利用你學習的東西去解決業務問題的能力,對整個工程的把控能力,邏輯能力個。當你每年寫的代碼行數超過10W行之後。用什麼語言基本都是浮雲了,他們只是一個解決問題的工具。不過人的精力也是有限的,你看著很牛逼的那些所謂的全端,其實他們可能在具體某個方面,並沒有你想想的那麼牛逼。
不是大神,但是幾點體會說一下:興趣:有興趣才會下心思去學勤奮:技術這東西是需要時間去學習的,花的時間多自然學的就多實踐機會:前端也好,後端也好,停留在書本上都是不牢靠的,只有真正在工作中做才能碰到各式各樣的問題,解決了這些問題後,你的能力就上升一個層次了
靠刻苦學習和努力實踐,也許能成為高手,甚至精通。但若要成為大神,一定要有一個最不可或缺的因素——熱愛。別人做要靠意志力,你做卻是享受,誰進步更快?所以說能不能成為大神,一開始就註定了。這就叫做愛的力量。
- 他們花了很多時間,你不能想像得多
- 他們把這些時間用來有意的拓展和聯繫而不是簡單重複
@死馬
2,8 理論吧,20%的知識解決 80%的問題,學習軟體技術是要解決問題的,不是一味的去扣茴字的四種寫法。
在應用層上,語言只是工具,我的認知是什麼方便用什麼,有些東西確實方便。
在興趣方面,語言就可能是一種世界觀,可以藉此了解更開闊的世界。芋頭君說的對,現在大家動不動就全棧,FULL STACK,可其實全棧兩個字的含義遠比你們看見的要豐富。
樓上還有些回答其實也很到位,誰的精力也都不是無限的,為什麼有些人會的東西會稍多一些,原因無非有二:
其一,逼出來的;其二,始於興趣。而如果單論程序語言而言,FP和OO,各挑一門學的認真點、再多花些時間,之後學別的語言的時候往往自然而然的觸類旁通了。
我有時候和同事聊天,他說單純的會的多,怎麼說都有一點悲哀,一定程度上我認可他的說法。外人看起來有些人似乎各種內容、技術、甚至多媒體都能趟過來,好牛逼。但有時候做個prototype,做得太樸素了自己這關過不去,想做好了又少資源。沒有設計,沒有交互,沒有策劃,一個人加班又寫文案,又找素材作圖,PS/AI 一頓的開,打車回家滿腦子都是交互模型,然後第二天頂著黑眼圈再寫代碼實現。克軍老師說,設計的質量決定我調試的熱情。可我也從不希望,僅僅因為環境中的無奈而澆滅我願釋放的熱情。
不是個中人,誰解其中味?
所以,為什麼會的多? 因為,時間和激情不曾辜負。不難,花上10年功夫就可以了。
題主說得是web開發吧
web開發中前端的內容(HTML, CSS)其實相對一門編程語言需要掌握的知識少太多了,而且上手很簡單。
對一個會編程來的人來說,編程就是數據結構加演算法,所有的過程都可以抽象成這兩樣來解決,現實中問題都可以抽象為對象和過程,編程語言只是語法上差異,比多懂幾門外語簡單多了。你看起來精通前後端的大神不一定把握了太細節的內容,對於一門語言,他們或許是掌握了百分之二十的內容,就可以解決百分之八十的問題,很牛了,他們本身的素質很高(會編程不是一件容易的事),當他們在某個方面遇到20%的問題的時候,他們可以快速定位到問題所在,並花精力去解決這個問題。
精通前後端的大神,有可能是這麼來的,我(我不是我)是PHP程序員,LAMP是我愛,我的菜,然後項目中,這個網頁是動態了,前端只會切圖,不會javascript啊,javascript是門語言,後端程序員去解決了,學習之,作為一個有追求的程序員,javascript一定要學得好,寫出一定水平的javascript,理解scope,會用jquery,寫插件,javascript是依賴html結構,需要css支持才能寫出好的效果,html+css get。前後端的語言都會了,更好的統一前後端的數據交互問題,編寫統一的數據交互方式,做好前後端的分離。這個過程中又會去參考很多前端框架的處理方式,還會接觸到很多新的技術AngularJS,CoffeeScript,所有的技術對你都有一定的吸引力,去看去學習去吸收。web項目中用戶流量激增,需要對web項目響應需求進行優化,全面終極優化,然後就進入分散式存儲,海量存儲,水平擴展等等需求,後端的數據存儲不再僅僅是mysql都就能滿足的,nosql,cache,負載均衡等等知識蜂擁而來,為了項目不就得去了解這些技術,去了解這些技術,去應用這些技術。大師都是被項目給逼,而且樂於沉寂於解決問題當中,對技術有一定的追求,對新的技術非常感興趣,不斷地學習,去掌握新的技術。必須非常感謝那些專門開發某種技術或某種技術工程師們,他們不僅僅提供了非常好技術解決方案,並且有詳盡的文檔,使得使用門檻降低很多,作為使用者知道這些技術或工具可以解決那些問題,如何應用就可以,至於如何實現,並不需要太多的關心,所以不一定需要精通某種技術或某個工具。
前後端全懂的大師都是從項目中來,為了項目去攻克一個個問題,並在這個過程中不斷地去學習新的技術,充實自己,N種技能一起GET了。
關於專心研究一種技術還是多種技術的問題,首先肯定有一種語言是你掌握比較深的,這種語言必須經常性使用,其他語言都可以現學現用,通過學習其他語言在加深對編程的理解,由於精力有限一段時間內就學習另一種語言就可以了。時刻切換語言很過癮。
————————————————————————————————————————
對於語言學習深度與廣度的問題
當初灑下一刻種子,預備長成一顆非常非常高的大樹,結果在成長過程中,枝葉越來越茂盛,沒有預想長快,而是慢慢長高,但是枝葉覆蓋的面積越來越廣,可以多乘涼也不錯。
比你聰明的人還比你努力
抓一個,學深,多做項目,自然就會了,我大一的時候一個在騰訊的就職的學長和我說他是android的,但是公司有ios項目抓不到人了他也會頂上去,三天就可以開發,語重心長的告訴我一法通萬法,當時我覺著他挺裝逼的,直到我也有了那種感覺,大學這幾年基本保持每天保持8小時以上的編碼和思考的時間,我就大三一年接手的大小項目至少20個,開發語言涉及8種左右,框架類庫數不過來了。
如果選擇創業,這些東西都不是個事兒。
先抓1個,這就是為什麼大學標準課程就有C語言,只要你有一門語言熟練理解之後,學習其它語言是比較輕鬆的,都是常量、變數、運算符、函數、類、屬性、方法、繼承等等。。很多都是如出一轍,加上一些語言本身的類庫等特點的使用,多看別人的例子,就能應用於項目中去了。
另外一方面,牛人也不會每項語言都熟練,只不過能看懂能應用遇到問題能有解決思路罷了。或多或少都有一個偏重吧……
雖然我是個菜鳥,但是好賴也是寫的了伺服器,做的出APP,技術不咋滴但是弄個Web前端也是問題不大,天生沒有藝術細胞但是抄抄改改界面也不會丑的不能看,這麼說來勉強我也能摸個全棧的邊?但實際上只有後端是我專精的方向,在其他方面都止步於「會用,會做,大部分問題能靠查資料解決」這種程度。
精力就那麼多不可能面面俱到。有些東西確實只能沾了就走,但是一定要有一個方面是專精的,所謂「一法通百法通」,就是這個理。
怒頂最高票答案。當初要不是組了工作室做外包人手不夠,估計我也不會拓展這麼多技能樹……你進入這一行是為了成為神嗎?那可真夠辛苦的。。。
國內喜歡自稱碼農,國外喜歡自稱hacker,所謂hacker,當然前端到後端,軟體到硬體,只要有需要就去了解。不要太快把自己定性為前端碼農,後端碼農,保持好奇心,不了解的就多去學習,碰到問題不要太依賴別人,自己多花力氣研究去解決。
受邀來答,聲明:自己不是精通前後端的大神。在我眼裡,大神級別的人是我脖子扭斷都看不到的人。至於精通前後端,跟大神其實不能想提並論,大神都是制定原始規則的人。而對於精通來說,學習能力強,善於練習,多做項目,慢慢地也就精通了。也如得票最高的答案一樣,很多公司出來的所謂的前後端人才都是逼出來的,誰會在工作中喜歡被打擾啊,也如前端打擾伺服器,伺服器打擾前端。見過的可能算是精通前後端的人無非就是工作中兩把抓,私下有自己的項目一直在做(前後端),會參與開源項目開發等等。每個技術人員都嚮往自己是全棧工程師吧。^_^
後端你能看懂就Okay了吧,除非你想做全棧工程師
對於前後端學習一年之久,無論是前端還是後端牛逼的人,共同特點就是反覆coding.反覆做同一件事情,就是基礎一定要牢固,基礎不牢,無以成大神。第二個就是coding完之後要不段去堅持,才能成為大神。以一為主,逐個突破。。。
推薦閱讀:
※前端跟後端的MVC架構有什麼不同?
※到底是前端根據後端來寫還是後端根據前端來寫呢?
※前後端分離端nodejs mongodb express後台spring restfui webservice,mybatis mysql這樣適合中大型應用嗎?
※超小團隊選擇django還是flask?
※就想看技術書籍,但是動手編程慾望不大怎麼辦?
TAG:前端開發 | CSS | JavaScript | 後端技術 | C# |