Up to now, as a developer i preferred python for web programming and scripting. Now, i will manage some projects. I know that finding developers that know php is easier than finding developers that know python. I have a background of python, so if developers use python; i will be able to control and lead easier. This is a trade-off.

What is your suggestion?

  • 2
    The project manager is responsible for picking the right tool for the right job. PHP or python might be that tool but hard to say without knowing context of project.
    – Chris
    Feb 3, 2011 at 13:15
  • 3
    "Control" and "Lead" are two concepts that are in direct opposition of each other. Mar 30, 2011 at 21:41
  • 3
    You'll be able to spot a good developer more easily if you can ask them about a language you're familiar with. Mar 30, 2011 at 23:12
  • 3
    An abundance of people who use PHP does not indicate an abundance of PHP programmers. Wait till you start interviewing, you'll see what I mean :)
    – user131
    Apr 15, 2011 at 7:24
  • related question: programmers.stackexchange.com/questions/65967/…
    – vartec
    Apr 15, 2011 at 21:06

11 Answers 11


Easier to find developers

Is a poor excuse for choosing a technology in my opinion. PHP developers are everywhere, but that doesn't mean you will find a good PHP developer.

What you want is a good developer, regardless of the languages they do or do not know. Picking up a new language should be relatively painless for a good developer.

If you believe Python would be the best choice for all but hiring potential, then go with Python, and stick it out until you find a decent hire.

  • 8
    "Picking up a new language should be ... painless". Unfortunately, picking up php is not painless. Feb 3, 2011 at 20:16
  • 5
    "Picking up a new language should be relatively painless for a good developer." Especially if the new language is Python.
    – BenjaminB
    Mar 30, 2011 at 10:09
  • +1 for a good answer and comments. A good programmer should be able to pick up Python in no time. Mar 30, 2011 at 23:15
  • 1
    "Picking up a new language should be relatively painless for a good developer." - this argument cuts both ways.
    – sunwukung
    Apr 15, 2011 at 8:34

If you already know Python, you should be able to pick up PHP in no time (the converse is not necessarily true). There's a reason for PHP's popularity.

  • 3
    I agree with this and I feel the counter is true too. If you know PHP, picking up python should be easy. (At least was true for me.)
    – Chris
    Feb 3, 2011 at 13:14
  • 2
    @Chris: Getting something done in another language is relatively easy if you already know how to program, yes. But the average PHP code is quite different from idiomatic Python.
    – user7043
    Feb 3, 2011 at 15:17
  • @delnan: Sure going from language x to language y you will always have differences.
    – Chris
    Feb 3, 2011 at 15:18

Concepts, not syntax, is what matters. If a developer knows PHP, then they should be able to become reasonably proficient in python in a short period of time and vice-versa.

  • 2
    Indeed, if they're good developers they can learn, can't they?
    – S.Lott
    Feb 3, 2011 at 11:22
  • 3
    I'd phrase it as "if they can't learn, they're not good developers."
    – TZHX
    Feb 3, 2011 at 11:35
  • I once phrased it as "Are you saying they can't learn?" when told that the existing developers couldn't learn new technology and new folks needed to be hired.
    – S.Lott
    Feb 3, 2011 at 13:03

I've been in a similar situation for about a year.

A year ago I started to manage a team developing and maintaining a 10+ year old web site, which is programmed in PHP, which I did not have any previous experience with. I've used lots of languages (C, C++, Java, Python, Common Lisp, etc) and would have preferred developing with Python.

Existing legacy system built with PHP made the choice (continue using PHP) very easy.

I did not have any trouble picking up PHP, though it is a bit strange mix of low and high level concepts and seriously lacks harmony & elegance and "coherent vision" behind the language and implementation. And now I do understand why some call PHP "template engine gone berserk". Nevertheless PHP gets the job done. I seriously recommend using a good framework, such as Zend, which leverage PHP to a better (sane) language environment to work with.

Anyway, knowing or having experience with the implementation language, is not a requirement for project manager. Many PMs do great job without any programming experience, though it helps to have a programmer background (in general).

If you have no legacy and can start with clean slate, I guess both languages would do and it will be more a matter of personal taste and/or availability of resources.

Still... I can't escape the feeling, that Python would attract more competent programmers. Somehow the culture around PHP is less oriented towards "robust and elegant" solutions, and more likely to suggest a quick hack in "this works for me" habit.

