欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP 前景如何?作为程序员应该向哪个方向努力?

程序员文章站 2022-05-23 17:21:18
...
如果再让你选php or java or .net?你会选什么?

回复内容:

又到跳槽季,最近被问到最多的话题就是,PHP薪资哪家强?前景如何?大家貌似都很关心PHP行业发展以及自己的薪资是否具有竞争力,下面分享我的浅见,希望能给到题主一些参考,也欢迎牛人拍砖。


全文我会围绕三个问题来讨论:

1. PHP的现状如何?

2. PHPer身价多少钱?

3. 什么影响了PHPer的薪资?


PHP的现状如何?

全球前100万的站点中,有70%左右的站点用PHP开发,它与Linux/Mysql/Apache/Nginx等组成黄金搭档,无论从成本投入和开发周期的考虑,PHP都是一个不错的选择。

PHP可用在网站开发,API接口开发,服务器端开发,广告系统开发,内部OA系统开发,移动端后台开发,游戏开发等,特别在移动互联网发展迅猛的今天,PHP借机上位,重回一线开发语言行列。


PHPer身价多少钱?

PHP 前景如何?作为程序员应该向哪个方向努力?

说明:

1、 PHPer级别简单列举了初中高级,架构以及经理级别,未涉及总监及以上级别(原因是这个level的大牛已超越了语言层面,更看重的是管理和规划的能力)

2、 级别越高,薪资范围跨度越大(后面会提及薪资受哪些条件影响)


什么影响了PHPer的薪资?

1、 技术能力

程序员必然要谈到技术能力,我不是技术人员,不过还是希望从招聘的层面分享一些经验,可以参考下HR喜欢什么样的简历

1)初级PHP: Thinkphp,Yii, Laravel等驾轻就熟,增删改查必备。
2)中级PHP: get进阶技--数据库索引和优化自不必说,分表分库还是要有的,memcache和redis的使用频率不能低于月次,不了解前端是不是说不过去了?
3)高级PHP: 除了上面的条件外,还要有门面担当的素质,玩转Linux常用指令,熟悉memcache和redis 原理,对于算法和数据结构有你敢问我就敢答的自信,Hadoop,hive,spark不过是平常的玩具,最重要的还是经历过大场面(有处理过百万日PV网站高并发,大数据的经验)。
4)当然在Github开淘宝店或有个人站点是HR大爱,在各大极客社区里有头有脸的那是极好的。


2、 PHP工作年限:

PHP 前景如何?作为程序员应该向哪个方向努力?

说明:

1) 我们在这里讨论的是普遍情况下北京PHP薪资水平。

2) 3年以下PHPer,年限差异对薪资影响不大,主要是积累的阶段。

3) 3-5年的PHPer会出现分水岭,薪资跨度较大,跟程序员的自我修养有比较大的关系,此段位的程序员由于经验和精力等原因,会成为公司coding的主力,部分中小型公司也有机会转型到技术管理。当然也有部分有情怀的程序员开始创业。

4) 5-8年的PHP发展会往技术或者管理两个方向,不过在中国,程序员普遍发展的轨迹,很少有程序员过了35岁还奋斗在一线(都35了还能熬夜么?),并且在市场上竞争力也会减弱,所以大部分会提早走上管理之路。

5) 很多人会说:同事跟我做着一样的事,薪水应该一样的啊?其实不然,同公司,同岗位,同级别的薪资也会略有不同,举个例子,那就不得不提到BAT的级别薪资,在BAT里初级工程师的薪资范围在10-16K,中级工程师的薪资范围在12K-26K,高级工程师工程师的薪资范围18-35K,(如对BAT薪资有兴趣深入了解,可参考百度、腾讯和阿里内部的级别和薪资待遇是什么样的? - 周萌萌的回答)大公司的薪资架构做得比较灵活,可见同一级别的薪资差距也很大。


3、公司(列举的都是有PHP的公司):

一线公司基本以数字厂(360),狼厂(Baidu),鹅厂(Tencent),猫厂(Alibaba),小米,狗厂(搜狗),猎豹等代表,薪资但是在如今人才为王的市场状况下,部分融资不错的发展型公司也都纷纷打出非常具有竞争力的薪资和各种优厚的福利,比如像某团,某集,某滴等,包括现在热门的的互联网金融公司。当然也有少数土豪公司,只要人好,天黑都不怕!


4、教育背景

一般情况,普通本科应届生较专科起薪会高2-5K左右,近几年,互联网公司成为各大高校毕业生众星捧月之地,211,985毕业生起薪增长尤为明显,本科及硕士应届毕业生的起薪达到了12-20K(年薪在17W-30W),甚至去年出现了阿里的星计划起薪60W招聘毕业生,土豪就是任性!


5、地点

互联网在不同城市的发展成熟度极大的影响了薪资,目前互联网公司主要还是以一线城市为主,以一线城市为参考(北上广深),薪资水平会比二三线城市高出不少,近两年杭州(越来越多的阿里系创业)和成都(游戏及移动互联网的发展迅速)薪资也提升不少。虽然近几年会有不少人想逃离北上广,但是就目前的互联网公司的分布来看,二线城市的能提供的机会数量和薪资较北上广差异很大,也导致部分人会因为薪资落差较大或者后期的机会可选择的机会较少,而重新回到北上广。


从之前八卦的三个问题来看,PHP入门易,精通难,且做且珍惜!从PHP的发展来看,除了先天条件,后天的规划也很重要,做一枚安静的屌丝or出任CTO,迎娶白富美?选择什么样的平台很关键,大平台技术好,福利高,有保障,但是空间小,像螺丝钉。发展型公司氛围好,产品前景不错,空间大,但是风险大,选择各有利弊,结合自己不同阶段的追求,才能做出最适合自己的选择。

