-
1 # 普陀區見習右史
-
2 # 演算法
作為一名IT行業的多年開發人員,我來解答下這個問題。
程式設計師的瓶頸期應該和其他行業的瓶頸期並無差別,應該都是從事某項工作多年後,對某個所從事的工作剛到厭煩、或者覺得自己所從事的工作發展前途不大等等各種原因導致的。
突破的方式其實也是分人、分事來看待。程式設計師的瓶頸期應該都是在高階程式設計師這個崗位階段產生的。初中級程式設計師大多都保持著對技術的不斷追求、全身心的投入到工作中,享受著剛剛開始工作、賺到薪資的樂趣。而高階程式設計師大多都是從事程式開發工作3年以上,擁有了比較完事的技術知識體系,並且絕大部分都處於公司骨幹級的地位。
其實,有句話說的很好。不忘初心,保持恆心,方得始終。這句話在人生的任何一個黑暗期都是一句警句。在社會的滾滾洪流中,保持初心是很難的一件事情,遇到自己的瓶頸或者不順心的時候,回過頭來看看當初自己選擇的出發點。在選擇是否堅持還是放棄。
IT程式設計師在某種程式上不能把視野全部集中於技術層面。兩耳不聞窗外事,一心只讀聖賢書,不適合我們當今的這個時代,技術能力是多維度、多方面的。軟硬實力的結合才是一個人的能力體現,軟體開發是不斷進步革新的一個事情,技術也在不斷的進步,程式設計師所處的環境也在不斷的變化。所以程式設計師也應適當的把視野放在除技術以外的某些領域,這個也是幫助您度過瓶頸的一個方式。
我本人從事多年網際網路Java開發,感興趣的朋友可以關注私聊,共同努力,共同進步。
-
3 # 幸福的自由鳥
首先明確一下所謂的瓶頸是指進一步提升遇到了困難,而不是遇到導致不能勝任工作的困難。遇到這樣的瓶頸其實在職業生涯中是很正常的。設想同一個崗位,相同的工作幹了大好幾年,該知道的都知道了,該會的都會了,進一步提升當然會出現瓶頸,大部分人都是會有這種情況的。以下說一下我的體會。
首先就是適應這種瓶頸,認為這是正常的,繼續做好本職工作,看機會再謀求發展,這時心態要放好。比如我曾在外包公司幹過,所有的專案都是既煩又簡單的專案(因為難的公司不敢接,不煩的人家就自己幹了),很快就會遇到瓶頸的。但是由於每個專案差異很大,比如系統環境,第三方開發包,特定的業務邏輯,甚至還會有開發語言。這時核心能力是如何適應新的專案環境,這就是關鍵了。這個就是另一種程式設計師的核心競爭力。如果暫時短時間不能擺脫這種現狀,那麼在提升硬的技術能力遇到瓶頸時就根據自己的具體環境提升其它的軟實力。實踐證明這是一件值得嘗試去做的事情。
其次,正面應對提升軟體開發技能的問題。我的體會是你想在工作中提升的話一般就要換崗位了,去做那些相對難的開發工作。而且越難提升的效果越顯著。當然前提是難的工作最終能夠被完成。因為很多時候你的能力是環境決定的,不是你自己,所以需要換換環境來解決瓶頸。順便提一句,如果難的工作最終不能被解決,那你就要付出代價了。因為放棄一個自己勝任的崗位去做一個自己不勝任的工作,想想吧代價多大。如果這個換崗位是跳槽實現的,那就更慘了。所以呢最好不要輕舉妄動,看清楚了再下決定。
那麼有沒有在不改變環境的前提下繼續提升呢?當然是有的,那你就要付出更多了,那就是用自己的業餘時間接觸並嘗試解決新的難的問題,還是那句話越難的問題提升能力越有效果。這個也是公平的,你付出多了就比別人得到的多,這很公平。
那麼有沒有不換環境,不用或者少量使用業餘時間來突破瓶頸呢?有,也是有的。一般一個人覺得自己遇到瓶頸了那麼熟練的完成手頭的工作就應該不是一個問題。好,那就第一步從提高自己的工作效率開始,第一個目標就是儘可能快的完成自己的工作,並且不讓同事和領導知道,這樣結果就是你就會有一定量的空餘時間。這段空餘時間充分利用起來。從策略上講不要太過份讓人覺得你在學習新的東西,這樣老闆發現你時間多就會給你加工作,你的空餘時間就又沒了。更有技巧性的做法是從自己的工作內容入手,問一下自己剛完成的工作是不是還有更好的做法?如果有那就用更好的方法來實現,空餘時間是用來幹這個的。這個尋找更好辦法的過程是可以對同一個工作內容不斷反覆迴圈進行的,所以你的時間永遠不會多的。這個過程的具體實施細節這裡就不說了,否則篇幅太長了。
當然還有別的方法可以繼續提升,什麼讀書,充電,看高人的程式碼,還有什麼什麼別的。這個介紹的很多我就不重複了,自己網上搜吧。但是以我的經驗來看都比不上解決更難的問題這個方法來的有效。真是應驗了那句話:對你幫助最大的往往是你的對手。對於程式設計師來說提升自己的能力就是解決一個又一個的難題。困難是我們成長最好的老師,前進道路上最強大持久的原動力,也是戰勝競爭對手最好的工具。
-
4 # 高階java奶爸
首先你確定一下你自己是否有毅力,興趣,眼光。
先說興趣
如果你有很有興趣,你就會主動去學習新技術 ,專研更深的東西。但是你沒有太大興趣,偶爾看一看沒辦法 。
毅力,你得堅持每天或者 每週去充電,去更新自己
眼光 ,你得知道 有什麼 新的動態 ,然後選擇性的去學習,有條例的去學習。不是今天 看個這個,明天 弄個那個。什麼也沒有弄成。
如何突破?
對於沒有興趣的,毅力又差的人來說,只是壓力和動力
動力
看同事什麼樣的水平,看看同學什麼樣的工作什麼樣的工資。再看看自己。比如 你同學跳槽,18成了。你想跳槽,要16沒人要。差距出來,你還有什麼不努力的理由。
壓力
工作上遇到新的問題了,需要你去解決,你只能去研究 這裡東西去解決,逼著自己充電了。
最後弱弱的問一句。
你買房了嗎?
你買車了嗎?
你有物件了嗎?
你年薪30多萬了?
你什麼時候結婚?
你結婚的彩禮錢夠了?
以下是看別人寫的覺得不錯,傳送一下。
1.自學能力是競爭力之本2.自信能讓你與眾不同3.興趣是學習效率的催化劑,培養自己的職業興趣。4.設定專案目標,以做專案的形式提升學習效果,切忌無目標地學到哪算哪。5.話語權首先來自能力。6.難學的技能一旦掌握更具競爭優勢。7.用階段性成果不斷增強自己的自信,但最終支援自信的是能力,而不是自大。8.做自己喜歡的事,如果那是自己的興趣最好。 9.身處環境,即使前途渺茫,不放棄學習,否則就是“自斷筋脈”。10.機遇很重要,但你得有能力才能抓住它。11.比拼的不是智商,是堅持與好習慣12.當短期利益與長遠利益無法得兼時,選擇長遠利益。13.學歷是很重要的敲門磚,即便能力很強;學歷很重要,但能力才是最終的通行證14.技術細節掌握得越深,解決問題時就越能遊刃有餘。15.技能的發展應採取深度先於廣度且交替進行的方式,只有這樣,面對大量的新知 識才能更淡定。16.越難的技術問題,其所蘊藏的知識越豐富,也越具學習價值。17.透過文件化的方式傳承知識給後繼者是你的基本責任,因為你作為後繼者時也希 望如此,這也是對自己負責的一種表現18.別人對你價值的認可,其實不是簡單地根據你的自身能力,而是根據你對他人和 團隊的貢獻。19.英語的聽說能力只要有合適的環境,並勇於張嘴練習的情況下能快速地提高,不 必擔心。20.在軟體開發活動中,設法透過有效的技術途徑去解決工程困境。21.不要用沉默的方式一味地迎合別人的要求,據理力爭或許才是作為的表現。22.流程、文件的作用,不只是引導我們做完事,更能規範我們的行為和幫助培養工作習慣。
-
5 # 張凱剛
程式設計師的職業瓶頸一般存在工作兩三年之後或者快的有一年就感覺到了瓶頸的,產生這個瓶頸的可能原因有好幾種:
一種是你的這家公司的技術你已經差不多都瞭解了,碰到有關知識你也知道怎麼處理了,這時候你可能會覺得自己遇到瓶頸了因為你接觸的也就這麼多,你覺得很難提升自己,
雖然工資在漲但是你感覺你的技術沒有再進步了,當然這可能和你平時沒有及時學習新東西有關,所以突破此類瓶頸有個方法就是多去學習多去接觸你以前沒用過的知識,你會發現你還有很多不懂,自然而然這個瓶頸的感覺就不在了。
還有一種是你在程式設計師這一行已經幹了不短的時間,知識也瞭解了很多,但是你一直是個開發人員,在公司你感覺自己的人生不會有什麼新的變化了,這時候你可能也會產生一種瓶頸的感覺,遇到這個情況的話你可以主動往你想發展的方向走比如管理比如架構,主動承擔一些有難度的事情,這樣就有機會鍛鍊自己也有機會提升自己,當然還有個方式就是跳槽。
還有就是對程式設計師這個職業沒什麼想法了,想幹點別的職業了,這時候你就得多想想,得想想自己是不是真的要放棄程式設計師這個職位了畢竟付出這麼多,如果你興趣確實不在這,那可以放棄,乾點你想做的事情了。
其實做什麼職業都會有個瓶頸的,保持一個平常心看待問題很有必要。
-
6 # 動腦筋
恕我直言,任何技術都不會有瓶頸,只有人的意識有瓶頸。
你說道技術上遇到瓶頸,感覺是你的認知意識遇到瓶頸了,如果技術會有瓶頸,人類不可能發展到現今這樣的程度的,技術永遠都可以突破,只是時間問題。
針對你個人,說道房貸等等現實問題,我的建議是,儘快轉崗,因為作為程式設計師,如果你個人覺得達到了技術瓶頸,說明你在這方面有技術,但沒有天賦,不會有什麼突破,話雖然不好聽,但很現實,中國有多少程式設計師?不是每個都有天賦的,如果你現在不轉崗,再過幾年,你裝崗跳槽的機會都沒有了,如果麻木地寫程式碼,用著那些猶如圍棋定式般的演算法,寫著固定的程式碼,你就是個會寫英文的打字員,在收入上不會有任何變化,無非是等著什麼時候被炒罷了,轉崗、跳槽吧,只要行業跨得不是很遠,都是個不錯的選擇,換一個工作崗位或者單位,工作幾年你就是個複合型人才,那個時候你就升值了,既懂業務又懂程式碼,現在都需要這樣的人才,中國從來都不缺單項人才,更不缺程式設計師,但缺懂程式碼的醫生、懂程式碼的老師、懂程式碼的律師、懂程式碼的......
最後說一下,人挪活、樹挪死,趁年輕,跳跳試試看,看能跳多高。
-
7 # 慕課網
回答這個問題之前,小慕有話要說。一個人能夠發現自己遇到了瓶頸,說明他還有一顆追求上進的心,並沒有選擇在現有的舒適圈裡故步自封,這一點很值得鼓勵。
任何職業都有瓶頸期,程式設計師也不例外幾乎所有行業的從業人員都會遇到瓶頸期這個問題。拋開個人主觀上的原因先不談,從公司的層面來講,僱傭一個員工不是為了培養一個跨專業跨領域的技術專家,而只是為了獲得一個在某項業務方面熟練高效的技術工人,這種現象無疑加劇了個人瓶頸期的形成。
IT領域當然也不能例外,IT行業本身就是一門技術特別顯性的行業。程式設計師工作範疇大而寬,知識內容深而散,出現問題很容易,但是如果需要理解和解決問題,則涉及太多的知識,所以相對較難,因此程式設計師比其他工種更容易出現瓶頸期。
程式設計師遭遇瓶頸期,有多種可能寬泛地說,小慕認為程式設計師的瓶頸大致分為以下幾種:1.基礎知識缺乏
很多人在學習程式設計的時候,大都是針對需要解決的問題來學習的。只注重更快地上手掌握需要用到的工具,卻忽視了基礎知識的培養。對於更基礎的演算法、計算機原理、網路基礎等知識,在真正理解之前,一般只能強行記憶,無法形成具體的知識體系不能“推斷”,造成了額外的心智負擔。
以Python舉例,許多初學者都遇到過:讀寫中文時總會出現這樣那樣的編碼錯誤。求助之後得知:你可以打上編碼標記,可以設定預設編碼,也可以在讀寫時decode和encode解決問題,但卻不明白何要這麼做,最終只能每種答案都試一試,運氣好就不會報錯。
如果這個問題落到一個懂得各種編碼的關聯,明白字元在計算機中如何儲存和表達的人手裡,就能很容易理解:
原始碼的編碼標記是為了告訴直譯器這個程式用何種編碼寫的;
設定預設編碼是在不特別指出時以指定編碼來解碼讀入的字元,同時在輸出時把字串按照指定編碼變為二進位制流再交給系統底層進行輸出;
以及encode是指把字串變為二進位制流,而decode則是反過來把二進位制流變為有意義的字串。
同樣,對於演算法、資料結構等知識,很多人僅僅停留在能夠應付求職面試的水平,缺乏真正理解,而當在工作中遇到具體的問題時,往往就會覺得自己遭遇了瓶頸。當你在程式設計遇到這樣的瓶頸時,不妨稍稍“鑽鑽牛角尖”,把精力鎖定在基礎知識的穩固與深究上,或許突破的鑰匙就隱藏在這些被忽略了的基礎知識裡面。
2. 知識廣度不足
雖然程式設計師在工作中往往只專注於某一方向,但不同方向的程式設計知識也並非毫無關聯。有的程式設計師在遇到個人知識領域的邊界的問題時,往往會不知所措,而這恰恰是知識的廣度不足而造成的瓶頸。
其實在程式設計的大圈子裡,各個領域之間多少都有所互通。近些年前端火熱的MVVM模式,最早卻是來自於桌面應用開發的圈子,服務端非同步程式設計裡的IO Loop,類似的結構遍佈各種GUI開發的事件系統中。
因此,在一個領域有一定認識之後,大家也不妨拓寬視野,把目光看向其它有些許相關的領域,甚至找個新的語言,粗略地學習一番。即使這樣的學習並不一定能讓自己“轉行”,但其中的收穫和靈感往往能夠讓你在自己的領域中突破瓶頸,走的更遠。
3. 偽瓶頸
當你初次涉足某一個領域,所有的知識對於你來說都是新鮮的,大量且快速地吸收新的知識會讓你覺得自己每天都在進步;但是經過一兩年的工作磨合之後,你已經可以對自己所負責的工作內容得心應手,並且能經驗老到的處理突發狀況,於是工作狀態便從之前的邊學邊做變成了現在的信手拈來。這種狀態看起來並沒有什麼新的知識攝入,但這種現象卻叫做圈內技術大圓滿。
小慕認為,把圈內技術大圓滿的現象叫做瓶頸顯然是不對的。真正的瓶頸期是經過了一番努力也很難突破的障礙,比如你學習射箭,經過練習之後達到了10米能射9環的成績,為了獲得10環的成績,你又經過了一段時間的刻苦練習,卻發現還是不能達到10環,這才叫做瓶頸。
題主所說的也可能是在這半年或一年的時間裡完成了圈內技術大圓滿,讓自己進入了一個舒適圈,並且沉迷在這種狀態中而不自知,就像,溫水煮青蛙。
突破這種偽瓶頸,走出舒適圈,學習一項圈外的新技能便是一種行之有效的快捷方式。IT領域目前正處於飛速發展時期,享受著大量資本紅利的同時也吸引了大量的年輕人湧入。技術的飛速迭代和新人的快速搶灘,將導致今天還很舒適的小島可能明天就被海水淹沒。所以只有讓自己從小圈子技術大圓滿成為小圈子技術深度大圓滿,才能不被淘汰下水(當然,能成為大圈子技術深度大圓滿的話,那就更無敵了)。
4. 太疲憊
程式設計是很強的腦力勞動,長時間對著螢幕敲打鍵盤的同時,腦子裡還要構想著自己所需要的設計。若是長時間困擾於某個問題,除了身體上的疲憊,心理上的挫敗感也不容忽視。很多時候這種挫敗感會讓程式設計師感覺到自己正遭遇瓶頸。
身體的疲憊可以透過運動和保健來調理,心理上的疲憊則需要一些更巧妙的手段。小慕的建議是適當地給自己放個假,太過緊繃的琴絃沒辦法奏出美妙的音樂,儘管程式設計師需要不斷地學習和提高,但與其一直逼迫著自己,不如在缺乏靈感的時候給內心一個放鬆的空間。也許就在這期間,自己又能發現一些感興趣並且值得深入的新方向。
如何應對瓶頸總之,程式設計師想要儘可能少地遭遇瓶頸,就要經常看看自己要往哪裡走,同時也回頭看看自己走了多遠。
關於往哪兒走,可以看看Git Hub上的熱門專案,看看技術類的新聞,在工作之餘也試著做一些其它自己感興趣的事情。搭建一個自己的部落格服務對於單純的前端工程師或者後端工程師而言或許算不上很難的工作,但過程中會有所收穫;跟隨一個開源專案或者提交一個PR也許並不足夠引人注目,但也許能夠找到特別的靈感。
人工智慧是2017年IT領域最熱的一個詞,雖說人工智慧取代程式設計師看起來難度很大,但是架不住研究人工智慧的那批人最熟練的事情就是寫程式碼,那些你本以為不可能的事情,隨時可能發生。
今天熱得燙手的Java工程師很可能五年後會被一批需求描述工程師取代,所以瞭解我們的競爭對手非常重要,這樣雖然不能改變長江後浪推前浪的趨勢,但至少可以在被擊倒的時候體面一點。運氣好的話萬一碰上一個新出現的風口,或許還能吃到一波資訊不對稱的紅利。
一方面,你會發現你的知識對於許多人而言也是十分高深的,可以增強繼續前行的信心;
另一方面,在分享知識的同時,重新審視這之間的內在聯絡,深化記憶並加強理解,就像是零散知識點的一次梳理,隨著時間的推移將形成完整的知識體系,並讓你走得更遠。
最後,小慕祝大家新手早日進階。老鳥突破瓶頸,修得大圈子技術深度大圓滿。(為什麼感覺這句話有種修仙的感覺) -
8 # KuangXiang
年紀大的程式設計師,除了比年輕人體力差點是事實,其他無論從經驗,學習速度等等諸多方面,都會比年輕人明顯強一大截,聽清楚,是強一大截啊,不要聽那些小青年亂說什麼學習能力學習速度比年輕人差,那是一些人意淫出來的,馬化騰的學習速度會比年輕人慢嗎?你的瓶頸,在於你的心,而不是你的技術,以下,省略5000字。。。。。。。
-
9 # 陸垚知瑪麗
做為一名程式設計師,我也深有感受,技術到了一個瓶頸階段,總是不能突破,對此感到很苦惱,看到周圍的朋友都有很不錯的發展,很是羨慕。經過一段時間的沉澱與思考,最終想到如下的解決方案
1、如果還想在技術崗位上發展,那就繼續在專業上深挖研究,只要有決心,還是可以學到很多知識的,現在普遍有個現象就是學不能致用,所學的內容儘量用到實際開發中,否則學習的知識果過段時間還是會忘記的,徒勞一場。
2、如果真的決定不做程式設計師了,想轉崗,先想好為什麼要轉崗,工資高,興趣,還是對現有工作不喜歡。當你想清楚這些後,才去根據實際情況去做選擇,轉崗也是需要知識的積累和現有工作的一個銜接,比如想做測試,想做產品,那麼就從現有工作出發,向外擴充套件。如果轉崗與現有工作完全沒有關聯,那麼就請想好有沒有經濟能力去做支援,有沒有資源,有沒有朋友幫助等,如果這些都沒有,就勸你慎重考慮,成功都不是偶然的。
-
10 # 百戰君
程式設計師如何度過瓶頸期?
所謂瓶頸?指的是遇到了若不能突破那可能再無寸進的難關。
一般程式設計師會在什麼時候遇到這樣的瓶頸期呢?從個人經驗看,在一個崗位持續工作了一段長時間之後,容易出現這個問題。
面對瓶頸,有人選擇放棄,改頭換面重新來過;有人選擇迴避問題,繞過問題,去走另一條相鄰的路;有人選擇迎難而上,透過學習不斷提高自己的知識水平,進而超越自我。
無論走哪一條路,適合自己的就好。但是我們必須清楚一點,沒有哪條路是不需要付出代價的。程式設計師遇到瓶頸,選擇迎難而上應是最恰當的選擇。
有了這種積極進取的心態,如何度過瓶頸已經不再是一件有多困難的事情了。
首先,調低姿態虛心向身邊優秀的人學習。三人行,必有我師。身邊優秀的同事,你們所處的環境是一樣的,因此他的成功之處更值得你借鑑。
其次,精選幾本相關書籍來學習。能著書立說的,總是有其可取之處,同樣值得花時間去學習。
第三,透過線上、線下多種途徑學習。網路的,大學的,培訓班的,覺得合適的可以報名參加,多交往一些能給自己帶來正能量的朋友。
第四,實踐與學習相結合。學習是為了解決問題,不是盲目地學習。
因此,程式設計師要想突破瓶頸度過瓶頸期,除了學習以提高自我之外,沒有其它捷徑。
-
11 # 人中麒麟
「基因鎖」 大於> 「方法論」 大於>「努力」
沒法突破就別硬突破了 慢下來 你準備跟程式碼結婚麼?
回覆列表
作為一個半吊子程式猿,首先和你談談由吳軍博士提出的關於工程師五個等級的分類。
第五級:能獨立解決問題,完成工程工作。
第四級:能指導和帶領其他人一同完成更有影響力的工作。
第三級:能獨立設計和實現產品,並且在市場上獲得成功。
第二級:能設計和實現別人不能做出的產品,也就是說他的作用很難取代。
第一級:開創一個產業。
可以看出,隨著等級的不斷提升,從獨立解決問題,到開創一個產業,從本質上來說,區別在於是否有足夠的影響力影響到更多的人,以及承擔更多的職責。
那麼這樣,你將自己參照這份等級清單評個級,心裡清楚在哪個位置,然後去準備、積累邁向下一層級需要掌握的知識、技能以及實戰經驗。
真正的大師不是自己個人是大師,而是讓更多的普通人成為大師。
你應該大量儲備關於IT方面的知識,不斷積累,如果能夠在日常工作生活中用到,那就去實踐;如果用不上,不妨在和同事的交流中去扮演老師的角色,去闡述、去教授,從而產生教學相長效應。
第二,IT程式設計師的瓶頸期和其他職業的瓶頸期,在本質上沒有太大差別。
我曾經也有一段時間非常厭惡整日寫文件、做規劃的職業生活,因為那時候覺得作為程式設計師,就應該整天在程式碼的世界裡遨遊。
但是我想,那時候產生這種想法的原因,應該是思維的侷限性。雖然從當時企業的發展來說,並不需要我投身於程式碼編寫而是放在技術方案的制定,以此來讓客戶為專案落地買單。
寫文件,是每個技術人員都應該具備的基本素質之一,並且能夠寫出嚴謹、有說服力、具有可演進式架構特色的技術方案,能夠反應你是否具有技術大局觀和規劃能力,這是邁向技術管理和架構設計的基本能力之一。
我想除了基本的Coding,IT程式設計師可以在這方面想想如何突破。
最後,我來談談在Coding方面如何突破瓶頸期。
這是個老生常談的話題,我覺得一個好方法就是多讀技術經典書籍,參照這些經典書籍去刻苦練習。這些書籍的主題可以分為程式設計、軟體開發、個人成長三方面。
我並不提倡在讀書上一味的追求量,但要知道孰能生巧,沒有量的基礎作為支撐,根本談不上知識能夠產生化學效應。半部論語治天下?在這個時代並不合適。
同時,我覺得IT程式設計師也不應該把自己的視野僅僅侷限在技術層面,你的知識面應該更加的多維度。你喜歡看小說就多看小說,你喜歡看電影就多看電影,甚至你喜歡打遊戲,就打遊戲。但是你要記住的是,你在360度累積的知識和經驗,最終會在未來的某一時刻、某一領域點上充分的暴發,那時候可以稱為你自己的奇點來臨。