To wrap up: PMs ability/experience should have nothing to do with picking the language. It's more about merits of the language (and culture) itself. And availability of resources.

  • PMs ability should have nothing to do with picking the language but i will feel comfortable while advising. I have 3 problems: 1) in current team nobody knows python 2) it may be hard to find python developers. 3) current developers may develop projects with php easier.
    – ndemir
    Feb 3, 2011 at 14:33
  • Existing legacy system built with PHP made the choice (continue using PHP) very easy. You became the manager of a going-on project, but i will start the new project.
    – ndemir
    Feb 3, 2011 at 14:36
  • @ndemir: of course if current team doesn't know Python, but do know PHP, tilts the decision (heavily?) towards PHP. This was what I meant with "availability of resources". But still, the developers' experience with the language is far more important than PMs experience :)
    – Maglob
    Feb 3, 2011 at 14:42

If you want to build a wall, then some points to take into consideration are:

  1. The need for the wall.
  2. How the wall should be built.
  3. What material should used.

The least important question is: "who will build the wall?"

Check your requirements and make the decision. In some projects you will find Python will be the better option, and in others PHP will be the right choice.

  • I have to disagree. Technology chosen is not inconsequential,but I would say the people doing the work are the MOST important factor in terms of the success of a project. Apr 15, 2011 at 18:01
  • I wouldn't like a brick wall made by carpenters, nor wooden wall made by bricklayers
    – vartec
    Apr 15, 2011 at 21:10

Hiring an army of mediocre programmers is not only a waste of money (and time and patience and ultimately your life) but usually results in software that is worse by orders of magnitude. If you're lucky, the result can be somewhat equal to a giant rock, when it comes to size, speed and flexibility.

You want the smallest possible team, writing the least possible code to get the job done (ok, that's a bit exaggerated, but I feel I really need to emphasize this). For that, you need the right tools (this is more a matter of frameworks and toolkits, than of languages). Pick those tools (if you feel you can't, then find someone you can trust with making that choice for you) and then hire people willing to and capable of working with them.

(Personally, I think you shouldn't use PHP. Except if there's a crucial technical advantage of using it, which is unlikely to happen, to say the least.)


As a developer

then go for the one you know and with the one you would be able to advise your developer, understand them, etc. I think the worst thing between a project manager and a developer is when they are not able to comunicate about their difficulties which happens most of the time because of a lake of skills from the project manager. Go for python.

By the way, it's easy to find PHP developer, but it's also hard to hire good and skilled PHP developer, as it'll be with Python anyway.


I agree with Maglob, "that Python would attract more competent programmers." My feeling is: a really good PHP developer is that who has migrated from PHP to a better designed language, like Python or Ruby. That's my experience. I worked with PHP for five years, and I couldn't continue to work with that language's limits. As projects grow, deficiences of PHP turn visible, and complexity of workarounds increases.

So, my (late) suggest is: Go for Python. It will be better after the half of the project.


IMHO, I would say PHP would suit more to project managers for following reasons:

  1. PHP is a language which is made for web
  2. Supports Traditional, Object-Oriented and Mixed mode for development
  3. Lots of Frameworks
  4. Community support
  5. Easy to find developers
  6. Smallest possible learning curve

That's it.

  • A question sprang to my mind after looking at your stackoverflow profile: How much python experience (or at least knowledge about python) do you have to say PHP is a better choice?
    – back2dos
    Apr 15, 2011 at 21:17
  • 1
    1. Python for web was done at nearly the same age as php. Early 90s. 2. what's mixed mode? Python is both OO and dynamical and functional. 3. Lots of frameworks, more in python. 4. Community support. 5. Easy to find... hacks, not good developers. Most of them don't know how http works and difference between threads / processes. 6. No. Python's smaller. Apr 15, 2011 at 21:41

HipHop for PHP transforms PHP source code into highly optimized C++. It was developed by Facebook and was released as open source in early 2010.

HipHop transforms your PHP source code into highly optimized C++ and then compiles it with g++ to build binary files. You keep coding in simpler PHP, then HipHop executes your source code in a semantically equivalent manner and sacrifices some rarely used features – such as eval() – in exchange for improved performance.

Facebook sees about a 50% reduction in CPU usage when serving equal amounts of Web traffic when compared to Apache and PHP. Facebook’s API tier can serve twice the traffic using 30% less CPU.



  • 1
    "highly optimized" == "50% reduction in CPU" -- ROTFLMAO ;-) Sorry, if it was indeed highly optimized C++, it would be not 50% faster, but 50 times faster, than PHP. HipHop just optimizes some simple code, but still uses horrible Zend Engine for most parts.
    – vartec
    Apr 15, 2011 at 20:52

From my first hand experience it's extremely hard to find competent PHP developers. Not because there are so few, but rather because it's very hard to find good one between 100 not so good, and 1000 pathetically horrible ones (these are the types that fail FizzBuzz test). Also, while looking for language agnostic developers, some of very good ones turned down offer as soon as they've learned that part of the job would be working with PHP code.

With Python my experience is quite the opposite, S/N ration is very high when you're looking for Python developer, and from language agnostic guys reactions was rather like "Python, awesome, that's what I wanted to try next...".

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.