(网页开发)我只会在PHP, Python和ROR之间选择,不会考虑Java和.NET。脚本语言虽然容易把代码混成一团,但只要一开始有好的MVC框架,其实都是一样的。而且随着有了HPHP这样的编译器,PHP的效率已经不是一个问题了。

后半个问题似乎是想问PHP程序员是否应该考虑转行?依我只见,编程语言是一通百通的。好的语言特性和编程习惯是不依赖于语言的。所以无论入行到哪一个语言,只要学通了,都能达到一样的效果。以PHP为例,将程序结构化,提高数据读取并行度,增加单元测试等等都是可以学习提高的。 我觉得关键是LZ是think in PHP还是think with PHP?

如果是前者,其实换一种语言所带来的转换学习成本并不会很高,因为你做的事情,或者你做事情的方法并没有发生颠覆性的变化

其实我从来不排斥任何存在的编程语言,这些不同的编程语言都是对人类思维的一种延伸,没有最好,只有当前条件下最合适和最不合适。对于公司领导层而言,存在的问题也仅仅是是否有足够的眼光选择当前最合适的一种编程语言进行开发。

我感觉LZ问这个问题其实是在考虑自己的职业规划,而非公司或者产品级别的规划。如果是这样,我觉得对于具体干活的程序猿而言,其实最核心的素质并不是任何一门编程语言(哪怕你只是最初级的程序猿),而是对布置给你的任务的理解能力,以及利用搜索引擎等各种现有的资源,搜索最能够促进你工作效率和质量的工具。

拿Facebook来举例子,一开始它使用HTML 5进行移动开发,发现不合适,改为native code,这也没有什么嘛。但是对于程序猿而言,其实他们做的事情难道发生了翻天覆地的变化么?不还是开发移动应用么?不还是让用户享受facebook给他们带来的乐趣么? 不知道哪种语言前景怎么样 但是我就是喜欢php 像什么wp phpwind discuz.....随便点点就能建一个网站 多装逼 要是还不爽 有thinkphp ci yii .... 爱怎么搞怎么搞 还有那啥php7都快出了 趁阳光还灿烂 题主我建议你还是跟我学炒菜吧 无所谓哪种语言吧, 有人总说什么php不适合大型开发, java适合大型开发, 在我看来, 现在的差距越来越小, 所谓大型应用开发, 不外乎几个方面: 库够全, 可分布, 稳定性... 在现在, 这些在php还是问题吗? 一堆的框架, PEAR里有那么多库, 远程调用有 soap, json, thrift, 测试有 phpunit 等等等等, 你甚至可以混合用不同的语言开发一个大型系统, 各取所长, 问题只在于看你的架构经验了.
我做了5年多的php, 我并不喜欢php, 不喜欢他的命名不统一, 不喜欢编译时候依赖这个依赖那个, 喜欢perl, java更多些, 但是我不认为php就没优势没发展了. 作为最好的语言的用户,我有话要说:php是最好的语言,没有之一。 业务场景决定技术造型,php是最好的网页编程语言之一。至于前景的话,学的好php,其他语言也不是太大问题。个人的建议,php还是很好的入门语言的,至于说php不适合这个,不适合那个的,其实都挺扯淡的,有可能是用错了地方,有可能是技术不到家,^-^ php不适合开发大型应用程序,随着web应用的逻辑越来越复杂,php迟早要淘汰。面向对象的语言之所以适合开发大型应用程序,不是因为别的,而是因为它接近人类自然语言。运行效率在具体项目中可能很重要,但是对于长期发展趋势的影响从来就不很重要,而学习曲线和易用性从来都是最重要的考量,因为最大的瓶颈永远在人这里。 如果让我选,我还是会选.Net,虽然这货要想移植到其它平台上有点蛋疼。就像上面有人所说的,语言无贵贱之分,重在你能用它来做些什么。

Java是好,而且它是免费的,并且还有许多基本Java的开源框架可以使用,这多爽哇,随手捏之即来,但是也正因为这些免费的开源框架,其集成性方面,兼容性方面,学习成本方面都不是很好(我指的是对于新手学习成本太大),特别是当一个新手在debug的时候,因为不同版本的框架,你调试起来会很蛋疼。但是他的这些不足之处还不足以让人们对他敬儿远之,相反很多人上手了以后,会很喜欢这种开发方式,功能强大,而且一切都是免费的。

.Net也好,因为它也很强大,但杯具的是这货的开发工具太贵了,而且只限于Windows的平台(虽然目前可以将其移植到linux下运行),如果开发环境都是使用微软这一家出的产品的话,基不同软件的整合性还是蛮好滴,比如:windows server+iis+mssql+.net,但是这一套软件如果正版的搞下来,太他妈贵了。但是这种组合学习成本低,因为他们的资料比较全,而且网上的资料比较多,许多错误都可以谷歌的到(像java的话,不同开源框架的组合可能会因为版本的不同而出现不同的解决方法,有的方法也许不是那么好找)

至于怎么选,怎么用,就看你自己了,其实好的语言基本互通的,也就使用方法不一样,如果你转语言,只要你静下心来,一两个星期上手做些简单的东西,这应该不是个问题吧? 条条大道通罗马!编程这个职业就好在这儿,无论你走哪条路,只要是你感兴趣的路,坚持努力的走下去,就一定能获得成功,我原先一直坚持学习了3年的C,最后又搞JavaEE,开发ERP,现在兴趣又在HTML5,还时不时的玩玩Linux,只要这门技术的学习能给你带来兴趣,带来成就感,就去好好的专研下去!不会有错!