views:

605

answers:

6

I recently had an interview at a small company that wants to greatly increase its web presence, including re-writing their Flash homepage and opening an e-commerce site. If given the position, I would be the sole developer on staff.

I've been working with Rails for a number of years, and haven't looked at PHP in quite some time. However, if I was to get the job, I would be in a position to recommend the framework, as there aren't any development-savvy people already on staff.

I think for many non-programmers PHP still has huge name recognition out there as THE language for building sites, so it acts as logical default for many companies.

If I was offered this job, how could I compare the pros and cons of Rails vs PHP (with an appropriate framework) without getting into technical terminology? A key consideration here is that there are probably a lot more LAMP developers in the area than Rails developers, and I don't want my own personal preferences to impact the long-term sustainability of the code base.

Or should I just accept that a PHP/Zend site is just as good as a Rails site, even if it's less fun to develop?

(Please no religious arguments!)

+10  A: 

I wouldn't argue that Rails is better than PHP or anything like that, because to these people they don't really care. What they do care about is:

  1. that they get a good site (hence, use Rails because you're better with it), and
  2. that it's not going to be a burden to maintain (hence, use PHP because it's easier to find programmers)

Just let them know these facts, and argue your point along these lines to let them decide. Also worth mentioning is that Rails is a growing community (if I believe blogs...) and the availability of developers will get better over time.

nickf
+2  A: 

Assuming a one-man-team is enough for the not-too-distant future, and you're not planning to leave the company in that time, then the argument is simple:

Rails gets you a stable site in less time (because you're experienced with it, if for no other reason), meaning more revenue for the company sooner. If they eventually do need to hire another developer, the increased cost (if there really is one) of finding/hiring someone with Rails experience will be justified.

However I do think that Rails leads to faster development, less bugs, easier extensibility, and a more maintainable code base. This means that the company will actually save time and money on development, now and in the long run.

even if it's less fun to develop?

I'd be frank: you enjoy working with Rails. A happy employee is more productive.

Artelius
A: 

State your opinion that Rails is a superior web application technology when compared to PHP, and the vast majority of the programmers (including you) who have a good understanding of both PHP and Rails thinks the same.

Advantages of Rails you should mention:

  • The same site can be created faster.
  • It is easier and more natural to create a secure site, and it is easier to find and fix security bugs.
  • As the complexity of the site grows, it becomes harder and harder to make changes properly, without breaking it (no matter Rails or PHP). But in PHP it becomes much-much harder, and in Rails it becomes only a little harder.

Advantages of PHP you should acknowledge:

  • It's easier to find a random PHP programmer than a Rails programmer for maintaining the code of the site. (But hiring a random programmer often isn't worth it, because a not-so-good programmer makes more mistakes, which are expensive to fix later.)
  • The basics of PHP is easier to learn than Rails for a not-so-good programmer. (But mastering PHP is not easier than mastering Rails.)
pts
Rails (framework) vs PHP (language) is unfair. PHP has many frameworks, and a good programmer can make very maintainable code. Just because you cant, dont assume others cant either.
OIS
that's ridiculous
Petrunov
A: 

I don't think branding is important. If the site is something best done in PHP, then no argument in favour of rails will look good. If the site is best done in rails (or django) then that should be obvious.

If you're to be a one-man team I'd just build it in rails because you're the developer and that's what you know. Even a non-techie should see that hiring a rails developer to build a site in pure PHP is just silly.

singpolyma
A: 

To make the case for rails I would just show them Zend's config pages.

srboisvert
...and they would look at you and say "so what?" closely followed by "stop wasting my time".
nickf
Ouch. I guess I forgot to set the zend.humor.users.level.setting option to true. Or was it the zend.user.level.humor setting?
srboisvert
+12  A: 
cletus
Well said, wish I had more than one vote to give. :)
Paolo Bergantino
Are you sure you're not showing clear bias here? I didn't meant to imply I wanted to somehow 'sneak' Rails into the project. I also did not want to discuss the technical merits of either platform (which I'm well aware of). Rather, I was asking for ideas on how to compare the two WITHOUT getting mired in technical details.Additionally, I think Zed Shaw's article is pure flamebait, and shouldn't be considered when trying to make any pragmatic decision.
Bryan M.
+1 great and very detailed response. I guess it's just up to the individual parties to work out the weighting of each of these areas. 1, 8 and maybe 5 seem like the weightiest ones to me.
nickf
"Rails is a Ghetto" rant has been removed by the author.
Artelius