大家好,我是码农先森。

PHP 唯一的爽点就是开发起来「哇真快」这刚好和外包公司的需求相契合,在 Web 领域的芒荒年代 PHP 以王者姿态傲视群雄。如果 PHP 敢说第二,就没有哪门子语言敢称第一,连 Java 都要礼让三分。我刚开始出来工作时,就误入了长沙一家常年在猪八戒网上接单的外包公司,公司所有的项目都用 PHP 来开发,前后端也不分离,团队成员都是全干工程师。

相信大多数的 PHPer 或多或少都有前后端通吃的经历,拥有这样类似伪全栈技术的 PHP 程序员,正是外包公司所热衷的,招聘的HR小姐姐都对你面面相觑。一上来就能干活,有时候还是一个人直接干一个项目,都省去了沟通的环节,那效率相当杠杠的。用武侠剧中的情节来形容就是「快刀斩乱马」,项目干好了就奖金SPA伺候,干不好就卷铺盖走人,多你一个不多,少你一个也不少。对于我们 PHPer 来说,反正人和项目只要有一个能跑就行,人员流动性极大,有可能还没认清同事的脸,隔天不是你消失就是他消失了。

常年游荡于外包公司的 PHPer 都是这个地方打一枪,那个地方放一炮。很多人说外包公司这不好那不好,确实我也认同外包公司对技术人员并不友好。但是不可否认外包公司也给很多人提供了饭碗,特别是那些从培训班速成的 PHPer,绝大多数都被外包公司所吸收了。外包公司既有功也就过,功是解决就业,过是造就了一批低水平一年经验重复十年的 PHPer,还写了一堆难以维护的代码,牵一发而动全身,还动不动在关键的地方写上 Sleep 美名其曰这是以后性能优化的点,正印证了 PHPer 时常自我调侃的一句话「开发一时爽,维护火葬场」。

回到本文的主题「PHP 程序员为什么依然是外包公司的香饽饽?」我想除了 PHP 开发快之外,还有就是 PHPer 的用人成本低。对于外包公司来说「效率为王,成本至上」的企业文化一直挂在墙头,尤其显眼。众所周知,外包公司接的项目都是被中间商层层扒皮,最后落到手的收益微薄的可怜。这种现象就断定了外包公司不可能会高薪招聘其他语言的程序员,因此 PHPer 正对了外包公司的胃口。

PHP 开发之所以快不仅是缘于语言本身简单灵活,还因于及其完善的 Web 开源生态环境。拥有大量流行著名的开源系统,比如博客系统 WordPress、织梦系统 DedeCms、论坛系统discuz,后台管理系统 FastAdmin、CatchAdmin 等等。其次还有众多的开源框架,比如 Laravel、YII、CI、ThinkPHP、Webman、Hyperf 等。网上现成的解决方案也比比皆是,满足了外包公司的拿来即用主义,简直爽的不行,甚至可能还是零开发成本,直接一键部署,三下五除二,完事收工!

PHPer 和外包公司的关系,就类似网上的一句广告语「你刚好需要,我正好专业」。外包公司需要考虑效率、成本,而 PHPer 正好高效率、低成本,直接撞到了外包公司的心坎里去了,那在他们眼中 PHPer 能不香吗?

时过境迁,外包公司只能是 PHPer 的一个过客,不要把外包公司当成家。茫茫人生路,道阻且长,对于 PHPer 来说要想在技术这条路获取职业上的长足发展,就需要去往更高的平台,比如产品研发、技术研发导向型的公司。

希望对大家能有所启发,也欢迎在评论区发表不同观点,感谢阅读。


欢迎关注、分享、点赞、收藏、在看,我是微信公众号「码农先森」作者。

