This is just one broad criticism. Sometimes you use characters' dialogue to get across information about the world or backstory (especially Sharon's). This can get a little too transparently expository at times, and cause the dialogue to feel unnatural. I would think about if there were ways you could show the information - like through scenes of action - rather than telling us about it.
Also - and this goes out to anyone who reads this regardless of writing level - think hard about your characters' personalities, how to translate that personality into dialogue, and figure out what they would or wouldn't say (and how they would say it).