高級程序員應該具備的一些技能


作者:chason
鏈接:https://www.zhihu.com/question/20232930/answer/30984598
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

我認為高級php工程師可以往幾個方向去發展:
1.深度方向
一個工程師要往高階發展,必須同時強化幾個技術能力:
  • 設計能力:懂得如何利用分層、面向對象、設計模式等設計組織代碼
  • 編碼能力:熟悉php語法特性,知道怎么用一兩行代碼代替初級開發者十幾上百行代碼。
  • 工程能力:學會如何快速構建工程,學會如何構建可讀、可擴展性的工程,學會如何避免埋坑給后人,學會如何與人協作維護工程,學會如何保證工程質量,學會如何權衡利弊,學會如何在困難面前妥協。
  • 抽象能力:初級開發者通常會等到邏輯重復時再抽象封裝(甚至怕拖進度或者懶惰而放棄),而高級開發者通常一開始寫出的邏輯就為了以后的重用,並且深知一開始多付出的思考設計時間最終都會因為復用得到回報。很多開發框架就是一步步抽象/埋坑/優化而來的。
  • 架構能力:一個業務系統如何划分模塊,模塊之間如何協作通信,每個模塊的技術選型如何做,系統細節如何規避問題等等。
  • 優化能力:學會如何評估、分析、提升系統性能。優化途徑很多,產品功能優化、業務邏輯優化、基礎技術優化、操作系統底層硬件的優化等等。

2.廣度方向
php開發基本上離不開操作系統、存儲、緩存、網絡、webserver等等配套設施,因此這也是高階必備技能。一旦業務系統出問題了,必須要能快速定位解決(不一定自己解決,但要知道找到哪個負責人來解決)。

比如存儲mysql,高級開發者會懂得利用索引、利用分表分庫提高查詢性能,懂得負載均衡和災備提高性能提高可靠性(雖然是DBA的工作,但了解了有助於出問題時排查)

比如緩存,高級開發者懂得如何有效且最大限度利用緩存系統提高應用性能。

比如http,初級開發者往往只懂得http網絡請求就只一去一回兩個包,高級開發者會去深究網絡七層模型、會深究http請求的各個環節(DNS、三次握手等等)

比如web前端,學習如何依靠瀏覽器緩存、CDN緩存、壓縮代碼、合並文件等等提高前端性能,學習如何進行前端安全攻防。


3,軟素質
懂得團隊管理,項目管理,溝通技巧等等。(有空再展開)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM