職業(yè)修養(yǎng)之【后端程序員】篇

在互聯(lián)網(wǎng)公司,后臺的可擴(kuò)展性,高可用性,靈活性,安全性是公司的一個(gè)重要成功因素。對于后臺程序員的綜合素質(zhì)要求自然就要比客戶端開發(fā)人員更高。

基本能力

  • 代碼書寫規(guī)范,有代碼潔癖[1]。
  • 永遠(yuǎn)相信是人寫的代碼就會有bug,測試充分。
  • 對于自身的代碼要求高,重構(gòu)的意愿強(qiáng)烈。
  • 至少對一種程序語言的精通。
  • 這里的精通并不是用了半年就可以在簡歷上書寫對某某語言的"精通",而是徹底了解語言的所有特性,善于利用程序語言帶來的便利,規(guī)避程序語言的不足。
  • 對基于語言特性的設(shè)計(jì)模式順手拈來,比如 Java的設(shè)計(jì)模式[2]。
  • 善用變量名和過程名表示注釋,名詞前后保持一致,不會剛用people表示用戶,之后又用user表示。
  • 至少掌握一門外語,閱讀能力過關(guān),閱讀原版文檔和幫助文件沒有障礙。
  • 熟悉計(jì)算機(jī)組成原理,緩存,內(nèi)存,硬盤,網(wǎng)絡(luò)的訪問延遲數(shù)量級熟知在心。
  • 熟悉操作系統(tǒng)原理,對于并發(fā),多線程的了解,并不僅限于程序語言的實(shí)現(xiàn)層面
  • 靈活使用至少1種腳本語言,比如shell,python
  • 能承受壓力下工作,對于半夜解決問題和連續(xù)加班無怨言。

進(jìn)階能力

  • 對于書寫的代碼消耗空間和時(shí)間有精準(zhǔn)的認(rèn)識和苛求
  • 實(shí)現(xiàn)問題所寫的代碼負(fù)載能力是當(dāng)前系統(tǒng)規(guī)模的10倍以上,而不是只求簡單解決問題
  • 對當(dāng)前系統(tǒng)要求高,不斷尋找當(dāng)前系統(tǒng)中的弊病并能動(dòng)手解決
  • 可以迅速找到次優(yōu)解決方案和最佳解決方案解決問題,能根據(jù)不同的場景進(jìn)行靈活選擇
  • 求知旺盛,不斷挑戰(zhàn)自己的技能實(shí)現(xiàn),以頂級程序員的能力要求自己
  • 對于安全性嗅覺敏銳
  • 善于總結(jié),經(jīng)常維護(hù)自己的技術(shù)博客
  • 數(shù)學(xué)能力強(qiáng),喜歡研究算法[3]

高級能力

  • 瘋狂的喜愛編程而不是視其為謀生手段
  • 在多個(gè)開源社區(qū)貢獻(xiàn)代碼
  • 白帽子黑客,擅長攻擊和防范
  • 經(jīng)常有大神般的突出行為,比如可用1天的代碼實(shí)現(xiàn)其它人1周的coding工作量

總結(jié)

認(rèn)真你就贏了


  1. 整潔代碼clean code ?

  2. Java開發(fā)中的23種設(shè)計(jì)模式詳解 ?

  3. 算法合集之《后綴數(shù)組——處理字符串的有力工具》 ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容