March 09, 2003
Lisp at the GDC
Craig Reynolds writes
I had a surreal experience yesterday at the Game Developers Conference.
The director of a successful software company was complaining about how
hard it was to find good Lisp programmers.
He's talking about Naughty Dog, of course. They're hiring and they're looking for lisp programmers.
(I can't keep track--is the official dogma still that the alleged difficulty of hiring lisp programmers is a myth?)
Posted by jjwiseman at March 09, 2003 10:14 AM
Technically, they were looking for *good* Lisp programmers. Funny, it just occurred to me that people are always complaining how hard it is to find a good mechanic, but that hasn't stopped people from buying cars.
Finding good programmers seems pretty hard in general. I wonder if Yahoo, say, has just given up on the idea. "Mediocre java programmers welcome."
Well, I work for a company that is in the process of being purchased by Yahoo, and as such expect to be a Yahoo employee within a couple of weeks. As far as I know, there's been no official Yahoo-wide embracement of mediocrity announced yet (although I haven't yet been introduced to the secret handshake). And I also know that Y! is paying a lot of cash for this particular company which employs no Lisp programmers, no Java programmers, and which is anti-mediocrity in general. (Take this as just one data point as you evaluate the "Mediocre java programmers welcome" theory.)
There's a lot of ammunition on this website that could be used in principle to target the hiring of supposed "lumpenprogrammertariat" low-skill developers who may or may not use Java, and who we presume would be better displaced by presumably much more skilled Lisp programmers.
Said ammunition is good for shooting fish that are already conveniently contained in barrels, but I personally could use a totally different kind of ammunition, viz: how do you talk to evidently non-mediocre C++ programmers about the merits of dynamic languages including Lisp?
There's a certain easy contempt that Lispers can develop for non-Lisp developers, predicated on the assumption that those developers are both stupid and not present in the room to answer back. Unfortunately for me, though, I deal on a daily basis with very good C++ developers who are not stupid and who are right there in the room --- the kind of guys who might independently embed mini-HTTP servers in their C++ apps, then realize that they've duplicated effort, then have a brief conference to resolve how to make this a shared library, and then quickly move on from there.
I feel like those guys and I could have a useful conversation about at least the role of dynamic languages in rapid prototyping (with reference to Python if not Lisp), but any talk of how you can't hire genuinely skilled programmers in their chosen language will be met with their _own_ elitism (just hire someone who's not stupid and who knows C++, it's that simple ...)
If you want to go after easy targets (i.e. bad programmers in other languages), knock yourselves out, but don't think that it's a substitute for evangelism to good programmers in other languages.
-lp (yeah, you should know who I am by now :) )
I think the problem is that it's hard to find lisp programmers who are willing to work like peons in cubicle farms.
So are you saying that Lisp programmers typically require individual offices? That would get in the way of hiring, I admit, particularly in a company like mine where practically everyone (even the CEO) works out of cubes.
That's too bad about the cubes, though I can sympathise, being a cube dweller myself. Joel Spolsky has a lot to say on hiring and working conditions, and I really agree with it. That said, I really wonder if I could get hired at Fog Creek. I work at a pretty good sized company, which is part of a pretty big conglomerate, and while it's not an explicit corporate policy, it does seem to me that the explicit corporate policies are geared towards meeting the averages. But that's just me. Incidentally, I don't presume that there's any kind of efficient market in labor, computer related or otherwise. Efficient markets assume perfect information, which just isn't the case. Also, not every company has the same goal in hiring. Just look through the want ads and see how many compainies are looking for "team players". What does that mean? They want people who work and play well together? Or do they want people who'll take orders without complaining?
so you think Western Europe is "the" place to do great thinks using dynamic languages? I always lived on the impression that the US would be the only place where someone might hire me to do a LISP/Scheme related job...strange...
C++ programmers are already figuring out the benefits of (at least selective) dynamism. See boost and its "any" type as well as its tools for integrating C++ and Python; Spirit and its dynamic parsers; or the boost lambda library, FC++, or Phoenix for functional (and often lazy) programming in C++.
Modern C++ is moving well beyond its original focus of being early/statically bound and minimizing additional overhead relative to C. Pay particular attention to the Boost/Spirit/Phoenix combo—a lot of interesting stuff is coming out of them.
--==these people simply aren't lazy enough==--
after 12 years as a full time a/p, my philosophy is to write the absolute minimum pssible code, if any at all, for any job.
i consider a very good day one where i eliminate several source files from the tree & replace them with generic infrastructure.