Salesforce is looking to solve the problem of delivering billions of messages daily across Email, SMS, and Push channels, and is seeking a Lead Software Engineer to modernize and maintain its robust, highly scalable, and performant systems.
Requirements
- Proven Expertise in Software Development: 10+ years of experience in developing high-performance, scalable software systems, with deep knowledge of object-oriented programming and proficiency in multiple programming languages, particularly C/.NET for middle-tier development.
- Database Proficiency: Strong SQL skills with extensive experience in relational databases like Microsoft SQL Server.
- Systems Architecture and Microservices: Strong understanding of microservices architecture and distributed systems, with experience in designing, implementing, and maintaining scalable, secure, and highly available services.
- Software Development Best Practices: Deep understanding of software development best practices, including Agile/Scrum methodologies, version control systems (e.g., Git), CI/CD pipelines, and test-driven development.
- Problem-Solving and Collaboration: Excellent problem-solving skills, attention to detail, and strong communication and collaboration abilities.
- Massive Scale Send Engine Expertise: Experience in building and optimizing large-scale send engines, leveraging Kafka for message processing, and ensuring efficient workload distribution, event-driven architecture, and system reliability.
- SaaS and Cloud Infrastructure: Experience in developing SaaS applications over public cloud infrastructure (AWS, Azure, GCP) with a deep understanding of cloud services, containerization, and orchestration technologies (e.g., Docker, Kubernetes)
Responsibilities
- Build and Innovate: Develop new and exciting components that drive scale and efficiency in an ever-evolving market.
- Lead by Example: Contribute to and lead architectural design, implementation, and testing efforts, ensuring the stability and scalability of our platform.
- Hybrid Engineering Model: Engage in all phases of the software development lifecycle, from design and implementation to code reviews, automation, and testing.
- Microservice Architecture: Build efficient components and algorithms within a microservice multi-tenant SaaS cloud environment, optimizing for performance and scalability in a distributed system.
- Automation and CI/CD: Embrace and enhance our CI/CD pipelines, automating the development lifecycle to streamline deployment and integration processes.
- Cross Team Collaboration: Work closely with cross-functional teams, including product managers and other engineering teams, to deliver exceptional sending experiences that meet and exceed customer expectations.
- Mentorship and Growth: Mentor and inspire team members, particularly junior engineers, through code reviews and dedicated sessions.
Other
- A related technical degree required.
- 10+ years of experience in developing high-performance, scalable software systems.
- Excellent problem-solving skills, attention to detail, and strong communication and collaboration abilities.
- Proven track record of mentoring junior engineers and contributing to a culture of continuous improvement.
- Ability to work in an agile environment with daily stand-ups, design sessions, code reviews, and sprint demos.