Back to job overview

Global DevOps Engineer

This job was posted on Oct 22
Working from remote

ZALORA is an online fashion retailer with millions of customers and 1,000+ employees throughout South East Asia (headquartered in Singapore).

We're expanding our globally-distributed, remote DevOps team. The team is small and follows the functional programming philosophy. We use NixOS/Upcast for deployments and Haskell for writing internal tools. You'll be working directly with core contributors to open source operations tools.

The servers are currently managed via Puppet, but we're almost done moving them over to NixOS/Upcast. We don't like repetitive tasks or having systems fail the same way twice, so when we don't find off-the-shelf systems to automate and/or eliminate problems we build them ourselves.

Our Development Philosophy

  • Automate everything.
  • Use purely functional design when possible.
  • Build properly, however long it takes (no deadlines).


  • No hours, no dress code, no physical presence required—just worry about keeping things running smoothly (this includes PagerDuty rotation 1 week out of every 6).
  • Enjoy the freedom to solve problems in the way you see fit. All tech choices are your call if you take responsibility.
  • Release your code as Open Source and get recognized for any tools that you build.


We will hire almost purely based on your code quality and ability to deploy it.

Send us:

  • Your Github profile or code samples OR
  • The code for part 1 of the selection task below.

Selection Task - Part 1

Write a FastCGI or HTTP program in Haskell that provides a restful API to manage the cgroups of a server. It should support the following:

  • create a cgroup
  • place a process into a cgroup
  • list the tasks (PIDs) for a given cgroup

You can assume that the server is running a Linux 3.4 kernel with the cgroup root mounted via sysfs. Include a default.nix to build your program as a nix package. Bonus points for including a NixOS module.nix.