Localytics is seeking an expert Senior Software Engineer to join our team. We want you to help us build scalable backend services and tools that leverage big data in our mobile engagement platform. The Distributed Systems team is focused on providing near real-time data and messaging products to our customers. We value good software design, collaborative development, and protecting user privacy.
Our distributed systems are built in Scala/Java and Go using SQS, Docker/ECS, AWS, DynamoDB, RDS, and the Snowflake Cloud Data Warehouse. Our high performance systems process in real-time 4 billion data points each day, perform analytics on petabytes of data, and reach billions of mobile users every month. As a SaaS company, our systems are available 24/7 and must be reliable, self-healing, and failure-tolerant.
ABOUT THE ROLE
As a Senior Engineer on our Distributed Systems team you will:
- Create high-throughput transactional systems (distributed systems, real-time, transactional processing)
- Optimize the performance and scalability of our systems across a variety of technologies (SQS, Kinesis, DynamoDB, etc)
- Assume varied project responsibilities from whiteboard design through to production (design, technology assessment, technical leadership, pair programming, peer mentoring)
- Improve data quality and service reliability (active monitoring and fault detection)
- Deploy services using our Continuous Deployment systems and evolve our services architecture (Docker, Kubernetes)
- Bachelor's degree in Computer Science, Engineering or related field, or equivalent training, fellowship, or work experience.
- 5+ years of experience working with scalable / high reliability systems
- 2+ years of experience in building and deploying high-quality production services
- 1+ years of experience working with a cloud provider such as AWS, GCP or Azure
- Understanding of polyglot data persistence (relational, key/value, document, column, graph)
- Skilled at crafting and building robust backend data services (distributed systems, concurrency models, micro-services)
- Strong dedication to code quality, automation and operational excellence
- Expertise in object-oriented and//or functional programming languages (Java/Scala, Python).
- Excellent written, verbal, and social skills.