Resources for Perl Programmers

Where to find a programmer who knows modern Perl

Good employers always seem to be hiring. Good programmers always seem to be working. If you want to build a great team, you need to know where to find great programmers who fit with your team, who understand your business, and who deliver working software.

If you're looking for a great Perl programmer, you're in luck. The world's best Perl developers have a reputation for getting things done.

Some of these guidelines assume technical knowledge on the part of you, a recruiter, or other programmers who work with or for you. These guidelines are not exhaustive. Rather they are here to expand the ways in which you search for great programmers.

Where to find a programmer who fits your team

The most important question you can answer about any potential hire is "Do I want to work with this person?"

The best way to find a great Perl programmer is to hire someone you already know and like. This may mean attending or even sponsoring local networking events such as a Perl Mongers group or other sort of Perl workshop or seminar. Even if there's no mongers group in your area, the mailing lists of nearby mongers groups can be good resources.

Many great Perl programmers spend time on various web sites such as PerlMonks and the Perl subreddit. You can read their writings on blogs.perl.org, Planet Perl Iron Man, Perl Sphere, and other aggregators.

Ultimately the only way to determine whether you and your team can work with someone is to meet in person and spend time together as a team. Even so, participating in Perl groups online and in person is a great way to meet potential employees and coworkers, even if you're not a technical expert.

Where to find a programmer who understands your business

Of lesser but still substantial import is the need to find developers who understand the work you do. If your business is medical billing, a developer with experience in the medical field may have invaluable insight. Similarly, a developer with neither interest nor history in finance may need additional training and guidance before writing software for the banking industry.

Sadly there's no general rule to find programmers for a specific domain. Some lines of business have a broad appeal. For example, many people in the startup world in the US spend time on Hacker News, while you can't go online without finding a message board or forum devoted to some form of web development.

The Perl community has traditionally not embraced professional networking sites such as LinkedIn, but you can follow the mailing lists of specific projects written in Perl to find people who understand the issues behind that technology. Given the desire to hire someone who understands scalable HTML 5 development, you might follow the Mojolicious project, for example.

You may have to browse the CPAN for modules and distributions in your business area to find potential contacts. (Do not blindly assume that anyone with an email address listed on the CPAN necessarily wants to receive job offers, however.)

Where to find a programmer who delivers working software

Perl excels at this.

In general, anyone who has produced one or more distribution on the CPAN, who can answer the question of a beginner programmer, or who has an active account somewhere like GitHub and has produced working code is someone who can deliver working software.

Again, there's no substitute for actually working with a candidate, but with over 10,000 great Perl programmers having uploaded software to the CPAN, this is a community that gets things done. (Countless more good programmers exist behind the scenes. The number of people who upload code to the CPAN is a fraction of the global Perl community.)

Where to find a programmer who writes great code

The Perl community can tell you.

With the strong peer pressure to publish freely reusable code, many great Perl developers have bountiful source code available for your review, on places like the CPAN and GitHub.

In particular, a CPAN distribution should contain tests and documentation. It should have few—ideally no—reported failures. A bug count may or may not be an indication of quality. The CPAN tools make little distinction between feature requests and bug reports, and the former may linger in the issue tracker in lieu of any other todo list.

A great programmer may not have started any projects on his or her own. Many great programmers are more likely to contribute to existing projects. Perl culture gives credit where it is due, so if your candidate appears in the changelog of other projects, it is only to his or her credit.

What not to expect

Do not expect that your prospective Perl programmer will have a homepage which serves as a flashy résumé.

Do not expect that a Perl programmer will work for less than the market rate for any other programming position.

Do not expect that a Perl programmer automatically knows either system administration or web development.

Do not expect that a candidate who lists Perl on a résumé understands trends, idioms, and techniques in modern Perl.

Do not expect that a candidate needs an undergraduate degree in computer science to be an effective programmer. (A degree of some sort may be helpful, but many of the best programmers in the world—users of Perl and otherwise—lack any formal training in computing.)

Do not expect that a potential candidate will be thrilled to relocate.

Where to find a great Perl Programmer

With all of this in mind, you still must do your homework. Figure out what you want from a candidate and why.

Be clear about what you expect. Be clear about the job responsibilities. Be clear about the characteristics and skills the candidate must exhibit (such as fitting in with your team) and those which would be nice to have (such as several years of experience with a specific technology).

Your first stop should be to recruit someone your existing developers already know. (The best way for a programmer to find a great job is through fellow programmers.)

Then widen your search to local user groups.

Clueful employers post on jobs.perl.org. For extra credit, browse existing posts before you create yours. You will learn a lot.

If you come to the end of this list and still have not found the perfect candidate (great Perl programmers are in great demand, after all), the final possibility at your disposal is exceedingly powerful. Back up a step. Find the right candidate regardless of Perl knowledge, then apply a process of mentoring to teach him or her the technical skills necessary to work with your team.

You'll have to do this to impart the knowledge of your project and code anyhow.

(Mentoring is a subject of a different whitepaper, not yet written on this site.)

Hiring Well

Ultimately the success you have hiring a great programmer depends on the preparation you put into your hiring process. The more you understand about exactly what you need and why, the better results you will have.

Great programmers aren't always easy to find. Sometimes it's more important to find someone with good skills who fits your team and who you can train to be great. Yet if you follow these guidelines carefully, you will have greater luck finding programmers.