本人PHP菜鸟一只,在此求问各位大虾怎么才能算的上市高级PHP工程师?需要哪些技能?PS:非计算机专业,一只为了兴趣和传说中的高薪默默撸代码的程序猴
回复内容:
我个人不同意学历和名校是最重要的。
是不是计算机专业也不是很重要。
关键看是否真的把编程当作事业而不是职业,真正的热爱编程,可以全身心的投入进去。
我在知乎说了很多次了,我最推崇的是米卢先生的一句话:态度决定一切。
我想如果真的能在编程上多思考,多实践,花费大量心血,技术上是一定能有很大提高的。
PS: 对于还在读的同学们,我还是建议好好学习,好学历和名校是加分项。
很简单,爬到高级工程师的位置,就算合格了。
在其位谋其政。老板给你提供位置,显然是因为你能给他价值。那你看看老板需要你产出什么价值就OK了。
无论什么职位,但凡带高级二字的,多多少少都已经开始带人了。因为此时大量的琐事需要你下面的XX师和助理XX师来完成。这个世界上,既然有一种事情叫工作,那它必然是可以被完成的。不能保证能被完成的事情,那不叫工作,那叫研究。研究允许失败,但是工作不允许失败,失败了就滚蛋吧。如果你本身不会做XX师和助理XX师做的那些琐事,那你没办法去做高级XX师做的事情的。因为老板不会管XX师和助理XX师的事情,他只会给你分配任务,你忙不过来,只好招低级职位的人帮你解决低级的问题,好让你有时间去处理别人不会处理的高级问题。同时低级职位的业绩也会算到你头上,因此,你都处理不了的事情,如果下面的人能帮你处理,算你命大,要是下面的人处理不了,你要么上报给老板,要么滚蛋。
说那么多废话,无非是想说明一个观点。高级职位也是在做事,所以最好你要搞明白老板要你做哪些事。技术职位,无非就是从简单架构到复杂架构,PHP能涉及的最原始的不过就是一个网站,业务不增长,你永远没有机会当高级PHP工程师,换句话说,老板永远不会给你开高工资,一是因为他没钱,二是因为你没能力。业务增长,给你的网站带来用户和流量,那随之机器负载就上去了,要不要做监控?要不要做负载均衡?用户复杂了,要不要做多终端兼容?要不要做CDN?数据量大了,要不要做分布?垂直分还是横向分?系统瓶颈在哪里?优化IO还是优化网络?整个系统复杂度上去了,成本怎么降低?你的能力在哪里?收入不变,算法优化一下成本降低20%,老板高不高兴?给不给你加工资?成本类的潜力挖掘殆尽,那收入类的挖掘完了没有?我们知不知道用户喜欢我们网站上的什么功能?用户喜欢的是不是有价值的?这些有价值的我们能不能做?统计,分析,转化,挖掘,关联分析,这些手段用熟了没?我们的业务大了,被同行记恨,被黑客敲诈,恶意用户横行,怎么保障业务安全?如何防DDOS,CSRF,跨站脚本攻击,DNS劫持?
上面的提到的东西,你觉得我说的你都知道啊,那实际操作过没?操作的时候面临了哪些问题?这些问题你是怎么解决?为什么是这么解决?有没有更好的解决方法?这些问题你一遍又一遍的问自己,觉得简直是小CASE。这时候只要你人品没有问题,你印象中的大公司高级工程师职位,随便你去,哪怕你只掌握了其中的一个方向。当然,要得那个团队招PHP才行。
试试yii
从各个方面来说
知识面,从linux到js,从网站加速到cdn,不用非常精通,但是常用的要了解,比如linux下的grep cronotab ps及各种命令行工具,http的lastmodified 到etag 到expires,各种技术动态到最新最酷的技术
代码能力 要熟悉一到几个框架,常见的比如CI zend 到yaf ,最新的laraval,要有最少两个能熟练使用,快速干活的,也要有能拿来靠拢到设计模式 MVC上之类的装B用的,从基本的防xss 到快速debug代码定位问题, 从技术选型到DB建表,你要表现出具体的能力
沟通解决问题能力 PHP从来都只是工具,任何公司招你过去都是要你解决问题的,作为高级PHPer,你要能跟业务方进行畅通的沟通,梳理出有价值的需求,砍掉性价比极低或者无异于的需求
团队管理能力 需求确定了,架构设计好了,你还要带领菜鸟们做出高大上的网站,把控整体进度,帮助菜鸟改进垃圾代码,风险控制(比如进度),诸如此类
还有很多,就不一一赘述了
决心有多少,就是你能成为的多少
觉得不太可能,
php是门讲究背景的语言,
如果你不能进一家靠谱的互联网公司,技术很难提高。
所以,如果你是名校毕业还有可能
补充一下,
非计算机专业,除非是名校,否则很难进入靠谱点的互联网公司,
而在不靠谱的公司,基本是学不到什么的。
90%招php的公司都是不靠谱的,他们不过是需要一个能跑的网站而已,仅此而已。
个人觉得高级php不是专业而来的,最主要是看个人兴趣,为php付出多少。
高级php是靠专研,实践。
去多了解大型网站的服务器、架构、安全性这类。打开自己的眼球去多看互联网的发展。
建议在以下三个层次做深入学习,
第一个层次是
PHP技术的深度学习:如PHP字符串、数组、文件和PHP的高级特性以及PHP运行原理等;
第二个层次是
Web技术的深度拓展:如深入Http协议、Linux技术、Web服务器技术、前端JS技术、MySQL和NoSQL技术等;
第三个层次是
编程思想和能力的拓展:如数据结构和算法设计、设计模式、好代码的原则和技巧、大规模网站开发技术等。
参考 :
http://www.sijiaomao.com/course.htm
html css js ajax 布局 色彩 前端项目管理,资源带宽优化 cdn 前端文件缓存策略 前段项目更新策略 测试 代码库 项目管理工具 代码可复用性 模块划分 开发进度统筹
服务器 Linux windods ,shell必须会,运行环境 测试环境 配置搭建 性能优化,数据备份 邮件系统,缓存机制
代码设计能力,熟悉php性能,知道使用扩展解决问题,设计模式 项目需求分析,性能分析,架构设计,mvc
需求分析能力,项目开发进度估算能力,对客户需求的理解能力,对团队每个人的了解能力