Congratulations on the hire. Even though I dislike PHP and avoid primarily-PHP projects (which excludes me from something like 75% of all start-ups, but was fine at Yahoo where many teams used Java/C++/Perl for backend/middleware work), I can only say good things about his contributions at Yahoo which went beyond PHP work e.g., educating engineers on web security.
I worked with Rasmus at Linuxcare, and he always came across as a really good person - a problem solver, and generally nice, and pleasant to be around. I don't care for PHP either, but that's another story, and in any case you have to give the guy credit for launching an open source project that ended up that big - he got something right, and it's worth studying to find out what.
It's not meant to be a scientifically precise number and I used in a half serious way (hence "something like"), but I wouldn't be surprised if it were true.
I should clarify: I'd have no issue working at start-up that used PHP for front-end web development, as long as they used a more appropriate language for backend/middleware. This is the approach taken by Yahoo and Facebook, although it's not one I'd take personally. I suspect most Facebookers would agree: there were several attempts to switch, but carrying them through would have meant halting site development; most wish Facebook chose a different language from the start. That's called technical debt and they're choosing to keep paying interest on it (writing a PHP to C++ translator) for the time being for very solid reasons (OTOH, PHP performance wasn't an issue as much at Yahoo as they made much heavier use of custom C/C++ extensions).
In another way, PHP had a positive effect on Facebook: as it's a limited language, there's much greater motivation to create a distributed and polyglot architecture e.g., breaking the back and middle layers out into separate services and using Thrift RPC, as opposed to either keeping the architecture monolithic (creating a scalability bottleneck) or sending raw C structs or serialized Java Objects over the wire (assuming the network is homogenous is one of the fallacies of distributed computing). Sometimes worse is better.
As for myself, I'm neither good at nor interested in web development (although I have tons of respect for great front-end people), which make me useless if 95% of a ten person start-up's engineering work consisted of web development.
If the start-up was using PHP exclusively (without any custom C extensions) for tasks beyond web development (e.g., building the backend for what is essentially a recommender system), it would be a strong indicator of a technical team being ignorant and unaware of it (e.g., not realizing that what they're trying can be done elegantly through singular value matrix decomposition, something incredibly painful if not impossible to do purely in PHP) or being micro-managed. If you read Paul Graham, an advantage of early stage start-ups over bigger companies is greater freedom in technology choice, joining a start-up that restricts you to what you think is decidedly the wrong tool for the job is counter intuitive.
I've been hanging out with the WePay guys since shortly after they moved to Silicon Valley. They are really great guys. I also happened to meet Rasmus at WePay's launch party, and he impressed the socks off me with how laid back and unassuming he was. We talked for about half an hour about the history of PHP. I learned a bunch and wanted to hang out with the guy a lot more.
I've been using WePay to manage the payment of sponsorships at the http://HackersandFounders.com meetups, and I'm also using it to transfer money between members of my family.
I have no skin in their game aside from really liking the guys. If you're interested in working for a great startup that has amazing potential, you should really send WePay your resume.
Congrats to both! I think it's important to realize while there are a lot of valid criticisms with PHP (likewise with other popular languages), there are still a great many intelligent developers and programmers in the PHP community. Once you wade through a lot of the cruft (and there's a lot of it), you'll hear from some really intelligent people who use PHP.
I've seen Rasmus speak twice and talked to him once. He certainly is very interested in APIs. It seems a theme of his to hack a mashup together with an API that exposes information that wasn't previously available.
I would guess that this post is more about his passion for APIs than it is about PHP.
If anyone's ever used PHP, this sounds like the worst hire ever. I bet he's a smart guy, but you can gain some insight on his attitude towards development here -- http://en.wikiquote.org/wiki/Rasmus_Lerdorf
"I'm not a real programmer. I throw together things until it works then I move on. The real programmers will say "yeah it works but you're leaking memory everywhere. Perhaps we should fix that." I'll just restart apache every 10 requests."
He sounds like one of the most valuable kinds of programmer: humble about his own abilities and more interested in solving problems than being precious about the elegance of his code. PHP itself hews to this same pragmatic philosophy, and it's the reason PHP powers a huge swath of the internet.
Personally, I find coding PHP is like chewing on tinfoil. Nevertheless, it has allowed countless developers to solve problems quickly without having to learn a bunch of boilerplate or internalize elaborate data models.
There's a huge difference between actual pragmatism and shooting yourself in the foot in the name of pragmatism.
No, you shouldn't build your program out of some overengineered metahyperpolymorphic Proton and Electron base classes in the name of "elegance". But the problem with PHP is that it goes completely to the other extreme: it has no internal consistency and little foresight. Simplicity is a great desideratum, but it shouldn't come at the expense of sense.
In the context of a startup hire, think about it this way:
He has created something very popular and widely used for an extremely difficult to please market with a huge amount of competition, some of it from scary places. The domain is a hard one.
I hear this stuff all of the time about how PHP fails to the point of destroying an application because of some oddities in the language. As if taking (easy) steps to correct these in the application itself is impossible. I don't think that is true.
What pisses me off the most about it is that every person that ever mentions this forgets Facebook, one of the biggest players on the Internet, is built on PHP. (Along with Digg, Yahoo, Wikipedia, Photobucket, SourceForge, Flickr, Yahoo, Friendster, Wordpress/derivatives, Magento........). Not that that is the only language they use, but this is a ridiculous claim to say the least.
Yeah, PHP has faults. So do most languages - but sometimes those faults are also strengths.
I've met Rasmus once, when he generously spoke at our humble community college during his tenure at Yahoo. He came across as pragmatic and opinionated. In his writings and presentations he always stresses simplicity and efficiency (two virtues often lost in the quest for novelty and elegance), and he conspicuously disdains excess. Check out his 2008 DrupalCon presentation and you will see that he is a straight shooter who does not curry favor or spare the ignorant.
How do you square that with him having designed a byzantine language, written an inefficient implementation, and built a standard library that's the most excessive of all time?
The things he disdains as novel in other languages are 40 years old — as old as he is!
And how do you square your view with the fact that PHP is one of the most pervasive languages out there? If it is so terribly inefficient and byzantine, then nobody in their right mind should be using it. Yet they do. So they are either all crazy, or perhaps the things you don't like about it aren't actually very important to most people. They probably like the fact that you can get things done extremely quickly in it.
I have said so many times, PHP is not
about purity in CS principles or architecture, it is about solving the
ugly web problem with an admittedly ugly, but extremely functional and
convenient solution. If you are looking for purity you are in the wrong
boat. Get out now before you get hit by a wet cat!
While that quote should understandably give anyone pause, I don't think it's nearly as damning as you seem to think, nor single-handedly enough to advocate against hiring him. As you say, he's probably quite intelligent, and his solve-problems-damn-the-consequences approach can actually be a crucial piece of a development team. Some developers will like nothing better than to take one of his quick and dirty "it just works" PHP algorithms and fine-tune it until it is more reliable than the server software hosting it.
Plus, of course, when you desperately need something done or fixed YESTERDAY, memory leaks are indeed the last thing on your mind. In the world of rapid developments and instant news spread that is online commerce, fixing a crucial 0-day issue at the cost of 3-5 minutes of downtime per hour until a better fix is implemented? No-brainer.
I'm pretty sure he was using that to illustrate an extreme. He talks a lot about performance and he will spend hours lowering latency by 5% and restarting Apache every 10 requests would certainly not help performance. I think his point was that sometimes you need to simply solve the problem and move on.
I used to work with a developer, about 2-3 years ago. He was originally CTO of a startup bought by Yahoo! back in the day (Hotjobs). He'd develop live on the server, no version control, yap at you over IM or across the room to get out of the file that he was editing, restart Apache every few seconds to get mod_python to reload. It was absolute chaos. He's a great hacker and a brilliant guy, but some people are truly shooting themselves in the foot for the sake of being "old school". It all comes down to a stubborn laziness. There's definitely a balance between sticking to what you know and prematurely ejaculating over the latest and greatest technologies. Some people just refuse to use new things.
Google "Rasmus Lerdorf". Look at some of his presentations & posts (which btw are impressively ego-free, compared to the usual output of web mini-celebs which achieved a lot less). He's far from being stupid or lazy, but like any good developer knows that thinking of yourself as stupid and acting lazy are virtues that force you to build simple stuff that works.