
Staff DSP Software Engineer
- San Francisco, CA
- Permanent
- Full-time
- Cross-Functional Collaboration: Work closely with teams across the organization (product, data science, other engineering teams) to understand their needs, offer technical expertise, and drive collaboration on shared projects related to the bidding platform.
- Depth of Knowledge: Possess and rapidly develop a deep understanding of our current technology stack, particularly the Go-based "bidder" system, its strengths, weaknesses, and areas for improvement. Stay abreast of industry trends in AdTech and high-performance computing.
- Influencing System Designs: Provide valuable insights and recommendations for system design improvements within the RTB platform, drawing upon your technical expertise in Go, distributed systems, and real-time processing.
- Understanding the 'Why': Develop a comprehensive understanding of the underlying objectives and business rationale behind our bidding strategies, feature requests, and system architecture.
- Proactive Initiative: Take ownership of identifying opportunities for new projects or tasks that align with team objectives. Proactively seek out areas for improvement within existing systems and processes, proposing and implementing solutions to enhance efficiency, performance, and reliability.
- Core Development: Design, develop, test, deploy, maintain, and improve software for our high-performance, Go-based real-time bidding system.
- Code Excellence: Write clean, efficient, well-tested, and maintainable Go code, following best practices and contributing to a culture of high-quality engineering.
- Troubleshooting & Debugging: Diagnose and resolve complex issues in a distributed, real-time environment, including performance bottlenecks and data integrity.
- Tooling & Automation: Develop and enhance testing tools and scripts to ensure system reliability and facilitate efficient development workflows.
- Mentorship (Staff Level): Mentor junior engineers and contribute to technical strategy and architecture discussions.
- 5-7 years (Senior) / 8-10+ years (Staff) of experience as a Software Engineer.
- Strong proficiency in Go (Golang) and experience building concurrent, high-performance, and scalable backend server components.
- Demonstrated ability to quickly learn and become productive in large, complex existing codebases.
- Solid understanding of software engineering principles, data structures, algorithms, and design patterns.
- Experience with distributed systems, microservices architecture, and APIs (RESTful, gRPC).
- Experience working with large datasets and data processing pipelines (experience with systems like BigQuery is a plus).
- Proficiency in debugging, performance optimization, and system scaling.
- Experience with testing frameworks and methodologies (unit, integration, end-to-end).
- Familiarity with database technologies (SQL and/or NoSQL).
- Experience with version control systems (e.g., Git).
- Ability to work effectively in a fast-paced, rapidly changing environment.
- Excellent problem-solving, communication, and collaboration skills.
- Bachelor's degree in Computer Science, Engineering, or a related field, or equivalent practical experience.
- Experience in the advertising or marketing technology industry (e.g., RTB, DSPs, SSPs).
- Experience with Kafka, Aerospike, or similar distributed data stores/messaging systems.
- Familiarity with cloud platforms (GCP, AWS) and their services (e.g., GCS, S3, DataProc).
- Knowledge of containerization and orchestration technologies (e.g., Docker, Kubernetes).
- Proficiency in scripting languages (e.g., Bash, Python).
- Experience with monitoring and observability tools (e.g., Prometheus, Grafana).