在过去的六个月甚至更长的时间里,我至少在为三家公司寻找 PHP 开发者。我和一些程序员聊过,收到了一些反馈,甚至还面试了几个人,但是我却从来没有推荐过任何人。
在我解释之前,先别抨击我的要求太高。我并不是在寻找火箭科研人员,也不是找同样高端的开发者,我甚至都不打算找一个高级的 PHP 开发者。只要有足够的水平来维护 CakePHP 和 WordPress 这两个项目的人就够了,更何况,它们还是开源的。
我理解并不是每个人都使用过 CakePHP 和 WordPress 来做开发。我也明白熟悉这些代码和通读相关文档都需要一些时间。更知道不是每个人都熟悉开源软件开发模型,不是每个人都在团队里工作过,所以,熟悉版本控制软件,文档编辑工具和 bug 跟踪等等都不在要求范围之内。
但是我不明白的是,为什么那些自称使用 PHP 和 MySQL ,至少开发过两个 web 项目的人,却不能用纸笔写出最简单的代码?为什么有数年 PHP 开发和团队领导经验的“高级 web 工程师”,面对没有 Dreamweaver 的开发环境时却一无是处?那些至少拥有一个计算机科学学士学位的开发者,却还在崇尚冒泡排序法?为什么程序员不再回答技术问题,反而开始向潜在的雇主讲述面试经历?为什么拥有数年团队合作经验的技术人员,在面试时哪怕是被问到最简单的技术问题,都会茫然不知所措?
如果你想知道上面这些问题的答案,这里正好有个例子。比如说,有个简单的问题:“stack (也称为 FILO ) 和 queue (也称为 pipe 或者 FIFO) 两者之间有什么不同?”答案就已经明显地隐藏在问题之中了,不是么?
这些自称有好几年开发工作和项目经验的应聘者,在面试时通常会遇到一些简单的程序问题。比如下面这个问题:“使用 PHP 创建一个存储人物信息的列表,人物信息包括姓名、年龄和性别,向其中添加三个样本。然后按列表中的男性名字的字母序排出一个列表,如果不使用数据库会有额外加分。”每个应聘者只有一张纸,一支笔,和无限制的答题时间。但是在这六个月里,我还从没看过有人能手写代码解决这些问题。
我们通过所有的招聘网站、报纸、各地社区和职业介绍所来寻找应聘者,结果却是无一成功。现在我们只需要三个人,但是在不久的将来空缺将更多。
这就像塞浦路斯 (地中海东部一岛国,人口约82万) 上的人力资源状况一样,需求大于供给,但是仍然无济于事。所以我也希望你们了解我的感受。
想讨论塞浦路斯这个在科技领域里又小又不注目的国家,你们还是得等一等吧。去年我去了希腊博主露营会,今年我又去了阿姆斯特丹的下一代网络大会。在这两个大会上,我和来自欧洲和美国的朋友们都聊过。我也访问过各地的社区和招聘网站。我的感受是,这不仅仅是和塞浦路斯所面临的问题一样。当然,因为其地理原因和科技水平地位,塞浦路斯的情况确实是比其他地区要严重一些。
现在,我仍然在花费大量的时间来寻找 PHP 开发者,但是同时我也在思考这个问题的根源。PHP 看起来是种很流行的语言,但是为会在寻找一个好的 PHP 开发者时会遇到这样的问题呢?我得出这样一种理论,也许称其为一系列的假设和推测比较好。
PHP 是丑陋的语言
我本人认识一些优秀的开发者,我也读过更多优秀开发者的博客文章。尽管他们常常使用 PHP ,有些还把 PHP 作为日常开发基础语言,但是我却从来不记得他们其中有任何人说过喜欢 PHP 语言。如果在新项目时有开发语言的选择的可能,他们会选择 Java,C,Python,Perl,Ruby on Rails,Haskell等等,但就是不会选择 PHP 。PHP 有它的优势,但是却不是一种漂亮和方便的开发语言。
PHP 是面向新手的语言
PHP 之所以如此流行,原因之一就是它是面向新手的语言,人们可以不需要任何编程基础就开始编写 PHP 应用程序。 大多数应用提供商会提供 PHP 开发程序给你,而这些程序每个月的激活费不过是少之又少。你可以在任何文本编辑器里写 PHP 程序,所以你也不需要高性能的机器或是昂贵的 IDE 。HPH.net 开发网站上有所有你所需要的开发文档和实例,所以你也不必在学校苦学,更不必和开发者网站签订使用协议。对编程新手来说,所有这些都是让 PHP 吸引力十足的原因。
PHP 回避了某些问题
大多数我认识的优秀程序都有一定的 PHP 水平,而那些差劲的程序也学习过一些 PHP。但是对于优秀程序员来说,PHP 既不是他们的所在领域的第一位语言,也不是他们的发展方向。而我所知道的大部分差劲程序员,却只了解 PHP 这一种语言,而且他们并不精通 PHP。所以,对于优秀程序员来说,学习和使用 PHP 不过是一时需求;而对于那些差劲者来说,使用 PHP 却是永久的习惯。
因为次要原因流行的 PHP
有很原因促成了 PHP 的流行:免费,开源,易于上手,等等。大多数应用提供商都提供可用的 PHP 开发包,而很多程序里就已经预置了 PHP 。而 PHP 本身最大的特点,比如执行速率,资源要求,开发速度等等,却和其他很多语言没有多大差别。PHP 不过是因为一些次要原因而流行起来罢了。
PHP 已经过时
PHP 起源于 Perl 中过时的 web 开发库,它已经发展和扩展成熟甚至过时,那些用 PHP 编写的项目也是如此。如果说以前大部分 PHP 项目做的是的最简单的事情,比如连接注册表单,访问者计算和一些模板,那么,现在这些 PHP 项目的处理能力已经在用户管理,金融操作,高实用性和平衡配置等需求上到达了瓶颈。
冲突
现在来说说 PHP 所面临的两难境地。PHP 应用的复杂程度越来越高,而 PHP 却因为不够漂亮而吸引和保留不了优秀的程序员。结果呢?越来越多的应用是那些不够水平的开发者写的。于是,PHP 也越来越难找到合格的开发者。(你自己的 PHP 项目也变得越来越复杂。)
问题?
我们怎样才能吸引优秀的开发者来做 PHP 开发?最大的原因就是不能找到合格的开发者,这个问题也困扰其他一些开发语言。其他的开发语言能解决这个问题吗?这个问题真的有解决之道吗?
出路
和别人一样,我也没有解决方法。但是,我却看好服务应用提供商,比如 Amazon 和 Google 。他们可能会在几个月甚至几年后才过时,但是到时又会有更多的服务商加入进来 (Yahoo,微软,或 IBM ?) 。
我认为提供应用服务的方式应该是这样的。首先,他们应该把程序员类为两类。第一类是新手程序员,他们既不知道也没有多少资源可以调配,他们要通过服务商的提供来使用服务,数据库,函数库和编程界面。(当然,优秀程序员也可以使用这些,但是他们另有选择,而不像新手一样。) 提供的应用服务应该会方便地解决他们所不了解的东西,并且可以随时随时帮助他们。特别是像 PHP ,已经这样做了数年了。而优秀程序员大多数都会参与到核心项目和专项开发中,他们则会需要更多的知识和经验。
希望百度快速收录www.yyystv.cn 测试CN米百度多久收录