Sr. Software Engineer - Java

Sr. Software Engineer - Java
WA, Seattle

Job Description

This hands-on team consolidates, curates and serves all user data for our client.  This is a massively scalable, fully-online/real-time data store containing all information about our users.  It fuels the entire business, from promos and incentives, to marketing and ad campaigns; from in-app customer experience to online customer service.  You'll be working closely with the Product and Business Data teams, as well as teams across the company, to collect, scale and serve the business data for all our real-time applications and ad serving.  This system is the most valuable data asset in all Southeast Asia, and it is critical to building the next generation of personalized custom experiences for  users.


The day-to-day activities:

  • Create and curate bigtables (e.g. HBase, Cassandra) for storing and serving petabytes of data

  • Build denormalized data models for optimizing access patterns as the business grows

  • Design and implement APIs for controlling data access and serving the business

  • Build and deliver ETLs and data federation pipelines

  • Exercise creativity in solving complex multi-dimensional business and legal constraints related to onshoring and sharing of data

  • Evaluate technology stacks for increasing performance, handling large pseudo-analytic queries, and reducing infrastructure costs

  • Engage in service capacity and demand planning, software performance analysis, tuning and optimization

  • Work with product and experience teams to define and prototype feature specifications

  • Work with business teams to model and serve the data for personalization and user experience customization

  • Work with infrastructure teams in building and scaling back-end services, as well as performing root cause analysis investigations

  • Collaborate across stakeholders such as data scientists, application developers, and department heads to deliver a technical solution that meets their unique needs

  • Participate in code and design reviews to maintain our high development standards

  • Participate in interview loops to help hire the best engineers in the industry



  • Bachelor of Science in Computer Science, or equivalent

  • At least 5-8 years of experience in commercial software development in large distributed systems

  • Strong knowledge of data structures, algorithms, distributed systems, and asynchronous architectures

  • Hands-on coder who has built backend services that handle high volume traffic

  • Strong understanding of system performance and scaling

  • Expert in at least 1 of the following languages: Go, C++, Java, Scala, Kotlin.  Expertise with multiple languages is strongly preferred

  • 3-5 years of hands-on working experience with Hadoop ecosystem (e.g. Spark/Storm/Hbase etc.) or equivalent, data modeling, and using various database methodologies such relational, columnar and NoSQL

  • Excellent written and verbal communication skills; sharp analytical abilities with proven design skills; able to think critically about growth and stability

  • Experience with ML or Data Science is a big plus, though not required


Apply Now