7 ms·
Perl as a career option
- peatmoss 12y agoAn article about Perl invoking Slashdot discussion certainly feels anachronistic. I quit Perl relatively soon after Python's debut, though I still miss the feel of the whole Free/Open Source software movement during the Age of Perl. No doubt Perl and CPAN helped build the house we now live in.
- Moto7451 12y agoI went from working at Silverlight shop to a Perl shop two and a half years ago. The experience has been great. The article hits the nail on the head in terms of pros and cons. The learning curve going from C# to Perl wasn't that bad. Both are expressive and share a number of idioms. Moose is easily one of the best parts of the toolkit and the one thing I miss most when doing Objective C and C# projects.
- bsg75 12y agoComing from shops that were all about Java, Rails, and C# (but using Python myself), I was surprised at how much new (performant) Perl my current company generates. This is probably part of the reason for my new found love of Awk. Perl is still a viable language, and a lot of the choice comes down to taste.
- oalders 12y agoThere is mention at the very bottom of this article that a great way to improve your Perl skills is to participate in the Google Summer of Code (GSoC) or the Outreach Program for Women (OPfW). I've been involved in the selection process of both of these programs for The Perl Foundation this year and in the past. This year The Perl Foundation is participating in both programs. I spend a lot of my open source time working on Perl and specifically https://metacpan.org https://metacpan.org We have both a GSoC and an OPfW participant currently working with us. They're learning a lot and contributing a lot of really great work back to the project. If you do want to get involved in something like this, my advice would be to get to know the project you want to be involved with well before the deadline. Reach out to one of the project leaders. Find out how you can get involved. Start contributing patches as soon as you can. When the time for applications comes, ask for feedback on your proposal _before_ you submit it. Writing a strong proposal is a skill in its own right and something that will benefit you in your later professional life as well. Conversely, if you lead an open source project, don't wait until the call for submissions to start trying to recruit students. Get the word out early so that you can better judge who would be a good applicant. Having this kind of experience under your belt can help a lot when considering Perl (or other languages) as a career option. I'm happily coding Perl full time, but even if that's not the path you eventually take, it's still a great tool to have access to.
- krylon 12y agoBack during my training, I used to do practically all of my coding in Perl. I loved it. Then I stumbled upon Python and Ruby, and I did not look back for a long time. When I did, I realized how much I disliked Perl's type system (or lack thereof). I sort of drifted around for a while between Python, Ruby, and Lua (although I do not really like Lua as a stand-alone scripting language, it totally rocks as an embedded scripting/extension language). About 15 months ago, I started working as a sysadmin at a smallish (~100 people) engineering company, and I re-discovered Perl. I am not sure I would like to implement any largish piece of software in Perl, but as a scripting language for system administration, it still rules. Especially on Windows, which still feels like a downright hostile environment for programming.
- BugBrother 12y agoI don't really get what is different with Perl and the other scripting languages for types, but check Moose. E.g. http://search.cpan.org/~ether/Moose-2.1210/lib/Moose/Cookbook/Basics/Company_Subtypes.pod http://search.cpan.org/~ether/Moose-2.1210/lib/Moose/Cookboo... Quite OK for one of the scripting languages, imho. has 'employees' => ( is => 'rw', isa => 'ArrayRef[Employee]' default => sub { [] }, );
- krylon 12y agoYeah, learning Moose has been on my todo-list for a while now. Back when I still used Perl almost exclusively, I hardly did any object-oriented programming in it, and when I did, it felt awkward. Moose looks like a game changer, both for OOP in Perl and for typing. Right now, I have a lot on my plate, but once my schedule clears up a little, I will look into it. Thanks for the hint! (For sysadmin-scripting, non-OOP Perl is entirely sufficient, though.)
- simcop2387 12y agoYou should also check out Moo[2] and Mouse[1]. They both try to be simpler versions of Moose without the compile-time (and runtime) performance issues of Moose. They do that by dropping some things like metaobject protocols and other things that are great for introspection but may not be something you really care too much about. They both try hard to keep syntactically the same as Moose when possible so that you can most of the time use them all interchangeably. [1]http://search.cpan.org/~gfuji/Mouse-2.3.0/lib/Mouse.pm http://search.cpan.org/~gfuji/Mouse-2.3.0/lib/Mouse.pm [2]http://search.cpan.org/~haarg/Moo-1.005000/lib/Moo.pm http://search.cpan.org/~haarg/Moo-1.005000/lib/Moo.pm
- jaryd 12y agoFor anyone interested, DuckDuckGo is hiring Perl engineers... https://duck.co/help/company/hiring https://duck.co/help/company/hiring
- eliben 12y agoPerl is on the sure way to become the COBOL of the scripting world. I'm saying this as one who invested years into learning and applying Perl everywhere I could. But seriously, it's a done deal now. Move on. Yes, there are still companies with large Perl code-bases. Large Perl code-bases need a lot of maintenance (sigh). So Perl programmers will be in some demand for a few years at the least. Hence the analogy to COBOL.
- lazyloop 12y agoWhen was the last time a COBOL project has generated as much buzz as Perl's Mojolicious has just yesterday? https://news.ycombinator.com/item?id=8095574 https://news.ycombinator.com/item?id=8095574
- eli 12y agoThat's a little unfair. COBOL just isn't well suited to problems solved by a new web framework. Batch processing of financial data is important, but it ain't likely to generate buzz.
- spikyobjects 12y agoAs opposed to Perl, which was designed as a web framework language?
- eli 12y agoPoint taken, but Perl has a (very) long history of being the glue the holds websites (and everything else) together. I think perl files in cgi-bin is the first time I ever connected a database to a web page.
- spikyobjects 12y agoCOBOL has an even longer history processing business and financial data. Perhaps COBOL is the secret sauce that hedge funds use for high frequency trading?
- avar 12y agoI think it's a bit odd thinking of programming languages as a career option. I work at what's one of the biggest if not the biggest single employer of Perl programmers (Booking.com), and we don't specifically hire people with prior Perl experience. We hire people with relevant programming experience and bring them up to speed on Perl. Anecdotally we've hired people who've had years of Perl experience who haven't done all that well, and people who've had no prior Perl experience who've just picked it up on the job and been very productive contributors within days or weeks. The unstated assumption with articles like these is that you'd be losing out if you don't get experience with the "winning" platform, but in my opinion a much better way to become a good programmer is to get experience with a wide selection of toolsets and programming languages. Even if none of those toolsets are widely used commercially. Having said that if you're interested in Perl as a career choice we're always hiring :)
- fennecfoxen 12y agoYou're "always hiring", but your interviews are remarkably short on actually writing any code and if someone asks too much about your approach to maintaining software quality (in light of your cowboy-coder reputation) you'll question whether they're "pragmatic" enough to work there and lose interest. Which I guess was probably things working out for the best, but Amsterdam was a fun city. Perhaps I'll find another employer there someday. Looking at London and Berlin in the meantime. :P
- avar 12y agoI quizzed my interviewers for about an hour on how Booking did things and why when I had my interview, and I still got hired. Besides, like everyone if we don't hire someone we don't tell them why due to liability reasons. So if you had an interview and got rejected maybe it was for some completely different reason, I've certainly never heard about someone getting rejected because they asked too many questions. You might get rejected because you don't seem like a good fit though. I commented on this a bit more specifically in a Reddit discussion a while ago: http://www.reddit.com/r/perl/comments/1mkdl4/what_exactly_is_up_with_bookingcom/ccaemqk http://www.reddit.com/r/perl/comments/1mkdl4/what_exactly_is... Anyway, it's unclear from your post whether you tried and failed at an interview with Booking, or whether you used to work there. If it's the former I'd be happy to help you with another try. Like any employer we'd rather not hire one right person than hire ten people we shouldn't have hired, so statistically we reject some candidates that would have been good fits.
- VLM 12y agoTwo common Perl problems: People think Perl 6 is merely an incremental change of Perl 5 People thing pre-MOOSE pre-ModernPerl is the same as post MOOSE post ModernPerl because they're both Perl 5. One problem with the article is thinking "a" language is your career. That's just weird.
- collyw 12y agoI have been thinking about looking for a new job. I seem to be fairly well paid here as far Spain goes, so I was looking at the corporate option as they are the only ones that seem to pay more. Its all .Net or Java. And they ask for in the job ads. I agree there is a fault in turning down an experienced developer because he (or she) hasn't got experience with a specific language. But that doesn’t mean it doesn’t happen. All the time.
- bane 12y agoPerl is an awesome tool to have under any developer's belt. It's likely that somewhere during the course of your development you'll need to hack together some one-off script to do something and Perl is likely the best tool for the job and will probably already be on your system. It's worth it to learn it for no other reason than it's probably the most productive tool for this kind of use-case available. It'll also give you some ideas for your main development languages in how things can work, and the "perl way" of doing things will bleed into that. You'll start to look at some of the overly complex line consuming ways of doing things like "reading in a text file to a string" as moronic and will start to write abstraction libraries to "fix" your other languages. I know this is a limited view of Perl (and I'm a huge fan of Perl and using it in various key places has helped provide for a not-insignificant percent of my lifetime career earnings). But Perl 6 has effectively killed Perl. It's a case of announcing too early and getting the entire community to back off from investment of resources into new Perl code when Perl 6 feels like it's been just around the corner for years. Regardless of how you think of Perl 6 (an incremental upgrade or a major overhaul) the effect has been the same in almost every Perl shop I'm aware of. People backed off of new Perl 5 work, expecting it to stagnate (it didn't, but perceptions are hard to overcome) and waited and waited and waited for the version # in their perl -v to increment to 6. Since they were going to switch to new code anyway, why not try out the half-dozen other languages that have soared in popularity since? And now you end up with the situation we have now. Perl 6 also provided a long standing competition target for other languages to hit. It allowed other languages to figure out what Perl 6 was and wasn't going to bring to the table and hit the kinds of things that people really needed. My ultimate opinion on 6 is that it's a huge effort/a major rewrite, for some rather incremental changes, without addressing long standing issues with Perl for large-scale development work. There's some really cool stuff in Perl 6, built in grammars are potentially amazing, but I'm not sure a 14 year wait (and counting) was worth it (and yes, I'm aware there are some implementations available, but until perl6 is a default command from the cli in any major *nix distro it doesn't matter).
- spikyobjects 12y ago> But Perl 6 has effectively killed Perl. Oh fuck off, no one has been confused/concerned about the 5 vs 6 version numbering thing for at least 10 years. 5 is production, 6 is where the crazy geniuses experiment with language features, everyone knows that they're two separate things. Since 5.10 we've had major (sub)versions of 5 every year, consistently. And the better ideas from p6 creep their way back into p5 in the way of modules or features in new versions, so it's hardly for naught. The only real mistake was calling it "6" instead of "Dr. Wall and Conway's chimera language of onion and camel goodness" or something.
- rz2k 12y agoThe idea that there is some under-appreciated, reliable technology that's already solved a lot of problems people are trying to address today is compelling to me. In fact, I've learned that I almost need to actively ignore short pieces of advocacy in order to keep them in perspective. "Modern Perl" is an improvement on the coding styles that earned statements like "write once, read never". However, I think it is relevant to read "The Mid-Career of the Perl Programmer"[1] written by chromatic, who wrote the book on Modern Perl. Realistically, the audience for this article will probably be people who are starting out with programming in addition to their primary job skills. Someone else further along probably isn't likely to choose one programming language for a career specialty. While you can use Perl for automation, scripting, and data analysis as easily as you could in the past, there are additional tools available now. I feel that choosing Python, R, or Julia, depending on the task, maybe even VB.net is going to get people up and running faster, and also end up being a better starting point for doing more later if people get inspired. [1] https://news.ycombinator.com/item?id=7373038 https://news.ycombinator.com/item?id=7373038