對於軟體工程師來說,如何平衡學習技術的深度和廣度?

時間 2021-05-12 01:03:34

1樓:混吃等死

我也覺得人的精力和時間是有限的,不要想著什麼都想學,因為技術這個東西太多了,學不完的,應該給自己定乙個目標,專攻某一類,比如說我就專攻大資料或者快取技術,把那一類給弄精通,然後再談廣度

2樓:

個人覺得可以根據公司所處的環境決定,小公司可能不會給深度學習的機會,即使深入研究了也不一定能帶到生產環境上,那就鍛鍊廣度吧,既來之則安之,各方面都有一技之長也是有很多公司喜歡的,說不定以後公司發展壯大了就有機會深度學習了;大公司往往在某一方面專注,那就是鍛鍊深度的好機會,在自己做的那塊成為專家,以後有機會想走廣度的路,也就是舉一反三的事。

3樓:迷途書童

我來回答一下

1.基礎知識要紮實,比如數學,演算法,編譯原理,作業系統,設計模式,這些好比內功

2.一些新技術,比如分布式的框架,新的前端框架比如reactjs,這些只是招式,有了第一點抽象思維能力,面對日益變化的新技術,可以輕鬆應付.

結論就是:廣度優先,某幾個技術領域要有深度,同時follow上面兩個點

4樓:Godbird

我的看法是,廣度有時候就是一種深度,一定的廣度也同樣會帶來了你對整個軟體開發技術在深度上的提高,不要把深度和廣度割裂開,不會有僅僅有廣度而無深度或者只有深度卻無廣度的軟體開發人員。

5樓:李大蝦

我的一直觀點,以點帶面。深度和廣度並不矛盾,當你想深入的時候,廣度必不可少,軟體工程師本身就是乙個跨專業跨姿勢的職業,社會分工越細,越難獨善其身。

6樓:see you again

廣度往往都是工作驅動的,今天做的要用到這個技術,學一學,隔幾天可能又有新的了,又要學,這個在開始一項新的工作內容的時候是很正常的,所以工程師隨著工作時間的增長,所學技術的廣度是肯定會變大的,而且這個自己是很難控制的,主要是由所做工作的具體內容主導。

深度則更多是自己的事了,而且我覺得也是最重要的,任何一項技術比大多數人都精的時候你就很難被替代了。往往深度都是自己去加深的,在工作之餘,自己花時間去了解,去深入,做到比工作需求更精的程度,這些很多都是興趣使然,又或者是職業規劃。

題主想做全棧工程師,我個人理解的全棧是在精通多門技術的基礎上,對相關大部分技術都很熟悉,至於不熟悉的也能有個了解,不了解的也能在短時間內了解掌握並應用,而這裡的精通也好熟悉也好短時間掌握也好都是比一般要求要高的。

純屬個人拙見。

7樓:

我一直認為程式設計師走深度和廣度完全取決於你更容易成為Bjarne Stroustrup還是Bill Gates?前者寫了C++也研究了一輩子C++,後者十萬美元從乙個怪咖程式設計師手裡買來DOS作業系統,然後抄了抄賈伯斯的GUI,然後成了最有錢的程式設計師,不,是人。

8樓:zjjz

其實只要不偷懶用心做根本沒有考慮兩者平衡性的必要,完全是自然而然的你就會知道該在什麼時候補廣度什麼時候補深度了。無法平衡取捨的人大多是把時間用來糾結怎麼平衡取捨了。。

9樓:家飛貓

通過做專案成長一般而言效率最高。動手實踐才能把書本知識變成自己的經驗值。

遇到難題不繞過不敷衍,而是盡最大可能給出更優答案。解決的難題多了,水平自然提公升。好專案能提供的知識拓展既有深度上的又有廣度上的。

自己看兩本書或是在網上看點資料就能學到的知識固然有用,但對別人而言,學習門檻也一樣相對低。但能有機會和你做相同專案的人太少,所以能把自己的專案做到極致,就能在相關領域獲得比別人更深的知識和更強的能力。

不少工程師有「偏見」認為後端比前端含金量高,並不是因為前端沒有技術門檻,而是因為後端更需要在專案平台上踩坑,而不是看幾本書就能融會貫通的。

有指導的學習進度一般明顯快於自學,這是做專案的另乙個好處。

因此,對公司和專案的選擇很重要。這就是自己需要拼命努力的動力:讓自己在下一階段能夠有更好的平台。

至於業餘時間自學或自己擺弄些其它技術,屬於工程師自我修養的範疇,有空時做做無妨。

10樓:

要成為某個方面的專家,以及當前工作上的至少半個專家。另一方面,要對多個方面有所涉獵,了解成為該方面半個專家的途徑,日後需要時再實踐。

軟體工程師怎麼學習硬體知識?

Leo 建議你先學數位電路方面的,比較簡單學得快,先是邏輯門,暫存器。然後學各種匯流排協議,微處理器,nmos,pmos,估計就夠了。有一些電壓比較器鎖相環之類的要涉及模擬電路知識,就不是很好學了,你要先學電路分析 最基礎的 然後是模擬電路搞清三極體mos管這類的工作方式,然後是高階模擬電路比如說運...

如何看待軟體工程師覺得學習演算法沒用?

工程師是搞定問題的,debug解決,和利用已有的原理 演算法資料結構 解決,區別在於乙個要花不少時間,乙個根據特性很快搞定。人與人之間就是這麼拉開的。有用沒用,還得看場景深度。 因為計算機行業的標準速度太快了,有用沒用是相對的,對做基礎內容的確實有用,對做業務的,全部用的一體化方案,這種細節真的有用...

作為軟體工程師 Software Engineer ,最應該學習的課程和技能Top10是什麼?

囈人61 在北美為什麼不繼續做飛機製造業相關的工作?那個專業更有前途。好吧,回到你的問題。作為軟體工程師和專案經理,我認為最重要的是 資料結構 演算法 清晰的注釋 溝通能力和邏輯思維能力 設計模式 快速查詢類庫的能力 快速定位問題,解決問題的能力 閱讀官方文件的耐心 資料庫知識 對業務的理解能力。 ...