程序員如何篩選要學習的技術?如何利用已有技術?
現在的前後端技術越來越複雜,各種框架層出不窮,不去看看感覺就要落伍,都看的話時間上又不夠,等到用到時再看呢又有些晚了。這些東西怎麼平衡呢?
==============在自己實現代碼功能時,雖然也有自己的想法,但總還是想看看別人是怎麼做的,避免自己的作法與主流的作法偏離,這樣做是不是模仿氣息太濃,不會得到自己真正的東西、沒辦法創新呢?==============幾年工作經驗,迷茫~
加強基礎編程能力,讓自己保持對代碼的敏感度,掌握快速閱讀代碼的能力,因為讀代碼的時間要比寫代碼長多了。多讀代碼,學東西就快了。
比如http://ASP.NET MVC 1出來的時候,我花了一個周末就基本通讀了代碼,各種用法啊坑啊都一目了然,效率當然比等書看的人高,馬上就能出視頻,話說當年一個微軟MSDN視頻每小時一千塊哪,可以開兩次房了。
然後假如要在前後端選一個的話,我建議是在了解後端基礎的前提下選擇前端(不論是Web還是Desktop)。根據我的經驗,越後端越不容易變,導致工作機會少,而現在雲計算來了以後更是讓很多後端工作機會呵呵呵了。而前端不一樣,很容易就會不斷翻新,於是工作機會不斷,也相對容易升職加薪,而後端容易形成贏者通吃的局面。
當然前提還是要你得保持競爭力。比如,你最好懂數據結構演算法操作系統編譯原理體系結構多線程等等而不是只會CRUD或$(oyeah).html()。
當你達到輪子哥的水平,新技術對你來說簡直小菜一碟了。
【前後端技術越來越複雜,各種框架層出不窮】是對的。但是人肯定不能什麼都上是吧。在這些變化裡面有什麼是不變的呢?製作這些框架的技術是不變的,支撐這些框架的理論知識是不變的。
有時間就自己擼幾個框架,雖然你工作不會直接用上,但是就這樣造輪子造個十幾年,你就會發現框架語言API什麼的都是掃一眼文檔秒懂。已經不需要算進學習成本了。
就看2種東西
基礎和思路
把你的編程基礎打好,多看看語言的核心書籍,然後就是看看設計大師們的 軟體設計思路,架構方面的書多看看
選擇技術方向,就選有縱深的,網頁相關的懂點就行,web相關開發都是大坑,東西雜,亂,多 ,不利於發展,碰都別碰就我個人觀點來看
要麼你隨便選擇一門主流技術,然後讓自己做到獨步天下;
要麼你隨便學習一門主流技術,但是保持對業務的高度敏感性;
很多程序員以不懂業務為榮,我就呵呵了。
那些所謂主流的東西,都逃不出那麼幾本書;各種亂七八糟的框架,翻來覆去都是做了那麼幾件事情。
如果你發現你某個同事都在思考哲學問題了,直接向他學習。不說技術,因為太好學了.現在越來來覺得有兩件事是最重要的:1.基礎曾經我想成為一個不依賴google的程序員,因為一寫程序就要各種google,其實對效率影響很大,所以,到現在也是一直在想,怎麼把基礎知識更牢固,能夠快速的實現自己的思路.2.讀代碼
就一個項目周期而言,開發可能一個月就能做一次改版,然後一年甚至更長的時間都是在維護系統,滿足各種pm的需求,修bug.so,代碼的維護成本是很大的,而且還要去維護別人的代碼.對於工作而言,讀代碼的時間成本很大的,所以怎麼樣快速讀懂別人的代碼,找到切入點,完成需求是一項關係到升級,加薪和團隊影響力的大事so...
exit.技術分兩種,一種為生活,另一種為命運。會用各種語言,會用各種框架,這是為了生活。深入進去,進入計算機科學的層面,也許咱們有一天也能進西雅圖谷歌。
這種心態就好像新手進了個老遊戲,總想去找攻略,可以少走彎路,這裡我要強調一點,技術能力沒有捷徑,你犯過的任何錯誤都是有價值的
至於前端後台根據自己興趣來,喜歡搞瀏覽器,手機的就前端,喜歡搞資料庫,伺服器的就後台
語言的選擇個人建議是專精一種,但一定要選擇主流的(除非你是大牛,想對語言本身有貢獻),主流意味著使用的人多,即使現在不是最熱門,將來也不會被淘汰,語言本身會慢慢發展的,我會告訴你我從上世紀就開始搞PHP了么
框架這東西十幾年前搞過一次以後就再也沒用過,都是自己根據實際業務寫基礎類,簡單易用,當然如果你想快速開發,不考慮性能還是不錯的,不建議單獨去學,有必要再看,分分鐘的事情
另外,如果你學後台一定要學資料庫和伺服器管理,不要以為那是運維或者DBA的工作,對幫助你理解語言底層有很大的好處,不會伺服器的後台不是好技術保持技術敏感,有新技術出現不一定深入,但一定要了解它到底是什麼,可以做什麼。然後根據自己的工作需要和發展方向,選中幾門深入。別弄的樣樣稀鬆,那樣沒大競爭力。
比如你搞前端,就專研周邊的HTML5CSSJS之類,後端了解即可。
現在的前後端技術越來越複雜,各種框架層出不窮,不去看看感覺就要落伍,都看的話時間上又不夠,等到用到時再看呢又有些晚了。這些東西怎麼平衡呢?
================================================================提高元編程能力,學習那些框架背後的設計理念,思想,架構.這樣等你用到某個框架的時候,開擼API文檔和DEMO就快速學會了.在自己實現代碼功能時,雖然也有自己的想法,但總還是想看看別人是怎麼做的,避免自己的作法與主流的作法偏離,這樣做是不是模仿氣息太濃,不會得到自己真正的東西、沒辦法創新呢?
======================================================================你想做的某個東西,前人大部分應該都做過了,創新應該是建立在前人基礎上,主流做法之所以是主流,肯定有他的優點和缺點,閉門造車不可取.先學會模仿別人的做法,再看看別人的做法的不足和缺點,再繼續弄創新,這樣不容易走彎路和造出垃圾輪子我之前看了龍書就閉門造了個仿製的yacc,還挺開心,覺得寫的還不錯,雖然代碼丑了點,前幾周重構後的第二版還是比較滿意的,這幾天看了vczh聚聚的可配置語法分析器源碼,直接卧槽了.....之前閉門造車真是耽誤時間和精力.這實現和設計比我自己輪的優雅好多倍.so.準備照著輪子教教主的輪子再輪一次=w=推薦閱讀:
※航模競賽有意義么?
※檢測發出的郵件是否被讀過在技術上如何實現?
※有哪些值得推薦的的irc頻道?
※國內哪些網站和應用已經開放了 API ?
※怎樣通俗地解釋「堆棧溢出」是什麼?