回覆列表
  • 1 # 幽默抓搞笑

    這個問題比較大,就我所知道的程式設計大牛(指真正具備高水平程式設計的程式設計師),他們都具備獨特的幾個特點,這幾個特點決定了程式設計上限。幾門程式語言,若干年的工作經驗都只能成為一個合格的程式設計師,並不會成為一個程式設計大牛。程式設計大牛的幾個特點:

    1.入門早,通常最遲接觸計算機在高中。

    2.極高的程式設計興趣,這個興趣常常可以支撐他們樂此不疲的通宵編碼。我見到很多的程式設計大牛晚上編碼到3-4點,第二天12點起床後又開啟了新的一天編碼。

    3.希望把玩新技術。大部分的程式設計師在工作前幾年都有這個勁頭,但是隨著結婚,做上管理崗,新技術只是關注,不會再到一線實踐,這也基本斷了程式設計大牛的路。

    總結下,如果想成為程式設計大牛,就去培養你的興趣,即使你天生的興趣沒有那麼強。其他的程式語言,設計模式,程式設計思想等只是後面慢慢積累的步驟,不會成為變成大牛的決定性因素。

  • 2 # 鍵盤上的信仰

    多看別人的程式碼

    永遠保持對程式碼的熱情

    儘早使用*nix類的系統

    增加工作中在終端的使用時間比例。

    學幾種不同模式的程式語言

    php

    python

    nodejs

    熟練使用在終端運作的編輯器vim或emacs

    在實際專案中應用新知識

  • 3 # 最強的貓咪

    話題太大,難以盡述,從實用的角度可以給你點建議:

    1、你需要精通幾門重要的、常用的程式語言和資料庫。

    2、你不但要學會語法本身,還要熟練掌握這些語言的整個生態,包括他們所對應的IDE工具,還有各種框架、外掛、模組,以及除錯、編譯、優化、打包、協作、部署工具,這些東西不但多如牛毛而且每年都在變,你需要不斷的學習。

    3、你要研究他們的原始碼,搞清楚工作原理,並把這種學習獲得的經驗運用到自己的程式碼中,這是迅速提高程式設計水平的最快路徑。

    4、你需要有更多工作實踐的機會,在工作中學習新的技術和方法,要勇於承擔有技術含量的工作,有價值的工作可以加快你成長的速度,在實踐中鑽研思維技巧、設計模式、演算法優化,解決問題,不斷覆盤總結。

  • 4 # 許永碩

    自己寫過程式碼,對程式設計也有一些體會,在職業生涯中也與很多程式設計大牛交流過。因為見過程式設計大牛,就把從這些大牛交流中學到的經驗與大家分享一下!

    程式碼完成功能之後,重新梳理並進一步優化

    2000年剛剛開始程式碼的時候,遇到一位軟體大牛,當時他是專案經理。當專案上,很多同事寫程式碼遇到困難的時候,都是他來解決問題。這位老兄Debug的時候,不像別人那樣通過編譯來檢查問題,絕大多數Bug,他是通過看程式碼,直接找到問題並修改。

    當時我坐在這位老兄的身邊,看他寫完程式碼,完成功能之後,還喜歡找自己程式的不足之處,把自己寫的程式碼重新閱讀,然後優化程式碼,包括優化程式碼效率,簡化程式碼(力求程式碼最精簡)。

    程式碼完成之後,重新review程式碼,並優化,是這位大牛提升水平的方法。

    閱讀開原始碼,提升程式設計水平

    早期參與開源專案的開發者,大部分都是程式設計大牛,閱讀這些開源專案的原始碼可以學習這些大牛的經驗。

    我專業不是學習軟體的,當進入軟體這個行業的時候,確實是不懂如何程式設計。後來看了一個開源的專案,當時是看的Ant的原始碼,把這個專案的原始碼看完後,就覺得寫程式碼並不難。

    幫別人解決Bug,不斷提升程式設計水平

    其實寫程式碼最牛的人都有非常強的Debug能力。通過幫助別人解決Bug會提升程式設計水平。同時,通過閱讀別人的程式碼,還可以學習不同人程式設計的思路。雖然每個人程式設計水平有不同,即便程式設計水平很低的人,也會有一些思路能給人以啟發。所以在幫助別人改Bug的同時,還能學習別人的思路,是非常有趣的事情。

  • 5 # 憨笑半步顛

    個人體會是分別從兩個維度不斷挖掘自己的能力,即:T字人才。

    通過在技術領域瞭解的廣度,以及深度來在定義自己的能力。此外,瞭解自己的技術型別,這裡的技術型別與語言無關,與方向有關,即:應用型和研究型。

    所謂應用型指的是能完成需求,通過baidu,google,以及各種框架和第三方輪子高質量的完成專案。

    什麼叫研究型?對技術棧的工作機制,生命週期,以及優劣處等等理論層面的東西有深度瞭解。此外,接住這些工具,定製自己的一套解決方案。

    多動手,多思考,系統性的總結。

  • 6 # 會程式設計的廚子

    成為大牛個人總結三點

    1. 目標:自己在這行業裡面要達到一個什麼樣的成就.

    2. 工作:你所在公司裡面工作日常都在幹什麼? 有沒有在完成工作之餘學習其它知識?

    3. 休息時間: 一個人成功不成功就看他晚上七點到十點之間都在幹什麼.

  • 7 # 富士山下ooo

    1、態度。態度很重要,你對一件事情的態度就決定了你在這件事情上的高度。寫程式碼程式設計可能本身就是一件很無趣的人,所以你需要忍受這種枯燥!尋找程式碼中的樂趣。

    2、看書。多看自己領域的書,多看其他相關的領域。多看書可以讓你瞭解更多的事情,多個領域融會貫通,形成一個體系,慢慢開始出了自己擅長的領域外涉獵其他的領域。知識體系形成後很多東西就清晰明瞭了。

    3、多說、多想、多寫!多說,說出你的看法、想法、不管對錯,多跟別人交流你的想法。多想,遇到某些問題,要多想,思考清楚這個問題的前因後果。每一個bug都要正確處理,並且儘量保證以後不會犯類似的錯了。多寫,俗話說好記性不如爛筆頭。寫程式碼一樣一樣的,多動手去寫。養成良好的寫程式碼習慣,寫出對程式碼的一種感覺。

  • 8 # tx瘦子濤

    程式設計大牛這個概念不太確切,有的大牛專注的是他那個領域,在那個領域是佼佼者,你不能說他不是大牛吧!也可能他在任何領域都是佼佼者,那麼他也可稱之大牛。畢竟程式設計的海洋浩瀚無邊,大多數都是在某一領域,某一語言中是大牛。怎樣練成的,其實這個問題我沒有資格回答,因為我不是什麼大牛。哇哈哈,一臉黑線......

    我認為要成為大牛,首先要勤快,要勤學習,勤思考,勤動手驗證。Google工程師每天平均寫多少行程式碼呢?據權威調查,這個數字你可能會很吃驚,可事實就是150行。寫150行程式碼用不了多長時間,那其他時間他們幹什麼呢?思考,不論你是菜鳥還是大牛,思考很重要,它決定著你該怎麼走。其次,要有強大的毅力,程式設計是很枯燥的,要耐得住寂寞,經得起失敗,要有堅持不懈的精神。要是滿足這兩點,我想終有一天,你會成為大牛。我也正在努力

  • 9 # Java實戰技術

    不知道你說的程式設計大牛的標準是什麼,但是我知道如何成為牛掰的工程師定律,就是一萬小時定律!一萬小時不斷專注練習實戰技術、研究技術內部實現原理、思考為什麼這麼設計及實現、如何自己實現、研究網際網路最新技術,一萬小時的專注!

  • 10 # 真知真相

    很多人想成為程式設計高手,但是常常他們太急功近利了,經常誤入歧途。其實程式設計的路是不平坦的,你會遇到很多的困難。而這些困難很多情況下是需要你一個人解決的。所有你需要一個準備。當然,我的話可能說得重了點,會嚇退一些人。但是隻要你有強烈的興趣,一切都不是問題。下面我就想談談我的看法:

    (1)關於語言,有人喜歡C,有人喜歡Java,還有人喜歡Delphi。這些都不是問題,問題是你是否真正明白它們的思想。比如,你瞭解遞迴在彙編情況下是怎麼一步一步實現的嗎?你知道,虛擬函式的原理是什麼,它是怎麼被編譯的?VC 反彙編除錯後,你能很熟練對彙編程式碼閱讀和理解嗎?為什麼有人喜歡define,有人喜歡typedef,它們的區別是什麼?你的程式夠健壯嗎?如果是非法輸入,程式也能一樣安全地處理嗎?怎樣用對你的程式進行優化?這些都是你在程式設計的時候需要考慮的問題。也許你已經做過幾個專案,也許你程式設計已經超過了幾萬行?但是你真正理解了這些語言了嗎?

    (2)演算法。演算法這個東西,簡直就是程式的靈魂。沒有優秀的演算法,程式碼就是一堆廢品。我不知道,大家是否真正掌握了演算法。其實要學的東西很多。如果你是一個新手,我建議你看清華大學出版社嚴蔚敏老師的《資料結構》;如果你覺得太簡單了,那我建議你看MIT Press的《演算法導論》,現在好像有第二版了; 如果你還是不覺得滿足,那你就可以看一些理論的書了,這種書到處都是,《數值分析》,《泛函分析》,《矩陣論》,《小波分析》,《隨機過程》,多學一點演算法只會對你有好處,它讓你對問題看得更透徹。就拿資料庫來說,你說排序重不重要?當然重要。如果是你去解決?你會用什麼演算法呢?還是select-all嗎?當然不是!如果需要排序的資料量是100萬,1000萬呢?如果你的排序需要幾臺機器一起執行呢?這些你都考慮過嗎?如果你都想通了、弄清楚了,首先請接受我一拜。其次我推薦你趕快去百度?年薪20萬的崗位在向你招手!!

    國內的計算機市場是巨大的,但決不是世界上優秀的。真正優秀的也不是愛爾蘭,更不是印度,當然談不上中國了,優秀的程式設計師大多來自歐洲,北歐,俄羅斯,還有就是美國。李開復說的對,中國大學計算機前5強也未必趕得上美國前50強,但我們正在追趕。我想未來的計算機更多是屬於一種服務型的技術,公司的營運收入將主要來自服務內容,在這方面南韓人是走在前列的,

    雖然我對南韓這個名族很感冒。

    (3)English。有很多人抱怨自己的英文不好,其實就是自己懶。想成為優秀的程式設計師,英語就是你的母語。linux是英語,msdn是英語,codeguru也是英語,很多的handbook和user-guide,Technique book同樣都是英語。最近我們同學在做嵌入式,用的是Samsung的ARM9,上面都是英文。所以說,沒有英文真的難有長進,不要指望別人替你翻譯。你應該想自己怎麼樣可以翻譯給別人。

    (4)重視基礎。作業系統理論,體系結構,演算法,編譯方法等等,這些都是你需要考慮的。當你的基礎很紮實了,你成功的機率也就更大了。當你看到word的時候,我希望你看到的版面排版的相關演算法;當你用google的時候,我希望你想起的是PageRank的相關文獻;當你使用導航的時候,你最初想到的應該是最短路徑生成演算法。

    (5)最後就是腳踏實地,不要抱怨,更不要盲從。當大家都在說Ubuntu好的時候,你也說好;當別人罵百度,你有跟著罵百度,這些都是沒有必要的。不要太在乎外在的輿論,做好自己事情。現在網上的資源很多,幾乎包括了一切。你想學網路,asp,php,jsp; 你想學嵌入式 linux,winCE, C/os; 識別類,指紋,人臉,聲音;論文方面,很多大牛都喜歡自己的部落格上面,MIT還有很多OpenCourse;三維動畫,OpenGL,Direct3D等;程式就更多了,codeguru,sourceforge等等。學學別人的長處,總是一件很開心的事情。

  • 中秋節和大豐收的關聯?
  • 古代一夫多妻,女性是如何相處的?