I don't believe Spotify has made their branching strategy public, but we can speak generally about how different branching strategies work.
Many application do not have a single branch in their code repository. The two most common approaches I've seen is a dev > test > main approach, or more commonly now, feature branches. In the latter, a team would take a branch off of main, work on a feature, then merge it back in as they complete their work, so they don't conflict with other teams.
That said, there are people who advocate for a single "main" branch that everyone checks into all day. This requires discipline, but isn't really that hard to work in. You will want pretty good test coverage of your code and people should make sure to pull down the latest code and make sure all tests pass before committing. Also, as soon as any build fails, that takes top priority until it is fixed. The only place I've seen teams have problems with this is where it is hard to tell if you have broken another part of the code or where team members aren't disciplined enough and commit code and leave without making sure it builds and tests pass.