作了這麼多年php,今天看到一個07年的老文,才發現本身的水平太菜。轉過來激勵下本身php
說句實話,寫這個真夠無聊的.原本看了某位大蝦的相似文章,腹誹了幾句也就算了.可是昨天晚上有個客戶拿着這篇文章問我: 你丫的本身作
外包,你算幾段PHPer?遂感受那篇文章對某些半通不通之人的誤導之深.沒法,只有寫此文章代表我對PHPer的水平區分的立場.
關於具體收入水平,總的來講由於這幾年PHP培訓班的加多,大量PHP新手開始搞亂市場,因此很難說清.在此貿然寫出有誤導之嫌.並且收入水平和所在地區有很大的關係,例如重慶的同水平PHPer確定比北京的工資低.但在重慶省着點花錢反而比北京剩的工資多.
不過,PHP的市場確實在逐步混亂,目前由於培訓班/大學選修課等緣由,初級PHPer大量增長.故初級PHPer的工資市場有步asp呈現白菜價的趨勢
.但高級PHPer仍然極爲缺少.
但我認爲:工資水平和實際技術水平基本成正比,目前業界信息透明,且到目前位置高端PHPer的圈子仍然極小.你們交換信息極爲方便.若是PHP水平不高,但拿到高工資的機率不高.即便PHP技術差能拿到高工資也不能長久.
如下觀點屬於個人一家之言,您不贊同能夠拍磚,能夠給我發信討論,個人mail是 jstel && 126.com (&& 換成 @) Arain收 . qq :
155313 7 2 4 . 目前我職業作網站項目外包,也就是你們所說的自由職業者.歡迎你們有網站/crm等活發包給我.
0 : 我對PHPer的定義: PHPer是工做/程序以編寫PHP程序爲主,其餘方面略有涉獵的人.部分由C/C++ 轉來的人,雖然也作php程序,但工做重點還是C/C++.不能說是PHPer或者不能說是純粹的PHPer.
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劃分的具體描述:
X: PHPer的共同特色:
0: 會電腦,能上網.
1: 知道w3c標準,
2: 會html,會JS,會PHP.會MySQL.
3: 知道linux.見過linux運行.
不知足以上內容者別說本身是PHPer.
如下對不一樣階段的描述, 每個高級階段都須要掌握低級階段的技能 . 他們之間具備繼承關係. 在初級階段,因爲目前國內的狀況.常常須要PHPer兼美工/網管的功能.因此也寫了一部分其餘技能.
a: PHP 愛好者
定義: 以PHP程序爲業餘愛好,建有或正維護着一個或幾個使用PHP技術實現的網站/程序的人是PHP 愛好者.
描述: 這些人通常不以PHP爲謀生手段,他們的分佈以網站站長及在校學生爲主.
特徵: 1: 會用dreamweaver/frontpage等工具製做網頁.
2: 能夠對現成PHP程序進行修改.
3: 愛好PHP.
技術要求: 無.
b: PHP 初學者 (PHP Beginner)
定義: 準備以PHP程序謀生,準備建設或正在維護一個或幾個使用PHP技術實現的網站/程序的人是PHP 初學者 (PHP Beginner).
描述: 這些人已經或即將以PHP爲主要謀生手段,他們的分佈以即將畢業的大學生及剛剛加入PHP 程序員行列的人爲主
特徵: 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 關於英文. 這個是廢話.最低要求是流暢閱讀英文文檔.
其餘:
鳴謝: 國內某培訓機構的資料.我引用裏大家的3月速成PHP工程師的標準做爲PHP初學者的標準.謝謝.由於我也沒稿費得.因此就不給大家稿費了.
版權: 老習慣 ,共創協議,非商業性/姓名標示/禁止修改. 謝謝
一家之言,歡迎你們討論.本文廢話頗多.寒一個. 個人聯繫方式 : jstel && 126.com (&&換成 @) .Arain 收 qq: 155313 7 24. 有任何不一樣意見能夠來信討論.html