色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

程序員的職業素養

  程序員是可以當作一生的職業。但首先,你需要熱愛編程,而不是把它作為完成其他人生目標的工具。

  既然計劃投入數十年的人生,那么一定會不斷的反思自己在哪些方面的努力是更有效率的。換句話說,現在的你,和十年前的自己到底有哪些不同,十年后又怎樣超越現在的自己?

  我的職業生涯還遠遠沒有過半,深深感覺沉淀不足??倳行碌睦斫獾脚f有的想法上。這次應邀來用簡短的文字探討這個深刻的話題,只能盡力來表達一些現階段的淺薄之見。

  我認為,一個程序員,無論他在哪個子領域工作,都需要在三個方面提高自己。

  首先,保持對未知領域的好奇心,盡力開闊視野。

  如果你只精通一門編程語言,那么就趕快去學習另一門,最好和之前的那門語言親緣關系越遠越好。這可以讓你從不同的視角去看待過去的問題。

  如果你只專注于一個領域,那么深入研究一下其它領域會有很大的幫助。大多數人都喜歡在自己熟悉的知識結構下解決問題,因為全新的東西總有學習門檻,你需要去了解很多基礎知識才能開始實際的工作。在大腦里把相關信息組織起來輕松調配,和借助外部資料是很不一樣的。后者要經歷一個相當痛苦的過程。但是,一旦你習慣經常學習,可以逐步掌握一套自己的方法減輕這種痛苦。大多數人實際會遇到的領域有限,看似沒有價值的知識,學習起來更為困難。要做到這點,需要保持單純的好奇心。

  其次,把握各個層次上的細節。

  盡可能向人解釋清楚系統每個層面的運行。硬件如何調度機器指令;數據在硬盤、內存、緩存、CPU 間的流向;代碼如何被編譯鏈接,代碼經歷了何種過程被加載到內存,JIT 怎樣加速字節碼的運行;操作系統怎樣管理線程、處理 IO ;軟件用到的第三方模塊和工具如何在處理數據;在網絡環境中,數據流的通訊協議;你的代碼中每個模塊逐個層次中的相互關系……

  對細節掌握的越多,思路會越清晰。在每個層次上,你會看到不同層次的設備對上一層業務邏輯的抽象方式,直到最終你直接面對的業務。對業務的抽象能力,不僅僅來至于你對業務的熟悉程度。這種能力是隨同細節把握能力同時俱備的。了解的越多,就越能知道你經手工作的合理性。

  第三,對代碼的直覺。

  優秀的程序員能很快的發現性能熱點、找到系統崩潰的原因、找出不合理的代碼…… 準確的估算能力非常重要,快速心算出每個模塊的開銷和輸入的數據量之間的關系;在寫下每行代碼時能夠判斷其對性能的影響、以簡潔去挑戰各個層次模塊間的耦合復雜度。

  培養這種能力,以我個人淺見,除了不停不斷的編寫代碼,別無良方。在寫代碼的同時,時刻保持著思考,對壞味道的地方零容忍。只要在最早的時刻動手,任何推倒重來的代價都不會太大;而放任它們在那里只會讓局面演變到不可收拾。

  保持自己總有代碼可寫,不斷的去發掘自己新的興趣點,拓展新領域。單純一些,編程本身就是一件有趣的腦力活動,而不必僅僅為了解決一些問題而寫程序。

it知識庫程序員的職業素養,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 博爱县| 广宁县| 福贡县| 奎屯市| 台湾省| 林州市| 湄潭县| 汽车| 天祝| 东乡族自治县| 武邑县| 广安市| 察雅县| 海安县| 大邑县| 城口县| 留坝县| 思南县| 南溪县| 大城县| 和平区| 临汾市| 建宁县| 乌拉特前旗| 温泉县| 财经| 无为县| 赤壁市| 肇东市| 平昌县| 巴林右旗| 清远市| 临猗县| 新田县| 江城| 盘锦市| 枣庄市| 克什克腾旗| 汨罗市| 玉龙| 册亨县|