Software Engineer, Distributed Systems
WFA Digital Insight
As demand for skilled distributed systems engineers continues to surge, with a reported 25% increase in job openings over the past year, Hightouch stands out by offering a unique blend of autonomy, cutting-edge technology, and a customer-centric approach. With the global cloud infrastructure market projected to reach
Job Description
About the Role
The role of a Software Engineer, Distributed Systems at Hightouch is pivotal in driving the company's mission to revolutionize marketing and growth through AI. As a key member of the engineering team, you will be responsible for designing, developing, and maintaining the systems that power the syncing engine, which is crucial for Hightouch's customers and internal teams. This position offers a unique opportunity to work on a multi-cloud and multi-region infrastructure, supporting a global customer base. Your expertise in distributed systems, performance optimization, and troubleshooting will be instrumental in addressing complex challenges and pushing the boundaries of what is possible.The role is part of a team that values first-principles thinking, efficiency, and compassion. Hightouch believes in giving its engineers high levels of ownership and autonomy, allowing them to deliver projects from start to finish, work directly with customers to solve their most pressing scaling problems, and have a significant influence on the company's and team's priorities.
What You Will Do
- Design and develop scalable, efficient, and reliable distributed systems to support the growth of Hightouch's customer base.
- Collaborate with cross-functional teams to identify and prioritize project requirements.
- Work on optimizing the sync speed to meet customer demands for faster data synchronization.
- Develop solutions for streaming syncing to support real-time data updates.
- Evaluate and architect the system for the next order of magnitude of growth in terms of scalability and reliability.
- Contribute to the development of the Personalization API, ensuring low latency and high performance.
- Support the multi-region and multi-cloud backend, including extending it to new regions for data residency compliance.
- Engage in troubleshooting and performance optimization to ensure the systems meet the required standards.
- Participate in code reviews and contribute to improving the overall quality of the codebase.
- Collaborate with the team to define and implement best practices for distributed system development and operation.
- Work closely with customers to understand their scaling challenges and develop tailored solutions.
What We Are Looking For
- Strong experience in designing, developing, and operating distributed systems.
- Expertise in at least one programming language, with a preference for languages commonly used in distributed systems development.
- Understanding of cloud computing platforms, including AWS, GCP, or Azure.
- Experience with containerization using Docker and orchestration using Kubernetes.
- Knowledge of database systems, including relational and NoSQL databases.
- Familiarity with messaging queues and streaming platforms.
- Strong problem-solving skills and the ability to work in a fast-paced environment.
- Excellent communication and collaboration skills.
- Passion for learning and adapting to new technologies and challenges.
- Experience with monitoring, logging, and troubleshooting distributed systems.
- Understanding of security best practices for distributed systems.
Nice to Have
- Experience with AI and machine learning technologies.
- Knowledge of marketing and growth platforms.
- Familiarity with agile development methodologies.
- Certification in cloud computing or distributed systems.
- Experience working in a remote-first company.
Benefits and Perks
- Competitive salary package.
- Significant equity compensation in the form of ISO options.
- Early exercise and a 10-year post-termination exercise window for options.
- Opportunity to work on cutting-edge technology and contribute to a rapidly growing company.
- Collaborative and dynamic work environment.
- Flexible working hours and remote work arrangement.
- Professional development opportunities.
- Access to the latest tools and technologies.
- Recognition and reward for outstanding performance.
- Comprehensive health benefits package.
How to Stand Out
- Ensure your resume and cover letter highlight specific experiences with distributed systems, including any personal projects or contributions to open-source platforms.
- Prepare to discuss your approach to performance optimization and troubleshooting in distributed systems during the interview.
- Familiarize yourself with Hightouch's technology stack and be ready to discuss how your skills align with the company's needs.
- Showcase your problem-solving skills by discussing a complex distributed system challenge you've faced and how you resolved it.
- Be prepared to talk about your experience with cloud computing platforms and how you've managed scalability and reliability in previous roles.
- Consider creating a personal project or contributing to an open-source distributed system project to demonstrate your skills and passion.
This is a remote position listed on WFA Digital, the platform for professionals who work from anywhere. Browse more remote jobs across all categories.