Cloud Engineer

Platform.sh

Platform.sh is a groundbreaking hosting and development tool for web applications. We’re a European VC-Backed scaleup with a host of blue-chip Enterprise clients and a string of awards and grants. To reinforce our technical prowess, we are looking to grow our engineering team. If you’re looking for an exciting, high-growth opportunity with an award-winning, cutting-edge company, this could be just the job for you.
We run dozens of cloud regions all over the world with a mix of clients from individual developers running small development clusters, to the biggest companies on earth that run some of their critical apps on us.
The company is fully distributed and remote first, with a strong accent on diversity and inclusion in all of its dimensions (gender, sexual orientation, race, country of origin - you have it, we want it). You won’t find any ableism of ageism either. 
For its groundbreaking PaaS solution, https://platform.sh is looking for a Pythonian Cloud Engineer with a taste for Go, good Linux system understanding, and a real hunger for the challenges of building robust, distributed systems.
Platform.sh is a PaaS shrouded in a lot of black magic (we can consistently clone a whole running cluster, with its state, databases, indexes in a matter of seconds). We want to get this down to the hundreds of milliseconds domain. Interested? There is more...
  • Our external API is pure Hypermedia REST + oAuth on top of Pyramid. It mechanizes the Git layer and needs more features.
  • We can consistently generate from the same manifest a Docker container, an LXC one, or VM disk images (AWS, Azure, Google Cloud, OpenStack).
  • We probably have the highest container density in the industry. We need to get it higher.
  • We have been working hard on a fast, resilient, and cost-optimized observability framework in order to know how the system behaves, now we want to better predict how it will behave. 
  • We support any Python, Ruby, NodeJS, PHP, Java, and .NET, Elixir, of course, Elixir, time to roll-out Rust, somebody needs to push that button.
  • We need to have more auto-healing on the high-availability clusters. We need more performance out of our multi-protocol ssh proxy. We need work on our Ceph Implementation; we have strictly cool things to do on the Edge. We need… great ideas on how to make Platform.sh even better. Interested? Join us!
This is a remote position and very occasional travel to cool places like Paris, France, may be required.
Skills & requirements:
Required:
  • Be a really really good dev that likes testing, understands how an OS works, knows networking, how git works, and the constraints of a distributed system.
  • Be proficient in Python or in Go (expertise in either or both, highly appreciated). But if you are a sufficiently fast learner and got a couple of other languages under your belt (such as Lua, Rust, Erlang, Ruby, or C …), we might bite.
Would be really great if you had:
  • Experience with C / C++ (we contribute to a bunch of upstream projects, like LXC) is a plus; love of C or C++ not required
  • Great knowledge of Git
  • Good Networking background (routing/protocols)
  • Good grasp of practical security and cryptography
  • Experience with other programming languages (e.g. Rust, Haskell, Java, Javascript, Ruby, Common Lisp, PHP)
  • Good knowledge of how the Web works (hacking Nginx with Lua a plus). You may want to brush up on HTTP before the interview
  • Good understanding of how database systems and search engines work
  • A good notion on distributed systems (consensus protocols like Raft/Paxos, eventual consistency models, gossip protocols)
  • Mad Debian Skills. Sporting a Debian plaid cloth during the interview is not frowned upon
To be clear so you are not surprised in the technical interview, this job is very much more for a systems engineer, rather than an application developer. So knowing about system calls is important, while knowing Django, not so much.
Subscribe Now