PHP程式員在應該怎麼規劃自己的職業生涯?

來源:互聯網
上載者:User
1、我今年23歲。
2、剛從事php,知道前輩們的工作經驗可以讓我少走很多彎路,誠懇求教。

回複內容:

不太同意樓上匿名回答。
技術的提升是需要一定理論的積累和實際項目經驗的沉澱。
----------------------------------------------------------------------------
首先說一下廢話,介紹一下背景,不喜直接拉右側捲軸...
個人介入學習PHP的時間不算長,也不算短,應該是從學校的大二開始一直到現在,大概有四年左右了,但是不能算是真正意義上的四年PHP經驗,因為在學校的學習畢竟是很有局限的,不管是學習的路線規劃還是項目鍛煉的機會。

題主23歲應該是大學剛畢業吧,不知道在學校裡有沒有接觸過研發相關。
總結起來,個人的學習路線應該是從傳統型應用程式開發C#、SQLSERVER開始,到後面學習HTML、CSS、JAVASCRIPT、PHP、MYSQL、Android等。

---------------------我是萬惡的分割線-------------------------------
進入主題,如果題主有充裕的時間的話建議還是重點積累一下自己的基礎知識能力,發現身邊的很多人,尤其是學生或為了轉型快速學習PHP,在學習的時候忽略的基礎的知識,比如見過有個同學在學下到SESSION、COOKIE的時候感覺當時用不上就直接跳過了,或者僅僅瞭解了一下,到後面在項目中運用的時候基本都忘了,再回頭學習或查資料解決比起初學時花些時間去沉澱一下這些知識其實是得不償失的。
這裡的基礎技術能力指的是PHP語言本身的文法規則、各種特性,比如字串、數組操作的各種函數、Regex、SESSCION、COOKIE、資料庫、檔案、網路、映像操作等等。

第一階段:入門篇
鄙人在接觸PHP的時候,看的是《精通PHP5應用開發》、《PHP與MySQL 5程式設計》
豆瓣評分分別為7.5和7.7,具體書評就不多說了,還算不錯的兩本書,適合入門,有其實《精通PHP5應用開發》涉及到的知識點比較全,也比較適合做後面的查漏補缺的字典使用。豆瓣評分分別為7.5和7.7,具體書評就不多說了,還算不錯的兩本書,適合入門,有其實《精通PHP5應用開發》涉及到的知識點比較全,也比較適合做後面的查漏補缺的字典使用。
附上連結:
精通PHP5應用開發 (豆瓣)
PHP與MySQL 5程式設計 (豆瓣)
資料庫SQL相關的知識和前端在之前已經算剛剛入門,學了一周后開始上手小試牛刀,做了基本的個人首頁,然後用socket做了網路聊天系統,再到後面就開始做實際的項目了,當時非常感謝學校的軟體小組老師能給我們這麼多接觸項目的機會,事實證明真正的技術能力提升也是在項目中提煉的,在項目中會遇到各種問題,去解決的過程就是個人知識積累、能力提高的過程。

後面接著學習架構,首先是Smarty大師兄,建議如果時間允許最好還是學一下這個,瞭解一下什麼是前後端分離,PHP模板的基本實現。雖然後面用的情境比較少,但還是一個不錯的入門型開源小架構。PHP Template Engine
-
記得當時做過一個部隊醫院的官網和內部使用系統,還算是學到了不少東西,當時嘗試著用Smarty架構+ACCESS資料庫做。一說起這個很多人都很納悶為什麼是ACCESS,其實當時是想著這個項目需求涉及到的只是一些內容發布類型的功能,傻傻的覺得沒必要用MySQL,也想著嘗試一下用PHP配合ACCESS的開發過程,遇到了很多問題,比如
  1. 剛開始都沒用過ACCESS資料庫開發,死活和PHP串連不通
  2. ACCESS中text型欄位支援的最大內容長度是4096,需要在php.ini中去配置
  3. 想在Smarty的檔案結構中不想把所有的邏輯檔案都放在一個目錄,去配置這個目錄的路徑廢了很大功夫
  4. Access中有些SQL和MySQL不太一樣,但是當時有不知道(囧...)
  5. 多人用svn合作總是發生衝突或合并後出問題
  6. ...

其實上面遇到的這幾個問題都是開發之前一些環境的搭建和軟體的不熟練,其實代碼邏輯沒有很複雜。當然,因為當時經驗比較少,所以也遇到了很多開發中的問題。
另外,因為是部隊醫院中的項目,部署、調試起來比較麻煩。依稀記得是2012年大年二十八的時候還在醫院裡加班調試代碼,當時還是蠻拼的……加上項目需求討論、開發週期和維護期,總共用了將近兩個月時間,其中有一個月還是在學校邊上課的情況下用課餘時間來做這些,最後還算不錯的成功交付,第一個完整的項目還是比較有成就感。

接下來是學習 ThinkPHP架構 ,一直到今天,TP架構是個人使用比較順手的架構之一,

//TODO:待序 (後面的這個故事有些虐心,下去吃個麻辣燙壓壓驚)
-------
9月4日更新
//好久沒更新,也這段時間狀態比較猙獰,趁著放假好好調整下

後面就沒這麼幸運了,為了迎合另外一個客戶需求,用當時菜到沒朋友的技術用了很長時間參與了一個電商型的網站,因為確實沒有任何較成熟的項目經驗,因此在架構設計、需求把控以及技術實現上經驗比較少,項目的結果還是掛掉了,曆時了一年半 也是最難忘的算是一段創業經曆。
這期間遇到了當時覺得比較棘手的幾個問題(只說技術層面):
1.項目涉及到切換城市,判斷IP來源
2.大量的文章發布資訊,未采最佳化方案
3.詳情頁面URL中的自增id暴露庫中貼文量
4.頁面瀏覽器安全色問題(當時需要相容到IE6)

