PHP工程師技能水平區分
1 : 對PHPer的劃分,我對PHPer劃分為以下幾個階段.
a: PHP 愛好者 (半個PHPer)
b: PHP 初學者 (PHP Beginner)
c: PHP 初級程式員 (Primary PHP Coder)
d: PHP 中級程式員 (Junior PHP Coder)
e: PHP 高級程式員 (Senior PHP Coder)
f: PHP 工程師 (PHP Programmar)
以下是對PHPer劃分的具體描述:
a: PHP 愛好者
特徵: 1: 會用dreamweaver/frontpage等工具製作網頁.
2: 可以對現成PHP程式進行修改.
3: 愛好PHP.
技術要求: 無.
b: PHP 初學者 (PHP Beginner)
特徵: 1: 能夠簡單維護/操作/最佳化linux.
2: 能夠編寫PHP程式.
3: 會MySQL.
4: 會html/js.
5: 能夠構建符合W3C標準的頁面.
6: 能夠勝任簡單的伺服器維護工作.
技術要求:
1: 伺服器運行系統:
a: linux:
I: 能夠安裝Linux系統、熟練使用Linux常用命令、知道Vim文字編輯器,會軟體包管理.
II: 能夠實際操作使用者管理、進程管理、檔案系統管理、許可權管理功能
III: 知道並會使用Linux網路設定相關檔案、基本配置命令、DHCP、VNC、DNS伺服器、Samba伺服器. 能成功配置並使以下服務平穩運行.SSH、FTP、Apache,網站登入控制、日誌管理.
IV: 能夠使用shell對伺服器進行維護.
V: 能夠進行Linux系統安全配置、Iptables、syslog日誌管理
b: windows:
僅為初學者和初級程式員要求.
I: 能夠安裝windows、熟練使用windows、能夠對IIS進行最佳化.
II: 能夠正確配置防火牆、對伺服器進行管理維護.
III: 能夠抵禦普通的網路攻擊.
2 web頁面技術及相關:
其實這不應該算是PHP的技術.但實際工作中,大部分PHP初學者都需要兼前台/後台/網管的角色.故在此提出,僅供參考.
I: 熟練掌握HTML, Dreamweaver、常用標籤、圖象地圖、表格、分楨架構、表單,Header處理,CSS, 樣式表的分類、樣式則規器使用,常用的樣式、層標籤,JavaScript
II: 各種事件及事件處理常式的應用、window對象、document對象、location對象、body對象、form對象、form表單欄位元素對象
III: ajax及其相關技術.能完成常見ajax頁面製作
3 MySQL技術
I: 熟練掌握SQL語句.
II: 熟練掌握MySQL的常用操作.包括安全、存取控制和許可權、備份和恢複,複製、匯入和匯出記錄.
III: 熟練掌握 phpMyAdmin或任意一種MySQL管理維護工具.
4 PHP技術
I: 熟練掌握PHP文法,常用函數.
II: 熟悉PHP的物件導向編程.並能實際使用物件導向思想進行程式寫作.
III: 熟悉PHP常用庫.
c: PHP 初級程式員 (Primary PHP Coder)
定義: 正在以PHP程式謀生,正在建設或維護一個或幾個使用PHP技術實現的網站/程式的人,PHP經驗有限的人是PHP初級程式員.
描述: 這些人已經以PHP為主要謀生手段,他們的分布以剛剛加入PHP 程式員行列的人為主,也有部分加入PHP行列若干年的人.
特徵: 1: 能夠維護/操作/最佳化linux.
2: 熟練編寫PHP程式.
3: 熟練掌握MySQL.
4: 會html/js.
5: 能夠快速構建符合W3C標準的頁面.
6: 能夠勝任大部分伺服器維護工作.
技術要求:
1: 伺服器運行系統:
a: linux:
I: 熟練安裝Linux系統、熟練使用Linux常用命令和某些日常使用的命令、掌握軟體包管理.
II: 能夠熟練操作使用者管理、進程管理、檔案系統管理、許可權管理功能
III: 能夠熟練使用Linux網路設定相關檔案、基本配置命令、DHCP、VNC、DNS伺服器、Samba伺服器. 能快速的配置並使以下服務平穩運行.SSH、FTP、Apache,網站登入控制、日誌管理.
IV: 能夠對MySQL和Apache進行一定的最佳化以提升網站效能.
V: 能夠使用shell對伺服器進行維護.熟練使用常用的維護工具.
VI: 能夠進行Linux系統安全配置、Iptables、syslog日誌管理
b: windows:
僅為初學者和初級程式員要求.
I: 能夠安裝windows、熟練使用windows、能夠對IIS進行最佳化.
II: 能夠正確配置防火牆、對伺服器進行管理維護.
III: 能夠抵禦普通的網路攻擊.
2 web頁面技術及相關:
其實這不應該算是PHP的技術.但實際工作中,大部分初級PHP程式員在公司裡都需要兼前台/後台/網管的角色.故在此提出,僅供參考.
I: 熟練掌握HTML, Dreamweaver、常用標籤、圖象地圖、表格、分楨架構、表單,Header處理,CSS, 樣式表的分類、樣式則規器使用,常用的樣式、層標籤,JavaScript
II: 各種事件及事件處理常式的應用、window對象、document對象、location對象、body對象、form對象、form表單欄位元素對象
III: ajax及其相關技術.能完成常見ajax頁面製作.
IV: 會photoshop在內的一種或多種圖片編輯軟體
3 MySQL技術
I: 熟練掌握SQL語句.
II: 熟練掌握MySQL的操作.包括安全、存取控制和許可權、備份和恢複,複製、匯入和匯出記錄.
III: 熟練掌握 phpMyAdmin或任意一種MySQL管理維護工具.
IV: 知道MySQL常見效能瓶頸的原因及解決方案.並能實際解決.
4 PHP技術
I: 熟練掌握PHP文法,常用函數.
II: 熟悉PHP的物件導向編程.並能實際使用物件導向思想進行程式.
III: 熟悉php物件導向的特性.能夠根據實際運行環境選擇開發方法.
IV: 熟悉PHP常用庫.能夠使用常用的php庫進行項目開發.
V: 擁有良好的編碼格式習慣,可以規範的進行代碼編寫.
5 項目相關
I: 實際完成過PHP項目.或全程參與過php網站開發與建設.
II: 能夠較為快速的進行項目開發.
d: PHP 中級程式員 (Junior PHP Coder)
定義: 正在以PHP程式謀生,正在建設或維護一個或幾個使用PHP技術實現的網站/程式的人,有幾年PHP經驗但是尚未積累必要的程式碼程式庫和快速開發工具的人是PHP 中級程式員 .
描述: 這些人已經以PHP為主要謀生手段,他們的分布以加入PHP 程式員行列5年內的人為主,也有部分加入PHP行列更多年的人.
特徵:
1: 能熟練維護/操作/最佳化linux.
2: 快速編寫結構清晰,代碼格式優美的PHP程式.
3: 熟練掌握MySQL的操作和常用最佳化.
4: 熟悉程式效能的出現瓶頸的常見原因,並能在實際編寫過程中避免出現效能瓶頸.
5: 能夠使用某些架構/類庫加速項目開發進度.
6: 能夠勝任大部分伺服器維護工作.
技術要求:
1: 伺服器運行系統:
a: linux:
I: 熟悉操作一種版本linux,並能對此版本的linux進行一些調整最佳化
II: 能夠進行不停機維護升級.
III: 能夠熟練使用Linux命令列下操作.
IV: 能夠對MySQL和Apache進行最佳化以提升網站效能.
V: 能夠配置小型伺服器叢集(雙伺服器或三伺服器).
VI: 能夠進行Linux系統安全配置、Iptables、syslog日誌管理
2 web頁面技術及相關:
到中級程式員,一般公司都有專門的美工和前景程式員配合工作.故頁面製作技術要求同初級程式員.
I: 熟悉常見的通訊標準.可以根據手冊編寫出符合通訊標準的程式.
3 MySQL技術
I: 熟練掌握SQL語句.
II: 熟練掌握MySQL的操作.包括安全、存取控制和許可權、備份和恢複,複製、匯入和匯出記錄.
III: 熟練掌握 phpMyAdmin或任意一種MySQL管理維護工具.
IV: 知道MySQL效能瓶頸的原因及解決方案.並能實際解決.
4 PHP技術
I: 熟練掌握PHP文法,常用函數.
II: 熟悉PHP的物件導向編程.並能實際使用物件導向思想進行程式.
III: 熟悉php物件導向的特性.能夠根據實際運行環境選擇開發方法.
IV: 熟悉PHP常用庫.能夠使用常用的php庫進行項目開發.
V: 擁有良好的編碼格式習慣,可以規範的進行代碼編寫.
5 項目相關
I: 實際完成過PHP項目.或全程參與過php網站開發與建設.
II: 能夠較為快速的進行項目開發.
III: 有自己的程式碼程式庫.可以在項目中進行複用
IV: 形成了良好的編碼習慣,編寫的程式碼清晰,注釋清楚.
V: 能夠對項目中的痛點與新技術進行攻關.
e: PHP 高級程式員 (Senior PHP Coder)
定義: 正在以PHP程式為主要工作,建設過多個PHP項目,正在建設或維護一個或幾個使用PHP技術實現的網站/程式的人,有多年PHP經驗,有自己的程式碼程式庫和快速開發工具的人是PHP 進階程式員.
描述: 這些人已經以PHP為主要謀生手段,他們的分布以加入PHP 程式員行列5年以上的人為主.進階程式員是PHP項目的核心力量.
特徵:
1: 能熟練維護/操作/最佳化linux.
2: 快速編寫結構清晰,代碼格式優美的PHP程式.
3: 熟練掌握MySQL的操作/最佳化和多資料庫.
4: 能夠快速查出程式效能的出現瓶頸的原因,並能根據實際情況進行調整.
5: 能夠使用架構/類庫加速項目開發進度.
6: 有自己的程式碼程式庫.
7: 能夠勝任大部分伺服器維護工作.
技術要求:
1: 伺服器運行系統:
a: linux:
I: 熟悉操作一種版本linux,並能對此版本的linux進行一些調整最佳化
II: 能夠進行不停機維護升級.
III: 能夠熟練使用Linux命令列下操作.
IV: 能夠對MySQL和Apache進行最佳化以提升網站效能.
V: 能夠配置和最佳化伺服器叢集.
VI: 能夠進行Linux系統安全配置、Iptables、syslog日誌管理
2 MySQL技術
I: 精通SQL語句.
II: 熟練掌握MySQL的操作.
III: 熟練掌握 phpMyAdmin或任意一種MySQL管理維護工具.
IV: 能夠根據實際運行情況對資料庫瓶頸進行調整,並適時改變開發方法.
4 PHP技術
I: 精通PHP文法,常用函數.並有自己專註的方向.
II: 熟練使用PHP的物件導向編程.並能實際使用物件導向思想進行程式.
III: 熟悉php物件導向的特性.能夠根據實際運行環境選擇開發方法.
IV: 實際使用工廠化開發等開發方法進行項目開發.能夠使用PHP的特性提升開發速度和程式運行速度.
V: 有自己的程式碼程式庫,有自己熟悉兵精通的某些共用類庫.
VI: 擁有良好的編碼格式習慣,可以規範的進行代碼編寫.
5 項目相關
I: 實際完成過多個不同方面的PHP項目.
II: 能夠快速的進行項目開發.
III: 有自己的程式碼程式庫.可以在項目中使用程式碼程式庫進行快速開發.
IV: 形成了良好的編碼習慣,編寫的程式碼清晰,注釋清楚.
V: 能夠領導程式員對項目中的痛點與新技術進行攻關.
VI: 熟悉軟體工程,能夠根據實際情況選用適當的開發模式.
f: PHP 工程師 (PHP Programmar)
定義: 正在以PHP程式為主要工作,並進行中新產品的研發.可以同時使用C+/perl等輔助提高PHP程式效能的人是PHP工程師.
描述: PHP工程師是.
特徵:
1: 精通一種或多種linux.
2: 快速編寫結構清晰,代碼格式優美的PHP程式.
3: 能夠進行架構級通用程式的研發.
4: 能夠在程式開發初期就通過專案規劃避免未來可能出現的效能瓶頸.
5: 能夠使用架構/類庫加速項目開發進度.
6: 有自己的程式碼程式庫.
7: 能夠勝任大部分伺服器和部分伺服器叢集最佳化工作.
技術要求我就不說了.具體到PHP中級程式員之後,PHP程式員就開始選擇發展方向進行分化了.能夠到這一步的人,基本都對自己的職業規劃有清晰的認識.目前國內此類人才奇少.
關於其他:
1 PHP程式員從中級程式員階段就開始分化,具體方向根據公司性質,工作條件,自己的興趣等不一而同.因此需要擅長的詳細技能也不太相同
例如: 公司使用 joomla 構建網站, 這就要求程式員必須精通joomla. 如果公司使用自研CMS+discuz構建網站,這就要求程式員能夠熟練進行DISCUZ的二次開發.強行要求程式員精通這精通那,意義不大.
到進階程式員開始.PHP程式員由於自己的職業經曆.肯定會有自己的專攻方向,有人擅長大負載下程式開發最佳化,有人擅長項目快速開發.而到這個階段,如果PHP程式員還需要看這篇文章規劃自己的職業生涯.那麼請自己列出自己擅長的PHP技術.並選擇一種最擅長的技術專攻.
2 關於coder和programmar. 字面上理解第一個是編碼員,第二個是程式員.實際因為國內名詞的混亂.第一個大多以程式員稱呼,第二個目前大多處於項目核心領導層面.故本文暫以工程師稱呼.
coder 是進行少量創新的,大量重複工作的人.
programmar 是進行新技術摸索開發,並實際領導/帶領大中型項目開發的人.
3 關於 C++ PHP初期的文法(php3/4時代)和C幾乎一樣.我當初就是看一下午PHP速成+php手冊入的門.但到一定深度之後.有些PHP的特性需要實際閱讀PHP源碼才能理解(相關文檔不全或者不好找到).有些實際項目功能使用C++開發遠比PHP效率高.比如我現在做的項目需要爬蟲持續海量抓取,當頻寬足夠的情況時,純使用PHP實現效率不高.所以必須使用C++. 所以C++到需要用的時候自然而然的就要用了.不過如果有C/C++的基礎,學習PHP要輕鬆很多.
4 關於物件導向.物件導向還是很帥的,小型工程上使用意義不大,大中型工程可以極大的提升開發效率.在php4的時代對物件導向基本沒有什麼要求,但是現在需要完整掌握物件導向.
5 關於JAVA/Delphi 他們和php有關麼? 我孤陋寡聞.請牛人指教.謝謝
6 關於軟體工程. 軟體工程是一個實際使用中才能學懂的學科.我才疏學淺,在大學的時候楞沒學懂.等實際領導項目了.才慢慢的明白其中的含義與奧妙.
8 關於開發模式. 開發模式的好壞直接關係這項目開發的速度與項目的品質.初期死摳模式意義不大.建議有一定積累了再說.
9 關於名氣. 嗯...怎麼說呢?高端PHP圈子很小,也就那麼些人.水平到了,自然就認識那些人了.
10 關於第三方庫,初期學習掌握一些,比如smarty.到一定階段需要決定到底是精通第三方庫還是使用自行積累開發的庫.總的來說,由於第三方庫大多是外國人開發,所以國內想要時刻緊跟比較被動,phpBB中文的沒落便是一例.如果使用自行積累開發的庫,難度較大,要注意通用性和可擴充性.
11 關於英文. 這個是廢話.最低要求是流暢閱讀英文文檔.
以上就介紹了PHP工程師技能水平區分,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。