簡悅創始人雲風談程式設計師的職業素養

2021-06-11 21:00:36 字數 1051 閱讀 6342

文/雲風

成功程式設計師的共同點是將軟體開發視為一種需要精雕細琢並隨時加以修煉的技藝,時刻以專業人士的標準要求自己,注重培養良好的職業素養。而這些職業素養究竟是怎樣煉成的呢?

程式設計師是可以當作一生的職業。但首先,你需要熱愛程式設計,而不是把它作為完成其他人生目標的工具,你要不斷地反思自己在哪些方面的努力是更有效率的。我認為,無論在哪個子領域工作的程式設計師,都要在三個方面提高自己。

第一,保持對未知領域的好奇心,盡力開闊視野。如果你只精通一門程式語言,那麼就趕快去學習另一門,最好和之前那門語言的親緣關係越遠越好。這可以讓你從不同的視角去看待過去的問題。如果你只專注於乙個領域,那麼去深入地研究一下其他領域也會有很大幫助。

第二,把握各個層次上的細節。盡可能了解清楚系統每個層面的執行:硬體如何排程機器指令;資料在硬碟、記憶體、快取、cpu間的流向;**如何被編譯鏈結,**經歷了何種過程被載入到記憶體,jit怎樣加速位元組碼的執行;作業系統怎樣管理執行緒、處理i/o;軟體 用到的第三方模組和工具如何處理資料;在網路環境中,資料流的通訊協議;**中每個模組逐個層次中的相互關係……

對細節掌握得越多,思路會越清晰。在每個層次上,你會看到不同層次的裝置對上一層業務邏輯的抽象方式,直到最終你直接面對的業務。對業務的抽象能力,來自你對業務的熟悉程度,實際上這種能力更是隨同對細節的把握能力同時具備的。

第三,提公升對**的直覺。優秀的程式設計師能很快地發現效能熱點、找到系統崩潰的原因、找出不合理的**……除此之外,準確的估算能力也非常重要,這要求程式設計師 能夠快速心算出每個模組的開銷和輸入的資料量之間的關係。在寫下每行**時能夠判斷其對效能的影響,以簡潔去挑戰各個層次模組間的耦合複雜度。

要培養這種能力,除了不斷地編寫**之外,別無良方。在寫**的同時,要時刻保持思考,要對不好的地方零容忍。要在最早的時刻動手,任何推倒重來的代價都不會太大;放任它們只會讓局面演變到不可收拾的程度。

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

簡悅創始人雲風談程式設計師的職業素養

程式設計師是可以當作一生的職業。但首先,你需要熱愛程式設計,而不是把它作為完成其他人生目標的工具,你要不斷地反思自己在哪些方面的努力是更有效率的。我認為,無論在哪個子領域工作的程式設計師,都要在三個方面提高自己。第一,保持對未知領域的好奇心,盡力開闊視野。如果你只精通一門程式語言,那麼就趕快去學習另...

leo談程式設計師的職業素養 下

原文刊登於 程式設計師 雜誌07年第11期第24頁 接 leo談程式設計師的職業素養 上 案例二 嚴格開發流程的團隊b 國資委某下屬集團公司要上oa系統,幾輪 殘酷 招標之後ccc公司在研發能力 二個方面以綜合分第一的成績競標成功。擁有10年專案管理經驗的李石被任命為專案經理,並由他組建團隊。李石對...

leo談程式設計師的職業素養 下

原文刊登於 程式設計師 雜誌07年第11期第24頁 接 leo談程式設計師的職業素養 上 案例二 嚴格開發流程的團隊b 國資委某下屬集團公司要上oa系統,幾輪 殘酷 招標之後ccc公司在研發能力 二個方面以綜合分第一的成績競標成功。擁有10年專案管理經驗的李石被任命為專案經理,並由他組建團隊。李石對...