In our “Engineering Energizers” Q&A series, we spotlight Vidur Apparao, Executive Vice President of Software Engineering at Salesforce, who leads the Developer Productivity team. Vidur’s mission is to simplify development workflows and maintain technical integrity while scaling productivity across a diverse engineering organization.
Discover how Vidur’s team overcomes the challenges of managing complexity for 15,000+ developers across hundreds of Scrum teams, scaling productivity tools to handle massive workloads, and safeguarding technical integrity without slowing down development cycles.
What is your team’s mission?
Our team’s mission is to maximize flow time and reduce friction for our developers as they build Salesforce’s most innovative and trusted products. We achieve this by providing paved paths for development that make it easy for engineers to focus on core value and innovation, rather than dealing with complex infrastructure and compliance issues.
At the end of the day, we want developers to be able to concentrate on solving complex problems and delivering value to our customers, while the platform handles concerns around trust, security, availability, and scale. Our approach involves building systems, services, and tools that support developers and remove barriers to productivity, enabling them to do the best work of their lives.
Vidur shares his passion for working at Salesforce Engineering.
How have you utilized automation, CI/CD pipelines, or other technical innovations to overcome obstacles in scaling productivity?
To enhance developer productivity, a blend of industry-standard tools and proprietary innovations is employed. The foundation includes best-of-breed tools such as Git for source code management, Jenkins for builds and testing, and Kubernetes for infrastructure management. Layered on top are automation mechanisms, guardrails, and Salesforce-specific capabilities to optimize the developer experience.
Safety is bolstered through integrated security controls, costs are managed via tagging for cost attribution, and monitoring metrics are automated. This seamless and connected approach across the entire software development lifecycle allows developers to focus on innovation while ensuring the safety and security expected from Salesforce products.
Additionally, Hyperforce, Salesforce’s public cloud-based infrastructure platform, offers an integrated developer experience with tools like command line interfaces (CLIs), Slack-based notifications, and developer portals. Hyperforce bridges the simplicity of tools like Heroku with the scalability of AWS, supporting thousands of developers and streamlining workflows to boost overall productivity.
Furthermore, AI is being integrated across the software development toolchain. This begins with CodeGenie, an IDE-based AI Pair Programmer, and extends to AIOps systems that help identify, detect, and mitigate incidents in production systems.
Vidur discusses CodeGenie, an internal AI-based tool aimed at boosting developer productivity.
What strategies and implementations does your team use to ensure that productivity improvements are scalable across Salesforce’s large and technically diverse engineering organization?
What sets Salesforce’s engineering organization apart is its scale and diverse technology stacks. With over 15,000 developers building thousands of services, our products must operate at cloud scale, handling trillions of data points and petabytes of storage. We support various languages and technology stacks, from monolithic applications to microservices.
To manage this, we use a two-pronged approach:
- Complexity Management: We gradually reveal complexity. Simple microservices teams aren’t burdened with unnecessary complexities, while more complex services have guardrails to protect developers from large-scale system challenges.
- Extensibility and Composability: Our platform is designed for extensibility and composability, with numerous extension points for diverse use cases.
By introducing complexity gradually and maintaining extensibility, we ensure consistent productivity. We use tools like Kubernetes for deployment and automated CI/CD pipelines for code integration. This approach balances simplicity and control, enabling teams to achieve their objectives while adhering to platform standards.
How do you ensure that the push for faster development doesn’t compromise the technical integrity of your codebase?
Maintaining technical integrity requires a disciplined approach to the software development lifecycle (SDLC), divided into three loops: Inner, Outer, and Scale.
Inner Loop focuses on coding and immediate feedback. Developers receive AI-based suggestions for quality, security, and accessibility improvements within their IDE.
Outer Loop involves code integration and validation for production readiness. Security scan results, quality tests, and AI-based code improvements are provided in pull requests.
Scale Loop includes global code release and service health monitoring. AIOps solutions aid in incident detection, triage, and remediation.
The approach emphasizes “shifting left,” catching potential issues early by moving testing, feedback, and validation to the Inner Loop. Strict policies and standards are enforced throughout development and production, ensuring code quality and compliance. This systematic approach accelerates development without compromising integrity, delivering timely feedback and addressing potential issues early. High development velocity is maintained, and quality is safeguarded across the organization, preserving the technical integrity of the codebase.
What metrics do you use to evaluate the success of your productivity initiatives?
We use two key metrics to measure productivity success: cycle time and developer sentiment. Cycle time measures the time from starting a task to completion, helping identify bottlenecks and optimize processes. Reducing cycle time improves overall efficiency.
In just the first half of this year, our team achieved a 30% increase in productivity, measured by cycle time. This gain was a direct result of using dashboards to identify friction points in build and test times, which allowed us to optimize and streamline workflows. We can also correlate some of the gain to addition of GenerativeAI tools like CodeGenie to our developer toolchain.
Developer sentiment, gathered through surveys and internal tools, evaluates satisfaction and tool adoption. It helps us understand how initiatives are perceived and where to improve. We also use the SPACE framework — Satisfaction and Well-Being, Performance, Activity, Communication, Collaboration, and Efficiency and Flow — to assess process optimization.
To better track these metrics and provide deeper insights into our workflows, we leverage the Engineering 360 Dashboard, which is built using Data Cloud and Tableau. It collects signals related to productivity, security, and availability, which are visualized in Tableau. By focusing on team-level productivity, the dashboard helps us identify friction points in processes and tools, enabling teams to optimize workflows and enhance overall productivity.
How has AI changed the face of the developer experience at Salesforce?
AI is revolutionizing the developer experience at Salesforce. Last year, the decision was made to create CodeGenie, an AI pair programming solution using our own model, data, and knowledge to address Salesforce-specific use cases and integrate AI across the toolchain. This has resulted in significantly improved cycle times and better quality metrics.
Initially focusing on code autocomplete, the solution expanded to include chat-based interactions in the IDE, encompassing code and test generation, code explanation, refactoring, and identifying bugs and security vulnerabilities. Current expansions include:
- Agentic Experiences: Enhancing CodeGenie to apply reasoning for solving technical problems, offering multi-step and multi-file solutions. The AI proactively suggests solutions within the workflow.
- AI Across the Toolchain: Originally available in the IDE, AI is now integrated throughout the software development toolchain, from pull requests and CLIs to developer portals, CI/CD tools, and monitoring systems.
This is just the start. The future holds continued evolution and expansion of AI tools and experiences in developer productivity. Developers remain central, focusing on innovation while AI handles supporting tasks.
Learn More
- Want to dive deeper into a key developer productivity tool? Check out how Salesforce’s Engineering 360 Dashboard transforms complex data into powerful engineering insights in this blog.
- Hungry for more Hyperforce stories? Explore Hyperforce’s template for enhancing developer workflow in this blog.
- Stay connected — join our Talent Community!
- Check out our Technology and Product teams to learn how you can get involved.