Software Engineer (P&T)
Adevinta
Barcelona
hace 1 día

Company Description

Adevinta is a marketplace specialist, operating digital marketplaces in 16 countries in Europe, Latin America and North Africa.

Our leading local brands include Leboncoin in France, InfoJobs in Spain, Subito in Italy, Jofogás in Hungary, and Segundamano in Mexico, among many others.

Adevinta’s local marketplaces thrive through global connections and networks of knowledge.

Job Description

Platform Services is the technology division within Adevinta, with offices in many cities around the world, including in Barcelona and Paris .

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 Platform Services 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 Platform Services 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 an experienced software engineer to join our small team of engineers in Barcelona. As a member of our team you will be part of developing and implementing systems using the best development practices and tools at scale for Adevinta sites around the world, for a variety of purposes, such as content delivery close to users, network abstraction or distributed caching systems implementation.

You will work closely with engineers to advocate sensible, scalable systems design as well as have the best tools to diagnose, resolve and prevent production issues.

Be prepared to work based on your own technological expertise but backed up with hard data.

Our systems 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 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.

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 user downtime and seamless infrastructure and service upgrades as well as being proactive to issue

Qualifications

  • A BSc (or equivalent) degree in Computer Science
  • Strong analytical / problem solving skills
  • 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 and systems tools like Git, Travis, CloudFormation or similar
  • Excellent communication skills, verbal and written
  • DESIRABLE

  • Strong understanding of application transport
  • In-depth knowledge of networking protocols
  • Experience with Docker, AWS, GCE and similar technologies
  • RESPONSIBILITIES

  • Engineer and implement highly scalable systems, using the best development practices and tools
  • Help define our development environment, and communicate the best development practices within the organisation (i.e. code reviews, testing, etc)
  • Continuously monitor the quality of our systems, design measurements to monitor their health (both the engineering systems and data quality)
  • Keep on top of the latest and greatest developments in the distributed systems, the cloud, and data science fields
  • Make sure any tech solution that you put in place is scalable, robust and resilient.
  • Troubleshoot production systems when things go wrong
  • Inscribirse
    Añadir a favoritos
    Eliminar de mis favoritos
    Inscribirse
    Mi Correo Electrónico
    Al hacer clic en la opción "Continuar", doy mi consentimiento para que neuvoo procese mis datos de conformidad con lo establecido en su Política de privacidad . Puedo darme de baja o retirar mi autorización en cualquier momento.
    Continuar
    Formulario de postulación