We’ve recently hired our first group of graduate developers, and they’re currently undertaking a graduate programme where they will work with various technical teams in different disciplines. As a member of the Perl group, I’m obviously hopeful that they’ll enjoy their time using Perl, and that they might be excited enough by using Perl, and the work we do with it, to want to stick with Perl after they finish the graduate scheme.
I think there are two important factors: how does Perl empower a developer? And what interesting, new work do we do using Perl?
Why use Perl?
Much has been written about why people use Perl, which can only be a good thing…
Chromatic penned a few articles about why he uses Perl. They may not be the most exciting reasons for a newcomer to stick with Perl, but I certainly agree that the testing culture embedded in the community is excellent. I’ve also got to agree with the upgradability of Perl; this has allowed us to keep up reasonably well with the latest and greatest Perl improvements.
John Napiorkowski writes about the many benefits of Perl. He mentions CPAN, the community, job opportunities and more. I can’t argue with those, but will those reasons excite our graduates? Actually, I hope that some of the interesting Perl tech he mentions will be of interest (Moose, DBIC, Catalyst, Plack, et cetera).
Another article by Jeffrey Kegler about why he has stuck to Perl instead of switching to an alternative mentions CPAN and the testing infrastructure.
A startup has used and enjoyed Perl, mentioning similar things to the other articles. The benefits of CPAN and the community, along with the general agility afforded by a dynamic scripting language.
I even wrote about the awesomeness of CPAN not so long ago.
Some of these reasons are great, but are they really exciting for a new developer? And how will we share this Perly-goodness with the graduates? Books, training and mentoring, I should imagine. I hope we adequately convey the power and flexibility of things like Moose and DBIx::Class, but will that be interesting enough?
What is it like writing Perl at NET-A-PORTER?
As alluded to above, we’ve kept up reasonably well with the latest Perl changes. We’re running Perl 5.14.2 in production, which isn’t too far off of the latest stable release (5.16.2). We have some older and some newer applications, but even the older applications are using DBIx::Class (okay, they’re using plain DBI too, but it’s being updated as appropriate). We’re also using Moose where it makes sense. Our newer applications are generally written using Catalyst, and we’re slowly converting our old applications from mod_perl to Plack.
We’re in the process of breaking up our monolithic applications into specialised services using a mixture of technologies: Perl and Java; MongoDB and Postgres; Solr, and more. I can count at least five serious applications, written in Perl, that currently do, or will soon, power our business — three were started in the last year. Perl certainly isn’t dead here…
Our team is full of experienced and knowledgable developers, and I feel that we’re inclusive and friendly to new starters. The thing is, the other teams are also friendly and knowledgable, and they’re also working on interesting and varied projects and products (and some are even customer facing!).
Is a combination of the power and flexibility of Perl, plus a friendly and knowledgable team, plus interesting projects enough to excite newcomers to stick with Perl? Time will tell for us. We’ll obviously be completely happy for our graduates to choose whichever path that’s right for them — be it Perl, Java, Web, Mobile; even non-technical — but if we can encourage some of our new graduates to stick with Perl each year, that can only be good for the future of Perl.
At the end of the day, I imagine it’ll mostly be down to team fit and personal interest, but what would you do if you were in our position? What should we show them or train them in that would excite them enough that they might stick at Perl? Answers on the back of a postcard…