PHP 程序员为什么依然是外包公司的香饽饽?的更多相关文章

  1. ios外派公司—提供ios程序员外派ios应用外包业务(北京动点 可签合同)

    北京动点飞扬长年提供ios工程师外派业务. 我公司程序员平均技术情况如下: 1.二年以上iPhone/ipad开发经验: 2.熟练使用Xcode.Objective C编码技能: 3.熟悉iOS开发框 ...

  2. 程序员过关斩将--redis做消息队列,香吗?

    Redis消息队列 在程序员这个圈子打拼了太多年,见过太多的程序员使用redis,其中一部分喜欢把redis做缓存(cache)使用,其中最典型的当属存储用户session,除此之外,把redis作为 ...

  3. [No000032]程序员的年龄天花板

    程序员职业生涯中流行这这样一个定律:35岁定律,那35岁以上的老程序员都干吗去了呢?为了讨论程序员的职业寿命,我们先得给公司或者团队分分类.大概有这么三类: 外包型 项目型 产品型 咱们一一来说一下吧 ...

  4. 2017年 Java 程序员,风光背后的危机

    不得不承认,经历过行业的飞速发展期,互联网的整体发展趋于平稳.为什么这么说?为什么要放在 Java 程序员的盘点下说? 的确,对于进可攻前端,后可守后端大本营的 Java 程序员而言,虽然供应逐年上涨 ...

  5. 老菜鸟致青春,程序员应该选择java 还是 c#-

    致青春 还记得自己那年考清华失败,被调剂到中科大软院,当初有几个方向可以选,软件设计.嵌入式.信息安全等等,毫不犹豫地选择了信息安全. 为什么选信息安全?这四个字听起来多牛多有感觉,我本科是学物理的, ...

  6. 原来,多年以来,我一直是个curl/CRUD程序员

    curl,就是create,update,remove,list的首字母简写.说是CRUD似乎更流行些,不过无所谓,知道是一个意思就好. curl程序员,就是增改删查程序员,中文说增删改查更加顺口. ...

  7. 程序员段子:世界上最大的同性交友平台github

    程序员(又名程序猿)因为总是冲锋在网络的最前端,还有程序猿的各种特殊性,大家在茶余饭后都有很多关于程序员的段子流传.大多都是程序员自黑的,先说在前面,程序猿还是很好的!下面看看你有没有中枪的那一条呢? ...

  8. 37岁Android程序员被裁员,面试大厂被拒,降薪去小公司,心更凉了

    在职场论坛看到这样一个帖子,程序员小A被前公司裁员了,裁员之后也并没有特别气馁,打算重头再来,结果却被现实打击到了. 他大学毕业的时候进入到一家知名互联网公司上班,工作期间,也是不断学习,提升自己的能 ...

  9. 程序员遇到Bug时的25个反应

    开发应用程序是一个非常有压力的工作.没有人是完美的,因此在这个行业中,代码中出现bug是相当普遍的现象.面对bug,一些程序员会生气,会沮丧,会心烦意乱,甚至会灰心丧气,而另一些程序员会依然保持冷静沉 ...

  10. 程序员遇到Bug时的30个反应

    开发应用程序是一个非常有压力的工作.没有人是完美的,因此在这个行业中,代码中出现bug是相当普遍的现象.面对bug,一些程序员会生气,会沮丧,会心烦意乱,甚至会灰心丧气,而另一些程序员会依然保持冷静沉 ...

随机推荐

  1. 使用tc命令模拟linux网络延迟环境

    tc(Traffic Control)是 Linux 中用于流量控制和网络模拟的强大工具.你可以使用它来模拟网络延迟.带宽限制.数据包丢失等. 以下是一个使用 tc 模拟网络延迟的基本步骤: 1.查看 ...

  2. objectarx 之让用户自定义插件命令

    #include <iostream> #include <fstream> virtual AcRx::AppRetCode On_kInitAppMsg (void *pk ...

  3. 经验分享之会员 SaaS 系统

    经验分享之会员 SaaS 系统 一.前言 2018年,这是不平凡的一年:互联网行业的中台战略.会员经济等模式如火如荼,同时也逐渐地走入我们公司每个人的视野.在南海集团的战略规划背景下,当时我所在的公司 ...

  4. vue.js的M-V-VM思想

    MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式. Model 指代的就是vue对象的data属性里面的数据.这里的数据要显示到页面中. View 指代的就 ...

  5. 薄书的pytorch项目实战lesson49-情感分类+蹭免费GPU

    项目来源 B站视频pytorch项目实战-情感分类问题 github lesson49-情感分类实战 1 实验环境 在这里和大家推荐一个学习ML和DL的一个实验运行平台,就是google的Colabo ...

  6. ra6m3之adc踩坑日志(基于rt-thread )

    问题描述 1.已经用fsp工具正确配置Pins 2.已经用fsp工具正确配置Stacks 3.问题是根本没有在RT-Thread Studio看到HAL相关的ADC代码,也没看到Settings里边的 ...

  7. 工作中常用Less知识点实践总结

    我所理解的Less的一些好处 函数式编程css 自定义变量用于整体主题调整 嵌套语法简化开发复杂度 mixin的写法 .defaultBorder(@width: 10px, @style: soli ...

  8. ts symbol 作为属性名

    在 TypeScript 中,如果你希望在一个对象中使用某个 symbol 作为属性名,你必须使用中括号 [] 括起来,并在括号中放入该 symbol.     这是因为当你使用 symbol 作为属 ...

  9. set数据类型

                SET 数据类型             是一个类似于 数组 的数据类型             特点 : 不接受重复的相同的数据                    同样的 ...

  10. SpringBoot系列(五) 接口校验(非空、非法字符/特殊字符、长度等)

    1.引入pom依赖 <dependency> <groupId>javax.validation</groupId> <artifactId>valid ...