{"id":683,"date":"2023-02-21T17:11:26","date_gmt":"2023-02-21T17:11:26","guid":{"rendered":"https:\/\/fde.cat\/index.php\/2023\/02\/21\/what-is-the-secret-behind-increasing-salesforces-developer-velocity\/"},"modified":"2023-02-21T17:11:26","modified_gmt":"2023-02-21T17:11:26","slug":"what-is-the-secret-behind-increasing-salesforces-developer-velocity","status":"publish","type":"post","link":"https:\/\/fde.cat\/index.php\/2023\/02\/21\/what-is-the-secret-behind-increasing-salesforces-developer-velocity\/","title":{"rendered":"What is the Secret Behind Increasing Salesforce\u2019s Developer Velocity?"},"content":{"rendered":"<p><a href=\"https:\/\/techbeacon.com\/app-dev-testing\/6-hot-industries-software-engineering-careers\" target=\"_blank\" rel=\"noopener\">From retail to healthcare to IT and beyond, countless industries rely on software development<\/a> to enhance business performance. However, to optimize software innovation and performance, companies must create enhanced environments that remove productivity blockers and deliver great experiences for developers. By empowering engineers to focus more on building new features and less on internal processes, companies are effectively supercharging developer velocity, leading to improved business results. In fact, <a href=\"https:\/\/www.mckinsey.com\/industries\/technology-media-and-telecommunications\/our-insights\/developer-velocity-how-software-excellence-fuels-business-performance\" target=\"_blank\" rel=\"noopener\">companies with increased developer velocity generated revenue up to five times faster and grew innovation by 55%<\/a>.<\/p>\n<p>Across its many development teams, Salesforce remains a staunch proponent of accelerating developer velocity. For example, in support of its product, Tableau, Salesforce assembled the <a href=\"https:\/\/www.tableau.com\/trial\/tableau-software?utm_campaign=Prospecting-CORE-ALL-ALL-ALL-ALL&amp;utm_medium=Paid+Search&amp;utm_source=Google+Search&amp;utm_campaign_id=2017049&amp;utm_language=EN&amp;utm_country=USCA&amp;adgroup=&amp;adused=Brdtest21OLDv1&amp;creative=OLDv1&amp;d=7013y000000vYhH&amp;nc=7013y0000029zDnAAI&amp;cq_cmp=8846800995&amp;cq_net=g&amp;cq_plac=&amp;gclid=CjwKCAiArY2fBhB9EiwAWqHK6qajikqiTeA8O2hBji1tmk-_euZZmSmx_rwD1kxz6sGwkmeEktIRPRoCvjIQAvD_BwE&amp;gclsrc=aw.ds\" target=\"_blank\" rel=\"noopener\">Tableau<\/a> Developer Productivity &amp; Experiences (DP&amp;E) team, who keeps developers focused on rapidly and efficiently developing first-rate code that enhances product value for customers.<\/p>\n<p>From improving developer productivity to creating cutting-edge development tools to running the release process to supporting source code migration, DP&amp;E optimizes developers\u2019 workflows from A to Z.<\/p>\n<p>Here are a few ways DP&amp;E empowers the Tableau development community\u2026<\/p>\n<h3 class=\"wp-block-heading\">How does DP&amp;E improve developer velocity?<\/h3>\n<p>What inhibits developer productivity? Basically anything that consumes developers\u2019 time or distracts them from sitting down and writing code. What is Tableau\u2019s solution? Say hello to DP&amp;E, which accelerates developer velocity across the entire development spectrum \u2014 even when developers are not actively writing code.<\/p>\n<p><strong>Powering the code-planning phase<\/strong>. Tableau subdivides developer productivity into two categories: time spent not writing code and time spent coding. How does DP&amp;E support the former? They get data to the developers, helping them understand the various taxes, including determining their defect load, advising on any customer or security defects, and provided updated versions of third-party libraries \u2014 empowering engineers to avoid surprises and optimize their planning process.<\/p>\n<p><strong>Supporting the coding stage.<\/strong> As developers write code, they have a need for speed, wanting to get signaled back as fast as possible that their code works. How long does it take for a build to get created? How long does it take to run a simple set of tests and get that information back to the developer? These metrics matter. As DP&amp;E quickly advises engineering teams about code issues and reduces the turnaround time for code feedback, developers can swiftly pivot to make the change. This helps teams circumvent the need to revisit their code later, trying to recall what they wrote in concert with newer code that depends on that code, which generates a much wider web of work.<\/p>\n<p><strong>Providing next-gen tooling. <\/strong>Developers need to write good tests that are reliable and simplify the feedback process. DP&amp;E creates the tools that teams use to create tests \u2014 enabling them understand that their code failed and why it failed, quickly diagnose the problem and resolve key issues.<\/p>\n<p><strong>Running the release process. <\/strong>Helping with releases, DP&amp;E drivescross-group collaboration towards shared release goals and coordinates the release. What does this look like? DP&amp;E ensures the Tableau teams \u2014 who work in shared code \u2014 compose code and respond to issues in the same cadence and rhythm. Consequently, teams create features as a unified team \u2014 delivering maximum customer value.<\/p>\n<p><strong>Mediating any issues. <\/strong>When developers work directly with their own team, it often results in a fruitful and seamless collaboration. However, what if team encounters a mystery bug that interacts with code across different teams? Which team owns the bug? This sometimes result in time-consuming finger pointing amongst teams, each speculating on who to blame for the issue. In these cases, DP&amp;E accelerates decision making acting as a referee, pitching in to dig through any failures that occur in the system. Consequently, as they track the bug to its source, they assign the responsible team to make the fix.<\/p>\n<h3 class=\"wp-block-heading\"><strong>How does DP&amp;E support Github source code migration?<\/strong><\/h3>\n<p>DP&amp;E tackles many behind the scenes complexities that keep developers on task for creating new features and enhancing customer value.<\/p>\n<p>For example, DP&amp;E will soon complete its source code migration from Perforce \u2014 the current source code solution \u2014 to Github \u2014 the new industry standard source code solution that many developers favor. Most of DP&amp;E\u2019s developer tooling has deep integration with Perforce and operates based upon many assumptions of its implementation. Consequently, DP&amp;E needed to examine all of its services, tests, and scripts to learn which updates would be required to support the migration.<\/p>\n<p><em>A look at DP&amp;E\u2019s multi-step workflow for validating our Github source code migration.<\/em><\/p>\n<p>DP&amp;E encountered some initial migration challenges, including lack of support for some of the very large files stored in Perforce\u2019s source code system. However, the team quickly developed alternatives for moving the files to different storage.<\/p>\n<p>Similarly, another product group was migrating from Perforce to Github, however, that team reversed their approach to avoid significant infrastructure entanglements. Instead, they are migrating the developer experience to Github and syncing those changes to Perforce, removing the need to update all of their other services.<\/p>\n<p>This lies in stark contrast with DP&amp;E, whose approach does not just focus on improving the developer experience, but also consolidating onto standard Salesforce-managed infrastructure and processes.<\/p>\n<p>Speaking of processes, aligning with Salesforce\u2019s migration protocol also presents a set of challenges that DP&amp;E must navigate for any integration project. For example, as they migrate to Github, DP&amp;E must adopt Salesforce\u2019s Code Ownership Solution, which ensures individual scrum teams own all the code. While this may sound very reasonable and appropriate, Tableau incorporates a significant amount of shared (entangled) code. What does this mean? When a code improvement touches many files, developers must wait on many different code reviewers to inspect and approve any change \u2014 without knowing exactly what the developer wants to achieve. This may create confusion and slow down the approval process.<\/p>\n<p>Consequently, DP&amp;E seeks to help accelerate the untangling of that code by encouraging and incentivizing teams more, leveraging investments like Bazel which enables fast \/ correct builds and Tableau scorecards to track the metrics of teams\u2019 advancements during their journey and rewarding them for success.<\/p>\n<h3 class=\"wp-block-heading\">Learn more<\/h3>\n<p>Keep in touch \u2013 join our <a href=\"https:\/\/careers.mail.salesforce.com\/w2?cid=7017y00000CRDS7AAP\" target=\"_blank\" rel=\"noopener\">Talent Community<\/a>!<\/p>\n<p><a href=\"https:\/\/www.salesforce.com\/company\/careers\/teams\/tech-and-product\/?d=cta-tms-tp-2\" target=\"_blank\" rel=\"noopener\">Check out our Technology and Product teams<\/a> to learn how you can make an impact.<\/p>\n<p>The post <a href=\"https:\/\/engineering.salesforce.com\/what-is-the-secret-behind-increasing-salesforces-developer-velocity\/\">What is the Secret Behind Increasing Salesforce\u2019s Developer Velocity?<\/a> appeared first on <a href=\"https:\/\/engineering.salesforce.com\/\">Salesforce Engineering Blog<\/a>.<\/p>\n<p><a href=\"https:\/\/engineering.salesforce.com\/what-is-the-secret-behind-increasing-salesforces-developer-velocity\/\" target=\"_blank\" class=\"feedzy-rss-link-icon\" rel=\"noopener\">Read More<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>From retail to healthcare to IT and beyond, countless industries rely on software development to enhance business performance. However, to optimize software innovation and performance, companies must create enhanced environments that remove productivity blockers and deliver great experiences for developers. By empowering engineers to focus more on building new features and less on internal processes,&hellip; <a class=\"more-link\" href=\"https:\/\/fde.cat\/index.php\/2023\/02\/21\/what-is-the-secret-behind-increasing-salesforces-developer-velocity\/\">Continue reading <span class=\"screen-reader-text\">What is the Secret Behind Increasing Salesforce\u2019s Developer Velocity?<\/span><\/a><\/p>\n","protected":false},"author":0,"featured_media":0,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","footnotes":""},"categories":[7],"tags":[],"class_list":["post-683","post","type-post","status-publish","format-standard","hentry","category-technology","entry"],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":877,"url":"https:\/\/fde.cat\/index.php\/2024\/06\/11\/unlocking-the-power-of-mixed-reality-devices-with-mobileconfig\/","url_meta":{"origin":683,"position":0},"title":"Unlocking the power of mixed reality devices with MobileConfig","date":"June 11, 2024","format":false,"excerpt":"MobileConfig enables developers to centrally manage a mobile app\u2019s configuration parameters in our data centers. Once a parameter value is changed on our central server, billions of app devices automatically fetch and apply the new value without app updates. These remotely managed configuration parameters serve various purposes such as A\/B\u2026","rel":"","context":"In &quot;Technology&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":799,"url":"https:\/\/fde.cat\/index.php\/2023\/12\/05\/explaining-salesforces-large-scale-migration-to-git-how-we-enhanced-developer-productivity\/","url_meta":{"origin":683,"position":1},"title":"Explaining Salesforce\u2019s Large-Scale Migration to Git: How We Enhanced Developer Productivity","date":"December 5, 2023","format":false,"excerpt":"By Patrick Calahan and Scott Nyberg As new developer productivity technologies emerge, small and nimble enterprises with newer codebases swiftly embrace innovation. Conversely, larger organizations, rooted in larger and aging codebases, face obstacles replacing legacy technologies. Salesforce faced such a challenge with its primary Source Code Management (SCM) system. For\u2026","rel":"","context":"In &quot;Technology&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":836,"url":"https:\/\/fde.cat\/index.php\/2024\/03\/12\/building-metas-genai-infrastructure\/","url_meta":{"origin":683,"position":2},"title":"Building Meta\u2019s GenAI Infrastructure","date":"March 12, 2024","format":false,"excerpt":"Marking a major investment in Meta\u2019s AI future, we are announcing two 24k GPU clusters. We are sharing details on the hardware, network, storage, design, performance, and software that help us extract high throughput and reliability for various AI workloads. We use this cluster design for Llama 3 training. We\u2026","rel":"","context":"In &quot;Technology&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":822,"url":"https:\/\/fde.cat\/index.php\/2024\/02\/06\/overcoming-complex-obstacles-revealing-tableaus-process-for-creating-new-features-and-functionality\/","url_meta":{"origin":683,"position":3},"title":"Overcoming Complex Obstacles: Revealing Tableau\u2019s Process for Creating New Features and Functionality","date":"February 6, 2024","format":false,"excerpt":"In our \u201cEngineering Energizers\u201d Q&A series, we examine the professional life experiences that have shaped Salesforce Engineering leaders. Meet Patrick Green, a Lead Member of the Technical Staff for Salesforce Engineering. Patrick supports the Project Sharing and Permissions (PSP) team at Tableau. Feature development plays a crucial role in their\u2026","rel":"","context":"In &quot;Technology&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":825,"url":"https:\/\/fde.cat\/index.php\/2024\/02\/13\/inside-herokus-new-performance-analytics-tool-improving-user-experiences-and-developer-efficiency\/","url_meta":{"origin":683,"position":4},"title":"Inside Heroku\u2019s New Performance Analytics Tool: Improving User Experiences and Developer Efficiency","date":"February 13, 2024","format":false,"excerpt":"In our \u201cEngineering Energizers\u201d Q&A series, we delve into the remarkable journeys of engineering leaders who have made significant contributions in their respective fields. Today, we shine the spotlight on Zane Whitfield, a Member of the Technical Staff at Salesforce, supporting the Heroku Front-end Developer Tools (FDT) team. With a\u2026","rel":"","context":"In &quot;Technology&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":612,"url":"https:\/\/fde.cat\/index.php\/2022\/07\/25\/its-time-to-leave-the-leap-second-in-the-past\/","url_meta":{"origin":683,"position":5},"title":"It\u2019s time to leave the leap second in the past","date":"July 25, 2022","format":false,"excerpt":"The leap second concept was first introduced in 1972 by the International Earth Rotation and Reference Systems Service (IERS) in an attempt to periodically update Coordinated Universal Time (UTC) due to imprecise observed solar time (UT1) and the long-term slowdown in the Earth\u2019s rotation. This periodic adjustment mainly benefits scientists\u2026","rel":"","context":"In &quot;Technology&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/fde.cat\/index.php\/wp-json\/wp\/v2\/posts\/683","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fde.cat\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fde.cat\/index.php\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/fde.cat\/index.php\/wp-json\/wp\/v2\/comments?post=683"}],"version-history":[{"count":0,"href":"https:\/\/fde.cat\/index.php\/wp-json\/wp\/v2\/posts\/683\/revisions"}],"wp:attachment":[{"href":"https:\/\/fde.cat\/index.php\/wp-json\/wp\/v2\/media?parent=683"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fde.cat\/index.php\/wp-json\/wp\/v2\/categories?post=683"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fde.cat\/index.php\/wp-json\/wp\/v2\/tags?post=683"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}