Book a Call
Audiense Team Remote Working Meeting

Site Reliability Engineer (SRE) - September 2021

Audiense is an equal opportunity employer, and we know it's our differences that make us great! We want to welcome people from all backgrounds to our family. We encourage Black, Brown, LGBTQ+, Disabled, Mums and Dads to apply!

During the application process please feel free to share which pronouns you use (she/her/hers, he/him/his, they/them/theirs). Let us know if you need any reasonable adjustments for the application or the interview.

The Challenge

At Audiense we process more than one thousand million social profiles. We enrich them by applying several classification and segmentation algorithms to help customers such as Twitter, Telefónica, DHL, and Puma to define their marketing campaigns, identify influencers and discover new market niches.

Our challenge is to optimize the intake, enrichment and storage of that growing data asset whilst keeping the insights computing to be as close as possible to real-time.

For that, we have a pipeline that ingests data from an enriching system mainly written in Node.js. This system consumes from many third-party APIs and applies algorithms to infer new characteristics. This pipeline is able to update a data lake of more than 100 TB that is used to generate reports for our customers using Spark and Scala.

But our users are not only our direct customers. We have a strong partnership program that we empower via a private API. This API is still in beta but already has more than 200 customers and a lot of potential for development.

All our stack is hosted in AWS, we mainly use Docker (ECS), EC2 and Lambda to execute our source code and a wide range of services like SQS and SNS for communication via events. We use a variety of software from the AWS ecosystem like S3, Athena, Redshift, RDS, ElastiCache, Codebuild, Cloudwatch WAF, ElasticMapReduce, Kinesis and mainly managed via Terraform.

How do we work?

We have a remote-first style work culture, and we have been working 100% remotely for more than 7 years. Although we have an office in Córdoba, our teams (management, sales, customer service, product, marketing and engineering) are distributed across different cities: London, Málaga, Madrid, Córdoba, Barcelona, Vigo, Seville, Granada, Murcia, Chieti (Italy)...

Our mindset, workflows and communication assumes that we are all remote. Almost everything is documented in Github: growth plans, learning path, architecture, protocols, onboarding, playbooks, design system, UX guidelines, etc. We invest everything in our power to automate our daily routines so that we can be as autonomous as possible to allow us to work remotely efficiently.

You will be joining a cohesive team (more than 4 years on average together) in a very collaborative environment in which you will feel cared for from the start of your onboarding.

Each team applies different agile methodologies but all follow some basic principles. Prioritize the features that bring the most value to our customers and, instead of setting deadlines, we deliver small increments so that we always have a functional and deliverable version of the feature. We try to keep the number of tasks in parallel to a minimum where possible. We have a few meetings scheduled, but we will not miss the daily meetings, biweekly sprint planning and reviews. We have regular 1:1s with the manager and the CTO, and we do not hesitate to jump on to a hangout if a Slack or mail thread is getting too long.

We believe in extreme programming as a development technique so most of the time we do pair programming (yes, remotely) and TDD is our main tool for writing robust and testable code. Pair programming always helps us trust our code allowing for constant iterations. Once per sprint we spend time on joint code review to detect possible glitches to prioritize. We do continuous integration and we are in the process of extinguishing the branches to do trunk base development, there is a challenge here too.

We have a culture of continuous learning and we encourage this to happen during working hours. As a team we have made a pact of following a learning path, so by joining Audiense, you are committing to it too. If you have followed a similar path, we are eager to get to know you and learn from your experiences, if you haven’t, we are looking forward to supporting you with resources, time and mentoring so that we are aligned.

We are moving from a culture of silos towards a more t-shaped mentality. We are not looking for full-stack developers but for someone that no matter what his/her vocation is, to be versatile enough to assume the tasks that provide most value to our customers instead of the ones that better fit their skills.

You can learn more about our culture on our engineering blog and our Instagram account.

What are we looking for?

We are looking for someone with experience in:

  • Production environments with a lot of data processes, interested in database performance optimization SQL/NoSQL (MySQL/MongoDB).
  • The cloud and managing infrastructure as a code, we use Terraform and Puppet for that.
  • Some scripting programming languages (we use Python) with the mindset of automatising processes and offering it to other teams, we use Errbot for Slack for that.
  • Some background in software development will be definitely a plus.

