原文地址:http://rango.swoole.com/archives/570

看到很多 PHP 程序员职业规划的文章,都是直接上来就提 Linux、PHP、MySQL、Nginx、Redis、Memcache、jQuery 这些,然后就直接上手搭环境、做项目,中级就是学习各种 PHP 框架和类库,高级阶段就是 MySQL 优化、PHP 内核与扩展、架构设计这些了。

这些文章都存在一个严重的缺陷,不重视基础。就好比练武功,只求速成,不修炼内功和心法,只练各种招式,这样能高到哪里去?我所见过的 PHP 大牛每一个都是具备非常扎实的基础,他们之所以能成为大牛,是因为基础足够好。基础不稳,面对技术复杂的系统,如同盲人摸象、管中窥豹,只得其门不得其法。而且如果基础不扎实,也没办法进入大公司。国外的 Google、Facebook,国内的腾讯、阿里、百度、滴滴、京东、新浪等知名互联网企业,无论哪一家公司面试必然会考验应聘者的技术功底。无法进入一个拥有大规模并发请求的项目中得到历练,不坚持提升自己,那也只能在小公司混日子了。

我最开始工作也是在 2 家小公司,后来加入腾讯阿里,主要原因还是我坚持学习基础知识,从而得倒了这个机会。有几个方面的基础知识,我建议每一位 PHP 程序员都应该好好学习一下。我推荐几本书给大家,包括深入理解计算机系统、现代操作系统、C 程序设计语言、C 语言数据结构和算法、Unix 环境高级编程、TCP/IP 网络通信详解。另外我建议大家学习一下面向对象方面知识,PHP 这方面的书不太多,建议看 Java 面向对象编程、Java 编程思想、J2EE 这些书。PHP 语言基础方面,建议认真地把 PHP5 权威编程这本书好好读完。另外不光要读,还要照着书中的讲解动手去编程实践。

总之有一个好的基础,再去学 LAMP、Redis、PHP 框架、前端,这样取得的成就更大。这与年龄无关、与学历无关、与智力无关,与天赋也无关。只要肯努力学习,人人可以成为技术大牛。

关于 PHP 程序员技术职业生涯规划的更多相关文章

  1. 关于PHP程序员技术职业生涯规划

    看到很多PHP程序员职业规划的文章,都是直接上来就提Linux.PHP.MySQL.Nginx.Redis.Memcache.jQuery这些,然后就直接上手搭环境.做项目,中级就是学习各种PHP框架 ...

  2. 关于PHP程序员技术职业生涯规划[转]

    看到很多PHP程序员职业规划的文章,都是直接上来就提Linux.PHP.MySQL.Nginx.Redis.Memcache.jQuery这些,然后就直接上手搭环境.做项目,中级就是学习各种PHP框架 ...

  3. 关于PHP程序员技术职业生涯规划 转自 韩天锋

    转自 http://rango.swoole.com/ 看到很多PHP程序员职业规划的文章,都是直接上来就提Linux.PHP.MySQL.Nginx.Redis.Memcache.jQuery这些, ...

  4. 关于PHP程序员技术职业生涯规划 2017年3月5日韩 天峰

    看到很多PHP程序员职业规划的文章,都是直接上来就提Linux.PHP.MySQL.Nginx.Redis.Memcache.jQuery这些,然后就直接上手搭环境.做项目,中级就是学习各种PHP框架 ...

  5. PHP程序员技术职业生涯,你是如何规划的?

    职业规划是这样的 看到很多PHP程序员职业规划的文章,都是直接上来就提Linux.PHP.MySQL.Nginx.Redis.Memcache.jQuery这些,然后就直接上手搭环境.做项目,中级就是 ...

  6. 转:10年程序员谈.Net程序员的职业规划

    从事Dotnet程序开发工作近10年了,从开始的月薪3k的小程序员菜鸟,到现在年薪60w的项目总经理,从战战兢兢的去各个公司应聘,到现在开始面试那些战战兢兢的小程序员,回想起这近十年来的经验,看着还是 ...

  7. 10年程序员谈.Net程序员的职业规划(图/文)

    原文地址:http://bbs.csdn.net/topics/390736769 从事Dotnet程序开发工作近10年了,从开始的月薪3k的小程序员菜鸟,到现在年薪60w的项目总经理,从战战兢兢的去 ...

  8. 好程序员技术分享html5和JavaScript的区别

    好程序员技术分享html5和JavaScript的区别,HTML5广义上讲是前端开发学科的代名词,包含HTML5.CSS3及JavaScript三个重要的部分,是运行在浏览器上应用的统称.如PC端网站 ...

  9. 好程序员技术教程分享JavaScript运动框架

    好程序员技术教程分享JavaScript运动框架,有需要的朋友可以参考下. JavaScript的运动,即让某元素的某些属性由一个值变到另一个值的过程.如让div的width属性由200px变到400 ...

随机推荐

  1. Swift-表格

    //1.创建表格 let tv = UITableView(frame: view.bounds, style: .Plain) //2.添加到视图 view.addSubview(tv) //3.注 ...

  2. WebView加载页面,带链接的Img在页面第一次加载时无法显示的问题

    在做一个App的过程中,用到WebView来显示几个页面.在这个过程中发现有些页面的显示出现了异常:页面中的Img链接在页面第一次加载时无法正常显示图片,退出页面再次进入后可正常显示.开始以为是Web ...

  3. if转switch

    if($a=="a") { echo "a"; } elseif ($a == "b") { echo "b"; } e ...

  4. flexbox预习

    创建一个flexbox: .flex-container{ display:flex; } flex-direction:  column;//将flex排成一列 flex-direction: co ...

  5. AngularJS 指令解析(二)

    AngularJS 指令解析(二) 第一篇我们讲过了作用域(scope)这块内容,现在我们进入正题,讲AngularJS的指令. 什么是指令? 这里我们引用官方的一句话: Custom directi ...

  6. Java 开发23种设计模式

    设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...

  7. VOS落地网关前缀优先级

    问题描述: 假如:A客户业务方向:酒水B客户业务方向:增值酒水业务网关前缀:9150增值业务网关前缀:660 公司原来落地全跑酒水量9150前缀,但B客户加入后公司又不想添加新的落地网关,计划在原来网 ...

  8. Python基础学习之序列(1)

    序列 序列类型有着相同的访问模式:它的每一个元素可以通过指定一个偏移量的方式得到.而多个元素可以通过切片操作的方式一次得到,下标偏移量是从0开始到总元素-1结束,之所以要减1是因为我们是从0开始计数的 ...

  9. node执行环境

    nodejs本质上是一个javascript的执行环境,只是由于他的封装,加上更多web底层的一个处理,赋予了更多的能力,那么执行环境到底是什么呢,我们到浏览器里面体验看看,在chrome里面控制台, ...

  10. ios RSA 验签加密解密

    关于公钥和私钥的生成,网上有很多本地生产的方法,我遇到的问题是,按照网上生产的方式生成7个文件,本地使用没有问题,但是和后台交互就不行了. 发现生成公钥和私钥的没有那么麻烦,使用在线生产工具就能使用, ...