首先要给提问者泼一盆凉水,全栈有风险,选择需谨慎。
全栈最怕的就是都会一点,再深入一下就啥也不会,不能把全干理解全栈然后自嗨!
现代社会是一个越来越分工明确的社会,每个人的时间精力是有限的不是特别有天赋自信可以驾驭,选择一个点突破人生成就的上限可能会更高。
下面是我个人主观总结的全栈成长轨迹?
我提取提问里面的3个关键词 优秀 PHP 全栈
提到了PHP应该问的是WEB全栈。全栈的定义需要独立负责整个产品的业务架构、技术架构,完成从产品的idea到上线全流程生命周期中的各个环节,需要在产品、设计、开发、运维等多种角色间切换。
我把全栈分为4个阶段,初级全栈、中级全栈、高级全栈、行业专家。成长到第四阶段最少需要10年。
初级全栈(1-3 年)
理解需求,懂得交互的基本原则;
熟悉现代前端开发流程掌握HTML5;CSS3 LESS SAAS;es6,vue、react等mvvm框架;
熟练掌握PHP语言基础,熟悉各种框架;
熟练掌握SQL,NOSQL;
熟悉服务的发布;
中级全栈(3-5 年)
这个阶段需要的是对内功的修炼。
在前端方面熟练并对js有自己的深刻理解,理解mvvm框架原理,理解webpack等现代前端工具原理。
在后端方面需要数据持久层有深刻的理解和实践经验,熟练掌握Redis等缓存数据库的各种数据结构和使用场景,熟练掌握MySQL等数据库的基本运维和SQL优化。深刻理解PHP各种框架的原理。熟悉各种中间件的使用和基本运维。理解分布式应用,熟悉基本的网络通讯协议。
高级全栈(5-10年)
这个阶段的成长单就技术而言需要更加深入到底层原理才能驾驭百万用户级别以上服务。
前端方面需要具有更扎实的基本功深入到各个平台UI渲染的原理中才能解决类似提高渲染速度和流畅度这样的需求,总结一下就是这个阶段的前端已经不是业务交互代码的搬运工,需要在多端,快跨平台,载入速度,响应性能,兼容性方面有自己的见解,能leader团队为业务提供当下最佳的大前端整体解决方案。
后端方面就更加需要有扎实的数据结构和算法,操作系统,网络通讯的基本功。
熟悉CAP理论,在系统的高可用,高性能,可扩展上有一定的理解和经验。
展开来讲就是需要了解各种架构的模式,深入源码级别的了解各个中间件的原理和高可用架构原理。
了解分布式系统一致性算法原理,在主主,主从,主备高可用架构有一定经验。
深刻理解IO模型,线程模型,序列化方式能写出高性能应用。
深刻理解微服务架构中服务发现,限流,负载均衡,出错处理等组件的原理。
深刻理解Redis,MongoDB,MySQL,HBase,ElasticSearch使用场景和原理。
跟随业界发展理解docker,k8s,Serverless所解决的问题。
行业专家?
本人还在第三阶段发育中,没有概念?
最后全栈的终极目标是自己创业!