Our stack as we develop in SRE is wide: Python, RabbitMQ, Redis, PMM, Docker, AWS (EC2, ECS, SNS, SQS, API Gateway, Cognito, Lambda, Redshift, DynamoDB, Codebuild, Cloudwatch, ...), OpenVPN, Jenkins, Icinga, Grafana, Graphite, Terraform, Cloudformation, Puppet, Errbot (slack bot). However, mastering them all is not a requirement. We are more interested in the principles behind them.

Speaking of our data sizes, we have MySQL clusters, Aurora Mysql, MongoDB and Solr with diverse use cases, from a cluster with one table and billions of rows to clusters with hundreds of millions of tables with a varying number of rows (hundred to millions). As a result, we use multiple database architectures from simple primary/secondary to shards with multiple nodes.

We believe in programming in pairs and despite being remote. We spend part of the week pairing, so we hope you feel comfortable with this practice. We also collaborate with other teams to remain aligned with product evolution, developmental requirements and to learn from incidents through postmortems.

We invest our time and support in helping each other towards continuous learning, so it is very important that you want to learn and continue practising the skills necessary to run our profession. Practise, practise, practise!

Working remotely has many advantages but also requires an extra effort of communication and responsibility, so we understand that the following skills are essential: self-management, fluid communication, respect, and inclusiveness.

Nice to have

We are following infrastructure as code, TDD and managed database cluster products like RDS from AWS.

What we offer?

  • 30K€-60K€ salary.
  • On call pay.
  • Monthly subvention for co-workings.
  • Learning days. You can learn during working hours.
  • Training budget that includes unlimited access to SafariBooks and Coursera catalogues.
  • 100% remote and flexible schedule.
  • Local and National Bank holidays.
  • Free day your birthday.
  • Rewards for hitting quarterly targets.
  • Quarterly engineering meetups, 3 days of retrospective sessions, hacking, team building and leisure in Córdoba.
  • Yearly global all hands, 3-4 days of team building and leisure sessions for all the company.
  • English lessons.
  • Furniture/Accessories Allowance via Hofy.
  • 2 Duvet Days per year.
  • Allowance towards therapy sessions.
  • Laptop with the possibility of choosing between Mac or PC.
  • Free 1Password Families Plan account.
Audiense - oficina de Córdoba

Recruitment Process and Onboarding

  • To apply just send an email to introducing yourself and telling us why you fit the profile we are looking for. Your CV will also be useful but it is not the most important.
  • If you pass the initial application filtering, or we contact you directly, your first interview will be with our CTO (Alfredo Artiles).
  • You’ll have a second interview with some members of our team. This is a good opportunity to ask questions directly to your future teammates.
  • Then we would look for a way to validate your skills and experiences. The best way to accomplish this is by pair programming with our team in real tasks. The more time we pair, the more we both could validate if we like each other and especially if you like our way of working, the challenge and the team. Of course, we would pay for your time. If this approach doesn’t work for you, we would try to adapt the process to fit your needs and offer alternatives.
  • If we finally convince you to join our team, this will be the ideal onboarding:
    • Over the first few days, you will be assigned a mentor who will help you set up your computer as needed and mentor you for the following months. He will explain all the workflows that we have become familiar with and hope you will too.
    • From day 1 you will become a part of the usual development flow: solving team issues and deploying code to production several times a day.
    • After a few weeks, you will join the on-duty call alert process assisted by other team members and deal with support requests from other teams.
  • As our development flow is adapted to pair programming your contribution will be very progressive, and you will always have someone to revert to with any questions you may have.

About Audiense

Audiense enables innovative organizations to understand and apply the power of audience segmentation and insights by reinventing the use of compliant social data to make it more strategic and connect it with the business/marketing strategy to be relevant and deliver results.

Audiense’ advanced data science platform has attracted many premium clients such as Twitter, Telefónica, Puma and DHL. We have also developed important partnerships with Twitter and IBM. We are one of only two Twitter Official Partners certified for both data analysis and advertising, which ensures our clients can gather deep insights and then get the most from their investment in Twitter with advanced micro-targeting. We are also partnered with IBM Watson, which helps enrich our database with cognitive analysis, including personality, image and sentiment intelligence. This gives our clients an edge over their competitors as they can gather rich, detailed insights on audiences that matter to their business in real-time.

Founded in 2011 by Javier Burón and Alfredo Artiles, Audiense has offices in London, UK and Córdoba, Spain, and currently has 25 employees of which more than half are within engineering and product.

Audiense - oficina de Córdoba 1

Share this job offer