Senior Software Engineer, Backend Development
Lead backend development for real-time ad recommendation and infrastructure, optimizing systems for performance and reliability, requiring 3-5+ years of experience in backend development.
About Appier
Appier is a software-as-a-service (SaaS) company that uses artificial intelligence (AI) to power business decision-making.
About Ad Cloud Serving Services Team
At Appier's Ad Cloud Team Serving Services Team, we build and maintain the critical systems that power the core of Appier's advertising technology.
Responsibilities
- Lead the design and development of scalable, high-performance, and reliable backend services for real-time ad recommendation, data serving, and core ad tech infrastructure.
- Drive technical roadmap and ownership for sizable projects, ensuring the delivery of robust and efficient solutions within the Ad Cloud ecosystem.
- Optimize critical system components for latency, throughput, and resource utilization, including database interactions (e.g., MongoDB sharding, ClickHouse optimizations) and network architecture.
- Enhance system observability, incident management, and operational excellence by implementing comprehensive monitoring, alerting (e.g., Grafana, Prometheus), and refining production SOPs.
- Collaborate closely with product managers and scientists to translate business requirements into technical designs and ensure seamless integration.
- Champion code quality through rigorous code reviews and adherence to best practices in system design and implementation.
- Mentor and guide junior engineers, fostering their growth in backend development best practices, distributed systems, and agile methodologies.
- Actively participate in on-call rotation within the Backend team to maintain product reliability and scalability for critical serving services.
- Contribute to a culture of continuous improvement, initiating team-level technical discussions, process enhancements, and knowledge sharing.
About You
3-5+ years of hands-on experience in backend software development, particularly with high-performance, high-concurrency systems.
Proficient in one or more of the following languages: Go, Python.
Strong experience in system design and architecture for scalable and distributed systems, especially within a Linux environment.
Good understanding of Network API Design (e.g., RESTful APIs, gRPC) and experience with message queues (e.g., Kafka, Pub/Sub) for data pipelines.
Solid knowledge of SQL/NoSQL databases (e.g., MySQL, MongoDB, Redis, ClickHouse, PostgreSQL) and experience with database optimization and scaling strategies.
Familiarity with DevOps practices, including CI/CD pipelines, Docker, Kubernetes, and cloud platforms (AWS, GCP, or Azure).
Experience with observability tools (e.g., Prometheus, Grafana) and implementing robust monitoring and alerting.
Proactive, excellent problem-solving skills, and strong communication in a cross-functional team setting.
BS/MS degree in Computer Science or a related field.
- Demonstrated ability to refactor complex systems, improve performance metrics (e.g., latency, error rate, CPU usage), and optimize resource utilization.
- Familiarity with A/B testing frameworks and supporting customizable configurations for model iteration.
- Hands-on experience with deploying and serving machine learning models in production environments.
- Exposure to ad-tech or recommendation systems is a plus.