PHP职业发展规划和技术需求
Posted 知其黑、受其白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP职业发展规划和技术需求相关的知识,希望对你有一定的参考价值。
阅读目录
php 职业的划分
第一级别: PHP 爱好者
第二级别: PHP 初级程序员
第三级别 :PHP 中级程序员
第四级别 :PHP 高级程序员
第五级别 :PHP 工程师
PHP 爱好者
只是把 PHP 当做业余爱好,接触或者了解过 PHP 开发的相关网站。不依靠 PHP 为谋生手段,只是职业或许和 PHP 技术有挂钩。
例如网站运营人员,想了解了解网站结构,还有大学学生,因为课程,学业关系,很大一部分也会了解学习 PHP。
特征 1: 对于 PHP 一些基本理论有一点了解,说起来头头是道,动手就废。
特征 2: 技能好一点的可以对一些现有网站进行简单修改,比如 dedecms 等开发的网站。
特征 3: 爱好 PHP
技术要求: 无要求,不想着赚钱,自己开心就好。
PHP 初级程序员
刚刚进入 PHP 编程行业,正在以 PHP 谋生,但是经验能力还不足的人。
这些人已经以 PHP 为主要谋生手段,主要是刚刚加入 PHP 程序员行列的人为主。也有部分做了很多年,但是还只会 curd
的老人。
技术要求
一、服务器方面(linux:系统):
-
熟练安装 Linux 系统、熟练使用 Linux 常用命令和某些日常使用的命令、 熟悉 linux 常用软件包安装。
-
熟练搭建 lnmp(lamp)环境.熟练项目上线,域名配置。
-
能够使用一些简单的
shell
对服务器进行维护。
二、web 页面技术及相关
其实 web 严格来说并不属于 php 技术,但是对于中小公司而言,基本每一个 PHP程序猿都要编写简单的前端页面。
1 熟练掌握 html, CSS,JS,JQ 使用,能够编写简单的前端页面。
2.会运用前端样式框架,比如 layUI,Bootstrap 等。
3.会 ajax 及其相关技术.能完成常见 ajax 页面制作.。
三、 mysql 技术
- 熟练掌握 SQL 语句(增删改查必备)
- 熟练掌握 MySQL 的操作包括安全、访问控制和权限、备份和恢复,复制、 导入和导出记录。
- 熟练掌握 phpMyAdmin 或 Navicat 等管理维护工具
四、PHP 技术
- PHP 语法,常用函数等不用说,必须的基础,。
- 面对对象(oop),简单的设计模式必须(单例,工厂…)
- 熟悉 PHP 常用库,比如:
gd,curl
等。 - 至少熟练使用一种 PHP 开发框架,比如 tp,laravel。
- 对于二开项目有一定了解,比如 dedecms,ECShop。
五、项目相关
实际完成过有价值的 PHP 项目(自己开发完的博客啥不算),或全程参与 过 php 网站开发与建设。
PHP 中级程序员
正在以 PHP 程序谋生,能够独立完成小规模的 PHP 项目设计和开发 。
这些人已经以 PHP 为主要谋生手段,一般是 PHP 开发五年以内的人为主, 也有部分老人一直卡瓶颈,还停留这一个级别,也是 PHP 开发人数最多的一个级别。
技术要求
一、服务器运行系统( linux 系统)
(初级的全部具备,高一级的需要全部具备初一级的全部技能,下同,我就不再重复描述)
- 能够对 MySQL 和 Apache(nginx)进行优化以提升网站性能。
- 能够配置小型服务器集群(双服务器或三服务器)
- 能够进行 Linux 系统安全配置、Iptables、syslog 日志管理。
二、 web 页面技术及相关
对于前端要求反而不高了,毕竟 PHP 是后端语言,我们不是做前端开发了,没必要在前端过于投入精力,当然如果会 vue,node.js 会更好。
三、MySQL 技术
- 会根据需求设计 mysql 数据库。
- mysql 原理,储存引擎,事务,视图都要会了。
- 简单的 mysql 语句优化也要会了。
四、PHP 技术
- 对于框架不光要会用了,框架底层源码有一定了解。
- 支付技术,接口开发,微信开发(现在公众号,小程序这么火,你能不掌握么 socket/curl 网络编程也要熟练了。
- redis,mecached 缓存使用也必须了。
五、项目相关
能够较为快速的进行项目开发。
良好的编码习惯,编写的程序代码清晰,注释清楚。
说到注释,想起了一个小段子:
程序猿最烦的 100 件事:1.写文档, 10.别人不写文档 11.写注释 100. 别人不写注释!
PHP 高级程序员
正在以 PHP 程序为主要工作,建设过多个 PHP 项目,有多年 PHP 经验,在公司里面担任核心岗位。
这些人在普通编程人员眼里已经是大佬级别的存在了,他们的分布以加入 PHP 程序员行列 5 年以上的人为主,高级程序员是 PHP 项目的核心力量。
技术要求
一、服务器运行系统
- nginx 完全熟练,反向代理,负载均衡,集群等顺手捏来。
- 服务器安全防护轻松搞定
二、MySQL 技术
- 理解 mysql 底层 Btree 机制
- mysql 索引优化,语句优化,慢查询分析,mysql 锁机制
- mysql 主从复制,读写分离,分库分表
- 数据库中间件 mycat 也要会了
三、 PHP 技术
- PHP 底层内核,PHP 垃圾回收机制,对象内存优化。
- 微服务也要接触了,swoole 使用,API 结构设计,接口实现,性能优化。
- 对于并发优化相关知识也需要会了 比如:redis 批量查询优化,缓存击穿,缓存雪崩预防策略。
四、项目相关
高级开发已经是中下公司的核心了,要求能够带领团队对项目中遇到的难点, 新技术都可以攻关,搞定。
PHP 工程师
正在以 PHP 程序为主要工作,并正在进行新产品的研发,可以同时使用其他语言(C/GO)等辅助提高 PHP 程序性能的人是 PHP 工程师。
PHP 工程师已经是开发的天花板了,也俗称架构师。
技术要求
都已经是行业天花板了,我就不再分类列技术要求了。
核心有:
- 对于 linux 底层了解(所以不光要会 PHP,像 C/C++语言 go 语言最好也会其中一种或多种)
- 分布式架构要会了像分布式缓存,分布式 PRC 。
- 消息中间件 MQ,高并发分流
一句话,能够用其他语言来辅助弥补 PHP 不足的存在了。
技术能力要求
0级:具有较熟练的计算机操作技能,能使用至少一门后端语言进行程序开发。
1级:掌握一门后端编程语言与前端javascript语言编程与HTML开发。
2级:熟练掌握前后端编程语言程序设计,独立完成从前端同步/异步请求到后端数据库操作。
3级:能独立完成小规模web项目前后端设计与开发。
4级:十个以上小型项目开发经验/三个以上中等规模项目经验/一个大型项目经验/两年以上开发经验。
5级:善于沟通,能充分理解用户需求具备中等规模以上业务设计与数据库设计能力。
6级:掌握移动化联网项目开发保准化流程与技能
7级:能对项目进行性能分析并按照性能指标完成项目开发与设计。
8级:掌握分布式开发所需技能与工具
9级:按项目需求完成互联网架构设计
10级:擅长与对已经长时间在线运行的大中型项目进行项目重构。
很多 PHPer 在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了迷茫没方向,不知道该从哪儿入手去提升自己。
以上是关于PHP职业发展规划和技术需求的主要内容,如果未能解决你的问题,请参考以下文章