Share Job Posting

Schibsted Media Group is an international media group with 6800 employees in 31 countries. From Mexico to Malaysia, from Brazil to Norway – millions of people interact with Schibsted companies every day: We ensure that all sorts of things can be sold, from new and old sofas to coffee machines and any sort of valuable items. We also make it possible for news reports to be read and watched whenever, wherever and in any way users want. These two examples are just some of the ways our services empower people all around the world in their daily lives.
Schibsted Technology is the technology division within Schibsted, with offices in many cities around the world, including in London, Stockholm, Barcelona and Oslo. Our philosophy is built on keeping an open mind, challenging ourselves and the status quo. If you are driven, ambitious, not afraid of challenges and thrive on finding new solutions, we want to hear from you.
One of the missions of Schibsted Technology is to develop the global product platforms and technology infrastructure necessary to create developer pipelines, big data processing, media management, payment, security and identity systems. With over 250 million monthly active users under our belt, we are able to harness huge amounts data to provide insights on a global scale. Together with our deep local expertise, we have a winning combination.
At Schibsted Technology we face a massive scale in highly critical production environments on a daily basis, a huge amount and diversity of users, large systems, lots of great teams and employees, etc. This massive scale comes with unique challenges both from technical and operational perspectives. If you want exposure to large scale environments as well as exposure to best of breed technologies (AWS, Mesos, Spinnaker, Docker, …) this role is for you.
We are currently looking for a creative and talented individual with a passion for technology to create an server application runtime to run services effectively both in cloud providers and on-premises hardware. Your primary responsibility will be to manage a team (the CRE team) developing and implementing a large-scale cluster system able to run heterogeneous applications developed by Schibsted engineers in a number of cloud providers and on-premises hardware. 
Our services are global scale deployments of different services such as developer productivity tools, image and message processing systems, big data and map-reduce clusters, database and no-sql backends and many more. At all times you will be just a git clone away from real code to contribute to. We specifically have to support hundreds of services and hundreds of instances for 200M+ external users, using dynamic service discovery systems, leveraging dynamic load balancing and routing. Service to service interaction is done using circuit breaker frameworks and similar reliability techniques. Near 100% uptime is done using deployment techniques such as blue/green or canary releasing. For internal services (like delivery pipelines and build systems), we support more than a thousand developers. 
The runtime cluster system you are tasked to create is able to run all the described services (and more!) in the most reliable and efficient way, while ensuring our engineers love deploying apps. Moreover, all applications must seamlessly discover other services, connect with them in a secure way, handle networking and storage dynamically, log status and performance as well as seamlessly recover from all sort of failures. 
You will work closely with the SRE team as well as Schibsted engineers to advocate sensible, scalable systems design as well as supporting the SRE on creating the best tools to diagnose, resolve and prevent production issues. Be prepared to lead your team to work based on its technological expertise but backed up with hard data. 
We strongly believe in continuous improvement of always-on systems so we relentlessly work to achieve near complete resiliency of everything we do. This means no actual end-user downtime and seamless upgrades as well as being proactive to the needs of our engineers. 
Join us to create an amazing CRE team. 
Responsibilities

  • Lead: hire and manage a team of geographically distributed engineers, working closely with engineering leads across Schibsted
  • Invent: identify hidden areas of improvement in any process or system, including changing established rules or procedures 
  • Create: lead the creation of the Common Runtime Environment, a cluster system able to run heterogeneous distributed applications having modern features like service discovery, service-to-service routing, efficient resource packing and fast deployment 
  • Protect: improve the reliability and availability of Schibsted systems by gathering hard data, designing systems and creating or adapting code for increased service reliability and performance 
  • Survey: Implement monitoring and logging solutions embedded in the CRE enabling production systems to be monitored 24/7 
  • Share: Share knowledge and provide expert advice to Schibsted engineers as to how to best use the CRE system as well as providing answers to their engineering needs, fostering a mixed development and operations culture 
  • Engineer: Install, configure, fine-tune, and optimise all sorts of technology solutions. 
Requirements

  • A BSc (or equivalent) degree in Computer Science 
  • Strong analytical / problem solving skills 
  • Demonstrable team management, line management experience and agile development 
  • Experience related to cluster management, high availability and service management systems 
  • A strong UNIX background (including concepts such as Namespaces, Capabilities, and TCP/IP) 
  • Proven ability and experience developing highly structured computer programs (C/C++, Golang, Java or equivalent) 
  • The ability to write scripts on dynamic languages to automate tasks and diagnose problems (Python or equivalent) 
  • Experience in building and maintaining systems at scale: service discovery, load balancing, secret management, dynamic request routing, circuit breakers and deployment schemes (rolling updates, canary, etc.) 
  • Experience with modern development tools like Git, Travis, Terraform or equivalent