首先說城市和IP來源問題,當時是採用純資料庫讀寫解決方案,中間沒有任何檔案或記憶體緩衝技術,表結構是:
| id | 省 | 市 | 區
大概有3k多條資料,後面才意識到還需要按照首字母來篩選城市,剛開始想到的解決方案是篩選出所有的市,然後將所有的市的名字使用代碼進行首字母拼音分解……而且還真這樣做了……
這種表結構而且是每次讀庫可想而知在城市切換頁面會有多麼可怕的事情發生,基本上是行不通的,後面又進行了改進,不過現在看來還是很sb的。
另外是根據IP來源進行自動切換/建議 所在城市,找了很多解決方案還是沒能很精準的定位。

文章發布資訊,這個對於一些練手的小項目來說不用太理會的,一般發布周期不會很頻繁,量小好控制,但是針對大量的文章發布資訊涉及到詳情頁面的展示基本不採取一些最佳化措施是行不通的,訪問量一上來肯定掛掉,而且本身這種實現方案是比較病態的,不說加入Memcached和Reids,連個頁面靜態話都沒有。

對於詳情頁面GET的id參數,當時初期方案中也沒有考慮,因為id是自增的主鍵,暴露了庫中的資料量,後來使用的文章編號來標識。

關於瀏覽器安全色問題,這個確實在很大程度上提高了個人前端css水平,和相關的js操作dom方面知識,一直受益匪淺。
其實一直到現在我都覺得沒必要在技術學習上給自己貼標籤,你就是做後端php或前端js或python什麼的,很多人都說你學那麼多東西多而不精,對於一種東西精通是需要時間積累的,但是知識面太狹隘是致命的,很多大牛在學習一門語言的同時順便都學習了其他的語言。雖然工作中可能比較局限你是做什麼類型的開發,但是針對個人技術能力沒必要太苛刻自己。也不能在很多方面眼高手低,至少學習程式設計語言是比較忌諱的。
我自認為比較幸運的事是有過產品經理的實習經驗,對個人工作以及職業發展上有很大的協助,體現在對很多事情上的價值觀念的看法。

再後來,學習了Android,雖然沒做過什麼驚天動地的APP,用php和移動端結合起來也瞭解了移動端開發的相關知識,現在也有偶爾無聊的時候做個小東西。
然後是學習Python……現在基本處於忘完的階段,學習python最初是為了做一個開源ERP的二次開發,後來畢業後也不了了之,不過現在也偶爾會用python作為工具性質語言跑一些小指令碼之類。

慢慢的好像偏離主題了,再拉回來。還有很多個人相關經曆不再敘述,這些是現在回憶起來的好像很遙遠的一些經曆。
希望以上經曆會對題主有所協助。關於PHP學習路線相信在網上也可以很容易找到。
新浪部落格上有一篇比較老的文章來總結,引用一下:
1.基本文法 很無聊的東西

2.PHP+MYSQL 初步做出自己的作品,很高興了

3.物件導向 怎麼這麼難,不過當你會了之後你很樂意OOP

4.設計模式 這部分很多人都覺得很難

5.模板引擎 有名的有Smarty,可以看看官方網站的手冊或者到一些論壇下載手冊

6.二次開發 像大多數論壇,部落格都是二次開發的。有discuz!,Wordpress,phpwind等

7.用架構開發 如:ZendFramework,YiiPHP,QeePHP……

7.研讀別人的代碼 你如果第5步用的是Smarty的模板引擎,那你現在可以讀讀Smarty的代碼(前提,第3,4步做得比較好),之後是讀第6步裡面的

8.開發自己真正成熟的架構或PHP應用程式

9.你會發現有些東西是程式還不能解決的。

10研究更底層的技術,這時候就不是單純的PHP程式員了。

當然想完成上面的這10個過程很難。但至少你要達到第五個步驟。


另外,推薦基本比較好的書

《HTTP權威指南》([美]David Gourley,[美]Brian Totty,[美]Marjorie Sayer,[美]Sailu Reddy,[美]Anshu Aggarwal)【摘要 書評 試讀】


《C和C++經典著作:C陷阱與缺陷》([美]Andrew Koenig)【摘要 書評 試讀】

《PHP+MySQL專家編程》([美]庫日瑟(Andren Curioso),等)【摘要 書評 試讀】


《UNIX環境進階編程(第3版)》([美]W. Richard Stevens,[美]Stephen A. Rago)【摘要 書評 試讀】

《LinuxShell指令碼攻略 第2版》([印]Shantanu Tushar,[印]Sarath Lakshman)【摘要 書評 試讀】

祝早日成為PHP高手。瀉藥,我也23歲,然後這種事急不了,一步一腳印,慢慢積累就好了
我有個習慣,就是很喜歡寫方便自己工作的一些工具,一點一點積累,很有意思php不需要啥經驗,多寫代碼,多做項目,獨立做完整個項目。
想進大公司的話,就好好研究基礎知識,學好資料結構跟演算法(雖然很長時間然並卵)。
想進小公司當全能打雜就不太需要理太過基礎的東西了,前端、後端、伺服器管理、手機端。說起來好像很屌的樣子,但是碰到個啥問題還是很多時候在網上爬資料。

以上。無他,唯手熟爾。
我也開始學從長遠來看肯定是打好基礎,走大公司發展之路更好,要精通就要多鑽研;如果是多拿工資可以進小公司,不過就是需要各方面都會前端設計、後台開發、APP等等全方位的就沒那麼精通了。第一次回答,好緊張,想快速提高就是多做項目,研究優秀的開原項目或者架構代碼,看牛人部落格
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.