首頁>Club>
我是一位工作了2年的Java web程式設計師,感覺技術這個領域,自己太多東西都不懂了,譬如新的框架,新的技術,新的潮流。所以我有時間自己都會嘗試自己學習還不懂的知識,但是自學不容易,效率又低。所以我很糾結我下一步該怎麼做?不想未來5年、10年後,還只做一個普通的程式設計師,求前輩們給點建議和指點。
3
回覆列表
  • 1 # 咚那個咚系哪個西

    從你的描述來看,你並沒有達到自己的技術瓶頸,目前java方向的框架太多,新技術、新方法的出現大多是為了提高開發效率、進行高效的專案管理和技術上的解藕,根本性的技術革新貌似並沒有(也可能跟我的眼界有關),所以沒有必要糾結單一的框架技術,覺得這個不會那個不會的,我的技術就很差,這顯然是一個誤解。

    有了這個認識,那麼提高自己的技術還跟你的平臺有非常大的關係,更高的平臺意味著你可能遇到更大的技術難點,那麼解決專案問題的過程中,技術必然有提高,當時,如果只在某些大公司做些螺絲釘的工作,技術也是很難提高的。

    所以,給你的建議是,目前在自己的工作中,能熟練的運用自己所學解決專案中的問題,且沒有其他挑戰性的工作出現,那麼你就遇到了瓶頸,可以嘗試著跳槽,來更大的公司更大的平臺來學更多的東西。如果現在的工作中,你還有許多的技術不會,包括方向性的、細節性的,那麼你還要好好歷練自己,多學多做,為以後打好基礎。

  • 2 # 使用者59855945091

      作為一個IT行業的軟體程式設計師,每天驅使我們日復一日的辛勤工作的,是來自我們對程式設計的興趣和激情。但是要讓程式設計變得始終有趣,我們必須學會堅持某些成為優秀程式設計師的基本原則。

      我並不是要寫出一些咒語,你照著執行就可以成為一個優秀程式設計師了。我的目的是想記錄下我學習到的和用過的一些有用的經驗,它們幫助我獲得比較好的結果。對於優秀程式設計師是沒有明確定義的,這裡我們指的是那些創造出了優秀IT解決方案的以及幫助這個行業增

       掌握基礎

      對於任何行業任何工作來說,融會貫通是獲得成功的關鍵。一個人想要成為優秀程式設計師,就必須有堅實的基礎。核心理念的理解會幫助你用最好的方法設計和實施出最完美的方案。如果你感覺到不能掌握核心的計算機科學或者某個程式語言的知識點,現在開始回顧基礎一點都不晚。

      1. 開始為你寫過的程式碼貼上標籤(怎麼做,做什麼)

      我發現優秀的程式設計師和普通程式設計師之間有一條明顯的分界線,優秀程式設計師渴望深究每行程式碼做了些什麼,以及如何實現的。有那麼一小群人,他們一定要弄懂每一行程式碼。我知道如果時間非常緊張的時候,我們經常不能夠遵循這個原則,僅僅寫出些程式碼,知道它實現了需要的功能。如何處理這種情況又是另外一個話題,但是作為一個程式設計師,我們經常要儘可能深入探索。相信我,隨著時間的推移這會變成一個習慣,之後每次你都會不知不覺的這樣做了。

      2. 幫助他人,你可以學到更多

      許多人都有個共同特點,只有當他需要幫助的時候,他才會求助於論壇或者群。優秀程式設計師不同之處在於他們會經常瀏覽論壇去幫助他人。相比較於靠別人幫助解決問題,他們幫助他人讓自己學到更多。在一個團隊中也是一樣,幫助他人解決問題收穫更多。相信我,瞭解他人的問題,思考並最終提供解決方案吧,你會比之前學到的更多。

      3. 寫簡單易懂,有邏輯性的程式碼

      正如KISS原則(保持短小精悍)適用於生活的方方面面一樣,它也適用於程式設計。儘量寫有邏輯的程式碼,避免複雜化。有時人們寫複雜的程式碼僅僅是為了展示他們有能力寫出這樣的程式碼。我的經驗告訴我,簡單而富有邏輯的程式碼非常的好,會產生的問題更少,也更容易擴充套件。我記得一句話:

      好的程式碼本身就是最好的文件。當你想要加註釋的時候,問問你自己,“我能如何改進我的程式碼,才能不寫註釋也讀得懂呢?”

      4. 花更多的時候分析問題,你將會花更少時間去解決問題

      花更多的時間理解和分析問題,然後再設計方案吧。你會發現剩下的事情很容易了。設計不是說要用建模語言和工具,可以是僅僅看看天空在腦子裡構思。那些在遇到問題就開始敲程式碼的人往往會最終偏離需求。

      如果你洗澡的時候不能理清整個程式的結構,那麼你還沒準備好開始程式設計。 – Richard Pattis

      5. 成為第一個檢查你的程式碼的人

      雖然有一點點難,但試著在其他人修改你程式碼之前修改它,隨著時間的推移,你會寫出幾乎沒有bug的程式碼。對你的程式碼做沒有任何偏見的檢查,也不要猶豫讓其他人來檢查你的程式碼。和其他優秀的程式設計師一起工作,接受他們的意見能夠幫助你也成長為一個優秀的程式設計師。

      6. 不要迷失在快速更迭的科技世界

      在IT行業中,我經常遇見許多人,他們對現在的工作不滿,甚至離開它去追尋新的工作,理由是因為他們想要學習最新的科技。我們每天聽到的都是新工具、介面、框架,能讓程式更簡單,速度更快。這在科技世界中司空見慣並會一直如此。但是最基本的最核心的科技變化比那些框架、工具和介面的變化小得多。就像大海,大海表面上波濤翻滾,但大海深處卻相當平靜,而那裡才是水生生物生存的地方。所以將你自己置身於核心技術的大海深處吧。舉個例子,在Java企業級應用中,每個星期都會出現新的框架,但是核心的技術是不變的,譬如基於客戶端-伺服器端的請求,MVS模式,filters/servlets/JSP,資料來源繫結,XML解析等等。所以要花功夫去學習核心概念,而不是去擔憂日新月異的框架和工具的出現。相信我,有了核心技術的基礎,你會發現學習新的框架,工具以及介面變得更容易了。

      7. 應急方案不會持續很長時間

      很多時候軟體師們會採用應急方案(可能是時間不夠,可能是問題理解不透徹或者是缺少經驗)。但是這樣往往帶來的結果是,程式碼混亂,缺乏可擴充套件性和維護性,後來浪費了更多的時間。請在你清楚整個方案後再開始實施。我知道有些情況下應急方案無可避免,就好像,一個人應該說實話,但是你在某些情況下不得不說謊。

      8. 閱讀文件

      閱讀很多文件是作為優秀程式設計師的必備習慣之一。可能是產品說明書、JSR、API文件、教程等。閱讀文件幫助你獲得必要的基礎知識,寫出更好的程式碼。

      9. 你可以學習他人的程式碼

      我接觸過一些優秀的程式設計師,他們在IDE裡面一直放著JAVA原始碼,並經常在日常工作中閱讀和查閱。他們這樣做不僅是滿足求知的渴望,還從中學習瞭如何寫優秀的程式。閱讀和查閱那些你認為可靠的出名的開原始碼或者比你資深的程式設計師的程式碼,你會寫出更棒的程式。

      最後,我想說的但沒有將其列在上面的:不要和他人比較

      和他人的比較往往會造成消極的情緒和不健康的競爭。每個人都有他的長處和短處。揚長避短很重要。我也經常看到一些基礎很厲害的程式設計師範很低階的錯誤。所以僅僅和自己比較,列舉你自己需要改進的地方,並持續改進它。程式設計是很有意思的事情,享受它吧。

      任何一個傻瓜都能寫出計算機能理解的程式,而優秀的程式設計師卻能寫出別人能讀得懂的程式。

  • 3 # mikechen的網際網路架構

    大部分的程式設計師工作1-2年後都很茫然還學什麼,首先看整個程式設計師進階之路,並推薦2年工作朋友的java程式設計師需要看的書籍。

    上圖是完整的程式設計師屌絲逆襲之路。

    市面上,大部分人對程式設計師有很多誤解。喜歡給機器打交道、情商低、不善於溝通...總

    程式設計師各階段必備書單1.0

    1.工作1-2年的朋友

    在這一年裡,你至少需要看完《Java程式設計思想》這本書。如果部分章節,掌握不好的情況,就反覆學習檢視,直到掌握好為止。

    建議時間:半年-1年的時間。

    建議方式:反覆學習,也許這個階段你感受不到此書的能量,但請記住這樣一句話“你想變得更好,都要經歷從量變到質變的過程”。這個階段的核心學習思想就是,在專案中不斷實踐,並且更加深入的瞭解Java基礎。

    已經掌握:html css等web開發基礎,常用web開發框架 springmv mybatis等框架,熟練使用mysql以及相關工具mysql-front等,以及常用的開發工具:eclipse等。

    2.工作2-3年的朋友

    這部分時間段的同學,已經對Java有了一個更加深入的瞭解。但是對於面向物件的體會可能還不夠深刻,程式設計的時候還停留在完成功能的層次,很少會去考慮設計的問題。於是這個時候,設計模式就來了。這個階段,你的核心任務就是提高你的程式碼能力,注重程式碼的質量。

    首先,從設計模式開始瞭解程式碼這門藝術。

    設計模式領域的聖經,軟體工程和軟體架構必看的書籍。內功修養。

    除此之外,我推薦大家一定要讀這本書。

    Java四大名著, 很值得資深Java開發者深讀。

    此書為我們帶來了共78條程式設計師必備的經驗法則,針對你每天都會遇到的程式設計問題提出了最有效、最實用的解決方案。

    除此之外,如果你在公司的專案中,已經無法忍受別人寫的一堆垃圾程式碼的時候。也許,是時候開啟你的程式碼重構之旅了。

    又是一本程式碼領域的經典之作

    建議學習方式:專案中實踐為主,把重構當做你的實踐。把你學到的新內容,運用到你的專案中。

    3.工作3年以上的朋友

    這個階段,我用一句來總結。你需要做的是深入瞭解java相關的技術原理,比如:Java底層和Java類庫,常用框架原始碼研究等等。

    首先,從深入理解JVM開啟。

    Java程式設計師必讀經典,深入理解Java虛擬機器。

    其次,在過去的工作當中,你肯定或多或少接觸過併發。這個時候,你應該去更加深入的瞭解併發相關的知識。推薦《Java併發程式設計實戰》這本書。

    與此同時,這個階段你要做的事情還遠不止如此。這個時候,你應該對於你所使用的框架應該有了更深入的瞭解,對於Java的類庫也有了更深入的瞭解。因此,你需要去看一些JDK中的類的原始碼,也包括你所使用的框架的原始碼。

  • 中秋節和大豐收的關聯?
  • 每天兩小時健身房運動,先做有氧運動還是力量訓練?為什麼?