Platform Software Engineer
Engineering | Remote US | Full Time
Lytics, the customer data platform (CDP) built for marketing teams, improves your business performance by connecting the right data to Lytics’ powerful AI engine. By combining unique behavioral insights, machine learning, and real-time campaign orchestration, Lytics equips marketers with the tools to create unique one-to-one marketing campaigns and engagements based on each user’s interests and customer journey. Some of the world’s most innovative brands use Lytics’ CDP technology, including General Mills, Live Nation, Nestlé Purina, AEG, Industry Dive, and Yamaha. We are looking for smart, passionate, and dedicated individuals to grow with us and deliver great value to our customers and company.
Platform Engineers are responsible for the design, implementation, and management of the entire data pipeline. From API servers to databases, message queues to cloud infrastructure, and all the stream processing in between. You will work to provide the backbone on which our cutting-edge features are built. The Platform team is a hybrid team of distributed systems engineers and site reliability engineers. For this role, we're looking for someone with a background in either who’s willing to learn both.
What Our Technology Looks Like:
Our services are all in Go.
All communication between services are over gRPC and use etcd for discovery.
The data pipeline is a collection of distributed services, processing billions of events per day, using a Lambda Architecture.
We've built a unique data storage layer using cutting-edge graph and information retrieval technologies.
We provide access to data through multiple APIs and systems.
We’ve automated deployments via CI/CD to Kubernetes and Google Cloud Platform.
Be responsible for the availability, latency, performance, efficiency, change management, monitoring, emergency response, and capacity planning of the Lytics platform
Work with team members to design, document, and implement large-scale distributed streams and batch processing of petabytes of data using Go
Provide tooling and infrastructure for other internal teams, including Engineering, Customer Success, and Sales
Manage deployments in Kubernetes and Google Cloud Platform
Join On-call rotation to ensure 24/7 availability of Lytics services
Should You Apply?
Well, yes! If you don't think you meet all the recommended requirements, that's okay! If you are excited about Lytics, Go, stream processing, distributed systems, data processing, machine learning, and/or marketing, we would love to chat; we may have an opportunity for you. Be sure to include a link to your GitHub or other accessible samples of your work.
A learner, critical thinker and problem-solving individual
4+ years of experience working with cloud operations (any cloud is fine), distributed systems, or data processing
General software engineering knowledge (data structures, OOP, functional programming, and the like)
Experience with CI/CD in a SaaS environment
Experience working with Terraform
Experience with Elasticsearch, Cassandra, Bigtable or any other NoSQL databases
Experience building data-intensive applications
Experience working with Kubernetes and Docker
Experience writing Go not required but a huge plus
Experience with Google's approach to Service Management (see SRE books)
Why Work at Lytics?
You will be working on a small team of talented and passionate engineers. Since the team is small, each individual is given a lot of freedom and responsibility to manage their day-to-day activities. Projects at Lytics are not spec sheets handed down to the engineering teams; they are open-ended problem statements that are solved and implemented by the same people.
We are also serious about testing and automation. We want to focus on shipping great features and iterating on our designs. Because of this, continuous integration and continuous deployment are both very important to us. You will get to take advantage of this on Day One.
We are committed to communicating projects and transparency. GitHub is our primary tool for source control, code review, issue tracking, and project planning. Everyone in our organization is given access to be a part of the conversation. For everything else, there is Slack.
We value the developer community at large and believe that the best way for the world to have great software is if great minds are sharing. This is why we find ways to take the tools we write and turn them into open source projects usable by other people facing similar challenges. Check out http://lytics.github.io/ for example.
In addition the Lytics team is professional, open with sharing ideas and leadership is more than ready to help provide guidance on making you successful.
At Lytics, we recruit and reward employees based on performance and capability, regardless of race, gender, sexual orientation, gender identity or expression, age, educational background, national origin, religion, or physical ability.
Our goal at Lytics is to create an environment where everyone, from any background, can do their best work. We know that the best ideas & the best solutions happen when people bring their uniqueness to work with them. Inclusion is an integral part of how we leverage that uniqueness into our company. Creating a culture of equality and respect isn’t just the right thing to do, it’s also the smart thing. Diverse companies are more innovative and better positioned to succeed in emerging technologies.
We are committed to taking care of our team, and along with providing a competitive salary and great benefits for employees and their families, we are dedicated to making sure there are a variety of methods for staff to grow their skills and further their careers. Benefits include affordable health insurance, 401K, flexible PTO, stock options, remote work connectivity benefits, life insurance and disability plans.
To get started, click on the link below. To fast track your application, let us know in your cover letter why this job and company is of particular interest to you. We look forward to talking!