❶ 工作一到五年的Java程序員遇到瓶頸應該如何提升
工作了5年的Java程序員,該如何提升,做了3~5年Java開發,你已經積累了不少項目經驗,擴寬了技術廣度,也許已發力成為團隊管理者。到了這個階段,大家卻常有這種感受:感覺自己卡在瓶頸進步緩慢,技術水平很難像早期一樣實現大幅突破?
其實大家往往忽略了這一點——提升自己的架構認知(工作5年左右程序員必須重視架構認知的提升,這會很大程度上推動你今後的成長)。架構的本質在於面對業務場景給出優雅的解決方案,使得業務能夠快速迭代和持續交付,從而達到降本增效的目標。提升架構認知高度,就像達克效應所描述的一樣,要敢於從愚昧之巔跳到絕望之谷,通過爬升開悟之坡,從而達到架構認知的巔峰時刻。到達巔峰時刻也就掌握了架構背後設計的哲學,面對具體業務場景在架構層面你便能夠輕松應對,以無招勝有招。
提升架構認知,要緊抓3個關鍵點:業務洞察力、技術視野、原創力(執行力)。
1.業務洞察力是技術戰略層面的問題,在當下能夠做出合理的判斷,清楚公司做什麼事情收益最大;
2. 技術視野即技術選型能力,是技術戰術層面的問題,在清楚做什麼事情後,需要進一步解決怎麼做的問題,也就是能夠給出合理的技術選型方案:是完全基於開源的方案,還是基於開源二次開發的方案,還是完全自研的方案;
3. 原創力(執行力)是技術落地執行層面的問題,一旦技術設計方案確定後,需要能夠快速Rush完成。
這3點層層遞進,最重要的是先把技術戰略問題思考清楚,然後再進一步解決技術戰術問題,最後是快速落地執行的問題。
工作5年左右的程序員,在原創力(執行力)層面比較有競爭力,往往欠缺技術視野以及業務洞察力。後面2點更加重要,這2點解決的是架構設計哲學問題,是架構師能夠持續擁有競爭力和影響力的立身之道。
舉個場景的例子來詳細說明:一提到分布式鎖問題,大多數人想到的方案是基於Redis的Master-Slave模式來實現。這個實現方案行不行?分布式鎖本質是一個CP需求,基於Redis的實現是一個AP需求,乍一看基於Redis的實現是無法滿足的。脫離業務場景來談架構都是耍流氓。
從技術戰略的需求層面來看,如果分布式鎖在極端情況下獲取鎖的不一致,社交業務場景能夠接受,那麼基於Redis的實現是完全可行的。如果業務是交易場景,分布式鎖在極端情況下獲取鎖的不一致性無法接受,那麼基於Redis的實現方案是不可行的。在鎖強一致性的場景下,需要採取基於CP模型的etcd等方案來實現。
❷ 程序員,感覺技術停滯了怎麼辦
程序人生 | 程序員感覺技術停滯了怎麼辦?Java程序員如何打破工作2,3年的瓶頸問題,讓技術更上一層樓?? 很多人做java開發2,3年後,都會感覺自己遇到瓶頸。什麼都會又什麼都不會,如何改變..
❸ 程序員怎麼在工作中解決問題並提升學習能力的
學習,不停的學習。
剛遇到工作上的難題之後,一般就是靠個人能力解決,要是一個人不能解決的話,就申請團隊解決,總之最主要的目的就是解決難題。
作為程序員我認為最值得學習的精神就是:程序員的學習精神。
在日常的工作中我們也經常會遇到難題,但是從來沒選擇逃避過,就是認真面對困難,然後再一一把它們解決掉,在解決困難的途中,收獲會非常大。
❹ 程序員獨立研發的時候,遇到問題了你們都怎麼解決啊
1.技術問題:網路,bing,SCDN,請教前輩
先網路,網路是個好老師。
網路解決不了的再bing搜索一下,我遇到很多次都是在bing上找到的。
當搜索引擎搞不定的時候,這時候需要論壇了,去CSDN找找相關的技術貼,總會有點思路。
最後就是找公司的同事,這個有些時候需要花一些代價,畢竟大家都很忙。
2.邏輯問題:有些時候會遇到很惡心的邏輯
當想不明白或者想不通的時候,我會試著一步一步把邏輯寫在紙上,這樣就會很清晰,如果在某一步被卡住了,那麼問題的關鍵也找到了。當然有些時候或許一開始就走入了一個誤區,從而導致了一個錯誤的思路,這個時候我一般會睡上一會,或者做些完全和開發不相關的事,目的是忘記剛剛所有的東西,然後從新審視問題,換個角度去考慮。
(個人經驗,純手打!)
❺ 程序員,感覺技術停滯了怎麼辦
你是一名程序員,感覺技術停滯了。那你就去深造唄,就是你可以選擇各種的程序任務去做。哦!針對自己有弱點的地方,然後去學習。活到老,學到老。