首頁>Club>
是不是程式設計師總會遇一個瓶頸期,覺得自己沒有進步了,如何解決?
8
回覆列表
  • 1 # 搬磚前端小子

    我不知道是不是都會遇到這麼一個時期,但是我遇到了,我周邊也有同事遇到了。

    我13年開始從事前端開發職業,在第一個公司呆了差不多一年多,當時給我的感覺是在技術上對我有很大的提高,主要原因有以下幾點:

    第一是我進公司是當時確實屬於一個前端小白,只會原生js,html,css。其他的就是會jquery。所以,當接觸到新的東西,都讓我很有激情。感覺自己學到了很多東西。

    第二是,當時去的創業公司,前端只有我一個人,所以承擔了所有的前端開發工作,而且我們主管是從亞馬遜出來的,能力也特別強,讓我學到了很多,如angular,coffeescript,單位測試,nodejs。他也願意去嘗試使用各種新的技術,所以我也非常感謝他。

    然後15年我去了新的公司,直到上個月。在這三年裡面,我經歷了很多,學到了很多,也迷茫過。

    在公司,我從開發人員,走到前端組長,走上了中層管理人員。在這個公司,我覺得給我更多的是讓我學到了如何去管理專案,管理團隊。但是在技術上,沒有給我一個質的改變。在這中,我就一段時間很迷茫,也給我們主管提過這個問題,我們同事也給我提過這個問題,主要集中都是:在此時,你會覺得,公司的專案的任何需求都可以實現,什麼angular,vue,手機端開發,微信小程式開發,單頁面,專案架構都實現過。什麼grunt,webpack等工具都在使用,nodejs也在用。當你看到網上的一些文章時,也感覺都知道,此時,就很迷茫,我到底應該從哪兒去突破,雖然都知道自己能力還很差,但是又不知道應該從何處去突破,如何才能讓自己有一個質的改變。然後,就一直沒有突破,也嘗試過一些,但是都不是很明顯。

    直到前幾個月,我重新找工作,去面試了幾家公司,裡面有京東,有美團,也有創業企業。當經過這次後,給我很深的體會,才發覺自己以前的認識是多麼的膚淺,自己的能力還有很多需要去提高,也讓我看到了自己的真正的不足。

    我談下為何會迷茫,怎麼又突然意識到了,走出迷茫呢?

    首先,迷茫是因為沒有對自己有一個正確的認識,對這個職業需求沒有一個正確的認識。我當時確實會很多東西,知道很多東西,也能夠使用它們進行各種專案任務開發,但是,我從來沒去想,這些框架,自己使用的東西實現原理是什麼呢?實現思想是什麼,如果讓你自己去實現應該如何實現呢?比如,我們會使用富文字編輯器,我們使用的第三方的,但是從來沒去想它是如何實現的呢?如我們使用echarts,知道它很強大,但是也從來沒想過如果沒有它,讓我們自己去實現該如何實現呢?我們都僅僅停留在會用而已,還太過膚淺。

    再次,我們沒有真正的去理解前端。我兩個公司都是初創企業,所以對前端要求其實更多的是需要能夠快速的完成開發任務,沒人會去關心你如何實現的,所以你也就不會去關心。造成了所有人對實現的更底層的東西沒有任何關心。但是,如果真想做到精緻,極值,必須要了解這些,比如要真的提高體驗度,即使提高瀏覽器渲染幾秒甚至幾百毫秒,都需要做很多事情,很多都需要關心更底層的程式碼實現。

    所以,可能會有人迷茫,尤其在一些小公司,沒有太多的人給你一個方向,在裡面,你都已經是老大了的時候,你會迷茫。此時,你需要花更多的時間去好好審視自己,去審視這個行業,多去看看這個行業其他牛人,最重要的是,認清自己,認清行業,這樣,才能讓自己有所突破。

  • 2 # 慕課網

    回答這個問題之前,小慕有話要說。一個人能夠發現自己遇到了瓶頸,說明他還有一顆追求上進的心,並沒有選擇在現有的舒適圈裡故步自封,這一點很值得鼓勵。

    任何職業都有瓶頸期,程式設計師也不例外

    幾乎所有行業的從業人員都會遇到瓶頸期這個問題。拋開個人主觀上的原因先不談,從公司的層面來講,僱傭一個員工不是為了培養一個跨專業跨領域的技術專家,而只是為了獲得一個在某項業務方面熟練高效的技術工人,這種現象無疑加劇了個人瓶頸期的形成。

    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工程師很可能五年後會被一批需求描述工程師取代,所以瞭解我們的競爭對手非常重要,這樣雖然不能改變長江後浪推前浪的趨勢,但至少可以在被擊倒的時候體面一點。運氣好的話萬一碰上一個新出現的風口,或許還能吃到一波資訊不對稱的紅利。

    一方面,你會發現你的知識對於許多人而言也是十分高深的,可以增強繼續前行的信心;

    另一方面,在分享知識的同時,重新審視這之間的內在聯絡,深化記憶並加強理解,就像是零散知識點的一次梳理,隨著時間的推移將形成完整的知識體系,並讓你走得更遠。

    最後,小慕祝大家新手早日進階。老鳥突破瓶頸,修得大圈子技術深度大圓滿。(為什麼感覺這句話有種修仙的感覺)
  • 中秋節和大豐收的關聯?
  • 請問男生知道女生哭了是什麼感覺?