Vultures seeking client-side 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 junior to mid-level client-side developer to join us in building one of the world’s great IT websites.

About the position

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

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

You will take charge of our website's client-side code and features, work closely with technical and non-technical members of the team, developing a good understanding of business requirements.

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 bits of the administrative back-ends from static/templated HTML to something based on JS/Svelte. Or, if you are looking to diversify, to create a proof-of-concept in HTML/JS/CSS for a site redesign.

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.
  • Deep knowledge of JavaScript, CSS, HTML.
  • Deep knowledge of jQuery or similar frameworks.
  • Deep knowledge of SEO and analytics.
  • Working Linux experience (we use Debian stable).
  • 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.
  • Some knowledge of design principles for the web, data driven design, user and A/B testing, responsive design.
  • A working knowledge of CSS preprocessors like SASS, LESS.
  • Some knowledge of reactive front-end libraries, like Svelte.

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 SCSS, plain JavaScript, jQuery, Svelte, 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.


To apply, please send your CV to 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 JavaScript.

If we like your CV and cover letter, we’ll likely contact you requesting you answer a short test before scheduling a video interview.

Grocery Basket Test

You have data in the following JSON format:


name is the name of a grocery product.

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

Write a JavaScript script that, via “console.log” or a simple HTML document, 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 2021-07-09.

Biting the hand that feeds IT © 1998–2021