天天看點

什麼是PHP進階工程師

衆觀各大公司在PHP進階工程師的招聘要求,以個人的了解,将共同點抽象出來,得此文,如有與君意見之不同,請留言讨論。

關鍵詞

PHP、進階、系統架構設計、OOP、網絡協定、溝通、Linux

定義

以前或現在以PHP為主要開發語言,具有若幹年以上工作經驗,對OOP有深入認知,掌握各種網絡通訊協定,熟練掌握資料庫及WEB其它相關知識 能夠獨立完成可擴充系統架構設計的工程師

具體來說,需要具備以下技能:

  1. 精通PHP 是精通哦
  2. 深入了解面向對象的思想,熟悉常見設計模式
  3. 熟悉*nix系統,最好對其核心有一些研究
  4. 對某一資料庫有十分深入的認識,熟練掌握關系資料庫理論
  5. 熟悉HTTP、TCP/IP等網絡通訊協定
  6. 精通構架設計的理論、實踐和工具,并掌握多種參考構架、主要的可重用構架機制和模式
  7. 良好的代碼風格,清晰的程式設計思路

其它說明

  • 學曆 學曆在各大公司都有明确要求,一般都是大學及其以上,也許有其它相當牛的不在此要求限制之列,但是畢竟這隻是少數,要過HR那關,可能得特批。
  • C/C++ 在招聘進階工程師時,一般都會有對這塊的要求,但是都是以具有相關經驗者優先出現
  • 文檔 包括項目中的設計文檔,在編碼期間的注釋能力等,這個屬于基本要求
  • 英文讀寫能力 至少要熟練的文檔閱讀能力,至于英語的口頭表述,隻有極個别公司或外企需要
  • 算法和資料結構 強烈建議具備,這屬于基本功之一;不是每個公司都會要求,如果公司不要求,也算是亮點之一
  • 軟體工程 有些公司要求有相應的軟體工程思想,或者有項目管理經驗,這與招聘的公司崗位相關
  • 溝通能力 具備良好的溝通能力和了解能力,有良好的團隊合作能力,這個應該屬于基本要求之一
  • 分布式系統 這個一般屬于附加分項,但至少有使用分布式緩存或資料庫的經驗。
  • 網絡程式設計 部分公司有要求,但是在面試的時候應該都是會問的,是以這個也屬于必備技能之一
  • 優化 資料庫優化,代碼優化等,這個應該屬于面試必備知識點,但這與經驗有較大關系
  • 業内的名氣 blog/出書/演講/開源項目/…

個人感想

思考所有的能力和要求,發現PHP進階工程師與PHP其實沒有多大關系,關鍵在于程式員 (programmer)整個知識體系的建構。 無論是從作業系統、協定、資料庫等硬性要求,還是從文檔、英文、溝通等軟體要求來看,這不僅僅是一個PHP程式員, 它所要表達的是後面五個字:進階工程師 。 當達到一定的層次,做技術需要追求廣度和深度,有自己的特長,有一個完善的知識體系。

語言隻是一門工具,不應該局限于一門語言,但必須精通一門語言。 沒有萬能的語言,每種語言都有其存在的意義,或者說都有其适用場景,選擇最合适的語言,這也是項目開始時需要規劃的内容之一。