We are looking for a Senior Java, C++ or Golang Engineer with Data experience to work with one of our US-based clients, which provides technology and services that enable marketers to reach the audience they are targeting. Since 2007, when they created the first software for real-time media buying, our client’s global infrastructure, partner network and quantitative approach to media buying have delivered transformative results.
Our client is partnering with the most forward-thinking brands and agencies to accelerate these changes. They build on the leading-edge of technology and innovate at scale. They combine an open platform – purpose-built for enterprise marketers and powered by machine learning – with scaled, privileged inventory, exclusive data, and industry-leading training and support.
We’re seeking engineers who are very passionate about comprehensively processing data that comes in all forms and cadences, including high frequency, high volume streaming and batch datasets that have dependencies that need to be stored, indexed, accessed in real-time and report-based scenarios.
You will work in multiples areas of the client’s core platform including:
- Real-time Bidding Platform with strong latency requirements and spanning global on-premise deployments
- Identity Graph where knowledge of graph databases including the processing and merging of billions of users via multiple user identity providers for accurately attributing and targeting users with relevant ads
- Core platform solutions including a Database-as-a-service whereby the team provides various databases via a service model that allows users to adjust scalability, reliability and consistency criteria and pick a cost-effective solution
The perfect match is a developer that has:
- Strong programming background in two languages such as Golang, Java, C++
- Thorough understanding of how to use different database technologies including relational and non-relational data modeling (e.g. Postgres, MongoDB, MySQL, Cassandra, DynamoDB, ScyllaDB, Aerospike, Snowflake) as well as distributed query engines (Presto, Impala, Spark)
- Experience of using at least one or more caching or in-memory stores (e.g. Redis, MemSQL, RocksDB)
- Solid understanding of storing distributed data with a strong understanding of consistency tradeoffs, isolation levels, availability and resilience.
- In-depth knowledge of how to maintain a distributed cluster including troubleshooting, performance and scalability tuning
- Strong philosophy on monitoring at scale and a SLI/metric driven approach to supporting SLO/SLAs
- Experience in supporting high availability via replication in both on-premise and cloud scenarios (AWS, Azure, GCP)
Our Engineers bring the vision and goals of our clients to life by bringing experience and passion to the software development process. Spark Digital Engineers take pride in elegant and robust solutions that bring peace of mind to those who rely on them.
Do you bring experience and passion to your work and team? Does seeing a software product take shape and come to life make you happy? If yes, you’d fit right in at Spark Digital and we’d love to talk about the Senior Java, C++ or Golang Engineer with Data experience role we’re looking to fill.