"This is when the company took advantage of cached songs. Before today’s change, if you streamed a popular song for the first time, the client would download the song from other users, using peer-to-peer. All of this happened in the background, but it greatly contributed to making the overall user experience snappier."
"Yet, now that the company has many servers, using peer-to-peer in addition to direct downloads actually adds a bit of overhead. Moreover, the company has to maintain the peer-to-peer code base, and update it with each new version."
I might have agreed with you a few years ago but these days I see Spotify's perspective more clearly. Today I see code as a liability. Like the parts in my car it is eventually going to break in some strange way and cause me a headache. The only real solution is to never drive a car, but that's almost impossible if you want to get around. Same with code, it's a vehicle that gets a business to a destination, which is nice: bit it can also be quite expensive when things go wrong. Efficient engineering teams balance this inherent risk against the needs of the business.
Comments
This is more or less exactly why Spotify dropped P2P from its platform back in 2014.
Good summary here:
https://techcrunch.com/2014/04/17/spotify-removes-peer-to-pe...
"This is when the company took advantage of cached songs. Before today’s change, if you streamed a popular song for the first time, the client would download the song from other users, using peer-to-peer. All of this happened in the background, but it greatly contributed to making the overall user experience snappier."
"Yet, now that the company has many servers, using peer-to-peer in addition to direct downloads actually adds a bit of overhead. Moreover, the company has to maintain the peer-to-peer code base, and update it with each new version."
Really, that's (part of) their excuse? A bit lame, that. :|
What, you don’t think code has maintenance costs associated with it, just because it’s cool?
I might have agreed with you a few years ago but these days I see Spotify's perspective more clearly. Today I see code as a liability. Like the parts in my car it is eventually going to break in some strange way and cause me a headache. The only real solution is to never drive a car, but that's almost impossible if you want to get around. Same with code, it's a vehicle that gets a business to a destination, which is nice: bit it can also be quite expensive when things go wrong. Efficient engineering teams balance this inherent risk against the needs of the business.
Every line of code has a cost. The question you have to ask yourself is whether that cost is worth the return on your investment?
No code is less expensive than no code.