d.va main here (at least some seasons). D.va has tons of different things/roles she can execute, and to be good with her you need to try to identify what is needed the most.
Disrupting is one of the bigger jobs. This involves, usually identifying the most dangerous opponent from the enemy team and trying to make his/her life as difficult as possible. This is most needed when an enemy player is more or less ignored by your team, and is killing your team. So look out for a soldier, hanzo, mcree, widow alone on high ground. Remember, even if you can’t kill them, they can’t kill others as efficiently if you harass them. Make sure you survive though, or you’ll be just feeding.
Another big job for d.va is peeling. In other words, when enemy team has a flanker or a dive team, you track their movement, and try to have a rough idea of where they are at all times. When you see them dive your healers, boop them off, harass them, try to kill them or at least force them to retreat. You need to try to do this as efficiently as possible. This means that you don’t spend all your time looking at a tracer, or chasing her endlessly. Rather you need to keep battling front line (and possibly reacting to openings there), and only help your healers when they are at risk. This requires some game sense. If you just stand behind with your healers, then the flankers get automatic value even if they do nothing at all, when you’re not putting pressure anywhere else.
Making space: usually this involves going in first, or standing in the front line, making yourself the target that enemy wants to shoot at. Make sure that your own team is ready to use the space you create, cos’ otherwise you are just feeding ult charge. You can sometimes, for example, briefly run past rein shield with matrix, find a corner, high ground or fly back, so that you won’t die. It should distract the enemy team and maybe give more opportunity for your team to make moves.
Covering dives: if you have winston, or even a dps diver like genji, keep an eye out for them and if they go in for a target, you need to follow them and protect them with matrix.
When a fight starts, keep an eye out for squishy, easy to kill targets. If you realize you can focus them, then call that target on voice. Focus down rein shield only if there is good reason for that (mcree or soldier ult), and if your team composition and strategy depends on it. Or if there’s simply nothing else you can be doing.
Last but not least, you can flank with d.va, and dive for healers.
edit: want to add one more thing. When you decide what your “job” is, you should think about what has most value (not just what is the bare minimum so that people won’t flame you). Important factor here is what your own team is able to do. If no kills are happening, it is not enough that you play passively and peel for healers, or harass that big threat on the high ground. You need to go in and make big kills yourself as well. That’s when you want to setup flanks yourself. If your main tank can’t make enough space, and your dps is forced to shoot from the other side of the map, then help main tank create space and put less emphasis on other jobs. If you have an incredible mcree who kills everyone and is able to kill the flankers alone, look for something else to do than peeling.