• 新入行程序員須知的8件事

    2
    程序員 Git C/C++ Bash 7985 次瀏覽
    1.良好的溝通能力。

    工程管理是一個團隊活動,哪怕有時候這個團隊只有你一個人。由于每時每刻都有那么多事情需要相互了解,所以溝通就成為了最大的問題。90%的工程管理指的 就是溝通。比如,我們得向人解釋bug是什么?如何有效診斷?如何向大家完整地表述自己的復雜想法?溝通是項目成功最關鍵的因素。無效的溝通只會導致大量 時間和精力的浪費。


    2. 計算機科學的基礎。

    要想作為成為一名優秀的程序員,計算機科學的基礎是必不可少的,但是,老實說,計算機科學和計算機工程真是兩碼事。不過要想成為優秀的工程師,就得有這個 好奇心喜歡專研計算機的發展趨勢和計算機的工作原理,包括深層次地了解新趨勢可能存在的誤區,以及一些替代性的解決方案,這樣才有和其他工程師交流的資 本。算法,除非是在面試中,其他時候用處不大。我的意思是,大多數情況下有類庫就足夠了。不過這并不意味著可以完全無視數據結構和算法。此外,推理代碼和 優化仍然很重要,尤其是在規模化的時候。


    3.學會閱讀代碼。

    寫代碼的重要性不用我說大家都知道,但是關于閱讀代碼這回事恐怕沒幾個人聽說過。這可能是最值得掌握的技能之一了。關于這一條,到目前為止,我也在努力達到目標的過程中。話說,要是能有透過復雜現象看清事物本質的功力,那就離成為一個優秀工程師不遠了。


    4.學習UNIX和Linux。

    這倆家伙幾乎無處不在,所以很值得學習。它們能讓我們通過命令行快速操縱計算機。如果有需要還可以安裝Linux軟件包和設置服務器。還能通過vi快速編 輯(沒錯,就是vi。我本人就是Emacs用戶)。還有一點很重要的是,UNIX實用程序能顯著節省時間。此外我們還需要知道如何使用sed、grep、 find、pipes,以及使用基本的bash/zsh寫代碼。


    5.了解文本編輯器。

    軟件工程師都是玩轉文本的高手。即便是現在已經被當做老古董的Emacs和vi,仍然是工程師需要學習的編輯器。兩者至少得精通一個,因為它們的理念不 同,而了解其中之一不但能讓你代碼寫得更快,而且還不會被任何一種特定的環境所禁錮。不要僅僅是使用編輯器,要讓它乖乖降服于你,自動化,符合自己的按鍵 習慣,寫出解決問題的腳本。


    6.自動化思維。

    因為復制/粘貼就是一種自動化模式,所以我們完全可以編寫腳本來實現。而隨機寫入腳本會讓編程更為有趣。也許只用30分鐘就能搞定一天枯燥乏味的工作。自動化能縮減過程,也能讓我們學到不少新的東西。


    7.了解版本控制。

    我喜歡干什么都用git。可惜,這么棒的點子,我竟然在學校的時候根本不知道,真是情何以堪。版本控制能讓我們可以放心大膽地折騰代碼,因為要是有什么行不通的地方,恢復原狀或者取消鍵入就可以了。It’s so easy!


    8.自己搞個小項目。

    這非常鍛煉人,哪怕有時候會覺得筋疲力盡,恨不得撒手不干。由于我們的產品是抽象的,不像造大橋那樣能看到真真切切的成品,所以我們只能不停地編碼,沒勁 透了。想不想專心致志搞一個自己中意的項目,像對待自己的孩子那樣,盡自己的全力做到最好,在這個過程中,還能學到新知識,學會運用工具,而在工作中是不 可能有這樣的機會的?答案當然是YES了。

    相似問題

    相關經驗

    相關資訊

    相關文檔

  • sesese色