Not to argue but at some point, the argument given by your friend is somehow true since bitcoin transactions are publicly available to be viewed by masses hence it is called blockchain as a public ledger though -- to maintain transparency. Here is a quote from satoshi regarding transactions.
When you send to a bitcoin address, you don't connect to the recipient. You send the transaction to the network the same way you relay transactions. There's no distinction between a transaction you originated and one you received from another node that you're relaying in a broadcast. With a very small network though, someone might still figure it out by process of elimination. It'll be better when the network is larger.
If you send by IP, the recipient sees you because you connect to their IP. You could use TOR to mask that.
You could use TOR if you don't want anyone to know you're even using Bitcoin.
Bitcoin is still very new and has not been independently analysed. If you're serious about privacy, TOR is an advisable precaution.
It is obvious that the transaction volume are much bigger right now but it is not enough to be considered as a factor for anonymity if we are still dependent on using exchange and custodial wallet which requires KYC in which we cannot taken back and will probably be tied permanently to our own identity.
bitcoin transaction are not anonymous but rather pseudonymous by default and I think no one can achieve a hundred percentage of anonymity, your choice are only to increase you privacy efficiency by using tools that can obscure internet activities.