Vultures seeking Perl developer

This position is open to residents of the United Kingdom, Switzerland, and the European Economic Area.

Situation Publishing, the owner of The Register, is looking for a full-stack software developer. We are offering up to 60,000 EUR / 55,000 GBP / 0.00055Pg based on your location and experience.

About the position

This is a remote role, with the option to work from our London office if preferred.

You will be an employee or a contractor, depending on your location and your circumstances.

You will manage the full life-cycle of software projects from small to large. This will include consultation with the business, design, development, testing, and deployment. There will be a mix of new projects, refactoring of legacy code, and bug fixing. Most of your work will be with our back-end Perl code that runs on our Debian servers, but you should not be afraid to get your hands dirty with HTML, CSS, and JavaScript.

As our readership grows and revenue streams change, there is a steady flow of work. You will ensure that our website remains performant and that our journalists have the tools they need. We need your help in keeping the business profitable whilst ensuring that we can provide great free content to our readers.

One of your first mid-term goals might be to migrate an administrative back-end from mod_perl to something based on Plack. Or, if you are looking to diversify, to create a proof-of-concept in Go for a latency-sensitive web application.

Candidate Qualities

The ideal candidate will be able to do more than just tick boxes on a requirements list. We are a small team and we wear many hats; the right candidate will be knowledgeable, adaptable, and eager to learn.

The following are some things that we consider to be very important for the role because without them you are likely to struggle:

  • Good communication (and listening) skills.
  • Excellent written and verbal English.
  • Excellent reading comprehension and attention to detail.
  • The legal right to work with us from your country of residence.
  • Experience writing high quality Perl.
  • Experience writing valid HTML, JavaScript, and CSS.
  • Experience with SQL and ORMs such as DBIx::Class.
  • Great Linux experience (we use Debian stable).
  • Excellent knowledge of SSH, bash & sh, pipes, common UNIX tools, and the UNIX way.
  • Good familiarity with version control software such as Git.

The following are things that would be very useful, but we certainly don't expect candidates to have experience with our entire tech stack from the outset.

  • Experience with templating systems such as Template::Toolkit or Text::Xslate.
  • A working knowledge of Apache and nginx.
  • Experience working with both MySQL and PostgreSQL.

You get bonus points if you recognise the usefulness of “goto ⊂” or if finding ninety-two “wantarray” and twenty-two “local *” does not fill you with dread.

Our tech stack and our team

Our tech team is small, distributed, focused and has autonomy. You need to produce great work without being enticed by a carrot or threatened by a stick. We don't always use the latest and greatest, and we don't always “just put it in the cloud”. We are not averse to either, but if you're looking to fill your CV with trendy buzzwords, look elsewhere.

Broadly put, we favour open source. We use Debian, Apache, Nginx, Exim, Redis, MySQL/MariaDB and PostgreSQL in our stack. We often write our own tools using Perl, Bash, HTML, CSS, JS, sweat and tears. We rely on Git for process and revision control.

You will need to be comfortable communicating with the wider team and the business via email, phone, instant messaging and online document tools such as Google Docs or MediaWiki.

Interested?

To apply, please send your CV to camelherder@theregister.com and include a cover letter describing why you’d like to work with us and what you think you could bring to our team. Please include:

  • Your gross salary/annual compensation expectations.
  • The script described in Grocery Basket Test, below.
  • A brief answer to one of the following:
    • What can make software hard to test?
    • Explain one thing that you most dislike about Perl.

If we like your CV and cover letter, we’ll likely contact you requesting you answer a short test before scheduling an initial interview over Hangouts or Skype.

Grocery Basket Test

You have data in the following JSON format:

[
    {
        "name":"apples",
        "baskets":[10,20,30]
    },
    {
        "name":"bananas",
        "baskets":[5,20,10,10]
    }
]

name is the name of a grocery product.

baskets is a list that contains the quantity in each basket sold.

Write a Perl script that displays for each product the total number of baskets and the total number of products. For example:

60 apples in 3 baskets
45 bananas in 4 baskets
  • The script need not accept any arguments; the above data can be hard-coded.
  • The script need not convert from JSON. You may choose to hard-code the data in a structure of your choice.
  • The script MUST calculate the results; it MUST NOT print hard-coded results.

Published 2020-09-25. Updated 2020-09-30.

Biting the hand that feeds IT © 1998–2020