Been playing a lot of this lately, how do I get added to the community friends list?
Also, do you need a main to do well in competitive? I basically wait until the character timer is in single digits and pick whatever my team is lacking and fits the game type (Lucio or Zenyatta for attacking and KotH healers, Ana or Zen on defense maps for one example). Reached level 44 and just got my Sennheiser 598 Cs headset so going to try competitive soon, wondering if not specializing will get me rolled over or not.
Having a "main" is actually a very bad thing for competitive. You want to have a role you main and a few characters you specialize in, and then you want a few characters you can play outside of that role.
For example, if you play support you should probably be able to switch between all four, but having your Ana or Zen be more heavily practiced than the other two is generally fine. Just make sure whatever you have prepared to an acceptable level for what you're doing.
I play DPS and can play around 5-6 characters atm at Master~ level, then a few more just below that. I also have an Ana for support, and D.Va/Winston/Zarya practice if I need tank. In desperate times I can play Zenyatta, but I'd rather not. Just using myself as an example. If I go into comp I tend to look for the McCree/Soldier/Mei/Tracer/Genji/Reaper/etc slot, but I'll happily take D.Va/Winston/Ana if that role is needed more.
Be flexible, but keep your specialized picks. Just make sure you have a wide enough range for anything. Nothing worse than being that guy who can only play 2-3 heroes max who doesn't get their main or plays into a bad comp, then they either can't switch or switch to something like Lucio that "anybody can play" and just shit the bed.
Edit: Another thing to note is the game changes rapidly, so if a meta shift or big patch hits you tend to be more well prepared. One Trick players can get high ranking, but it's kinda volatile on all fronts so I'd recommend not going for that.