BalestraPatrick

@Balestrapatrick
179 Followers
32 Following
1.3K Posts
Staff Engineer @Spotify - Ex @appbuilders_ch & @swiftalps organizer - Opinions are my own. 🇨🇭
Websitehttps://patrickbalestra.com
Twitterhttps://twitter.com/BalestraPatrick
GitHubhttps://github.com/BalestraPatrick
We just published a new post to Spotify’s Engineering blog describing how we migrated the Spotify iOS app to build with Bazel over the last year and decreased our build times by up to 4x. I hope you’ll find it useful! https://engineering.atspotify.com/2023/10/switching-build-systems-seamlessly/
Switching Build Systems, Seamlessly - Spotify Engineering

Switching Build Systems, Seamlessly - Spotify Engineering

Spotify Engineering
We're hiring an Engineering Manager in Client Platform at Spotify. If you're passionate about providing hundreds of mobile engineers with a stable CI experience, please apply. Bonus points if you know your way around and are excited by Bazel! https://lifeatspotify.com/jobs/engineering-manager-client-platform
Engineering Manager - Client Platform | Life at Spotify

Location: New York. The Platform department creates the technology ecosystem that enables Spotify to learn and deliver quickly, while safely and easily scaling to billions of customers, enabling...

Reminder to always start from a clean state when getting new a new machine if you can. I noticed many developers who restored their new Apple Silicon machine from a backup produced on an Intel one which caused it to carry over all brew binaries built for x86_64. Build tasks were way less efficient when running under Rosetta for months without anyone noticing it.
I was laid off from Lyft today, so I'm looking for work!
If you're hiring remote or in Montreal, hit me up.
12 years iOS experience, 9 years Swift.
I've worked on low level stuff (networking & databases), product stuff (built transit, bikes & scooters into Lyft), tooling stuff, open source stuff and lots of other stuff.
We are thrilled to welcome rules_xcodeproj to the Mobile Native Foundation! Read more about it here: https://www.buildbuddy.io/blog/donating-rules_xcodeproj-to-the-mobile-native-foundation/
Donating rules_xcodeproj to the Mobile Native Foundation | BuildBuddy

We are solidifying the community ownership of rules_xcodeproj by donating it to the Mobile Native Foundation.

I started writing a toot-storm, but I realized a blog post was a better medium for it. Enjoy: https://www.buildbuddy.io/blog/multiple-xcode-configurations-with-rules_xcodeproj-1-3

#rules_xcodeproj #Bazel #Xcode

Multiple Xcode Configurations with rules_xcodeproj 1.3 | BuildBuddy

The one where we added a much requested, but surprisingly difficult to implement, feature.

I had the opportunity to be a guest on the NerdOut @SpotifyEng podcast and talk about building apps at scale. We touched on many topics such as Bazel, monorepos, modern languages such as Swift and Kotlin and contributing to open-source projects! https://open.spotify.com/episode/5niSi0Q6bWUYi3yb8eWAJD
17: Building Apps at Spotify Scale

Listen to this episode from NerdOut@Spotify on Spotify. What happens when the standard tooling for iOS and Android just doesn't cut it anymore? What’s it like to maintain an app when there are literally thousands of commits every week? How do you develop your feature without worrying about everybody else’s feature, when at the end of the day, you’re shipping a single, massive app? In other words, what’s it really like to build apps at Spotify’s scale? Host Dave Zolotusky talks with Patrick Balestra, a staff engineer on our client platform team, whose job is to make sure every Spotify developer has a great experience building, no matter what Spotify app they’re building for. They talk about adopting Bazel, reducing local build times with remote caching, managing multiple monorepos and zillions of dependencies, doing big tech migrations (Objective-C to Swift, Java to Kotlin) without slowing down, open sourcing our tools, and contributing to the Mobile Native Foundation. Learn more about how we build mobile apps at Spotify: Kodeco: Building with Bazel: Online tutorial made in collaboration with Spotify BazelCon 2022: Our BazelCon talk about driving architectural improvements with dependency metrics XCRemoteCache: Open source remote cache tool for Xcode projects that reuses target artifacts generated on a remote machine, served from a simple REST server XCLogParser: Open source tool to parse Xcode and xcodebuild logs stored in the xcactivitylog format 2022 Mobile Ecosystem: Data from the Mobile Native Foundation's first mobile ecosystem survey My Beat: Patrick Balestra Mobile development posts on the Spotify Engineering Blog Read what else we’re nerding out about on the Spotify Engineering Blog: engineering.atspotify.com You should follow us on Twitter @SpotifyEng and on LinkedIn!

Spotify

We recently disabled this feature for all our iOS engineers due to it causing Xcode freezes.

defaults write http://com.apple.dt.Xcode "IDESourceControlEnableSourceControl_10_0" -bool NO

Filed FB11986493 as "IDESourceControlWorkingTreeUpdater causes Xcode hangs".
---
RT @ronyfadel
Xcode pro-tip: if you don't use Source Control in Xcode and want to save a ton of CPU cycles and battery life, disable "Enable Source Control" in Xcode Prefer…
https://twitter.com/ronyfadel/status/1623965584865263616

I still remember the night @brentleyjones shared the draft for rules_xcodeproj over a year ago. That night I got my best night’s sleep (no joke) knowing a solution for Bazel in Xcode was on the horizon. So cool to see it reach 1.0! 🎉 https://www.buildbuddy.io/blog/introducing-rules_xcodeproj-1-0
Introducing rules_xcodeproj 1.0 | BuildBuddy

How we got here and what’s next.

I’m so excited to announce we’ve released version 1.0 of #rules_xcodeproj!

For a release this important, I’ve written a blog post. Please enjoy 😊.

https://www.buildbuddy.io/blog/introducing-rules_xcodeproj-1-0

#Bazel #Xcode

Introducing rules_xcodeproj 1.0 | BuildBuddy

How we got here and what’s next.