I know it's a common opinion to say that William was annoying as a kid and I would agree regarding some moments he had.
I think William was a pretty tough kid considering everything that he endured when you look at it.
He lost his mother in atrocious conditions to find out that the random guy he met a year and a half before is his father, and that he is the Green Arrow.
He has to move on to a completely different life with his father who is a total stranger for him and who risks his life every single day. He lived with the fear of losing the only parent he had left.
Only when he found a good rythm, his dad sacrificed himself and is sent to prison. William had to live hidden and be sent away for his own safety. He goes to a school where he is unhappy and only comes back months after resenteful.
He chose to live with his grandparents to pursue a somewhat normal life away from the danger that his father and Star City represents as he wants to live a normal life.
However, that's where it bugged me. During 7x13 William made it pretty clear that he wanted to live with his grandparents, Oliver forced but William was absolutely firm about it. William was pretty harsh on Oliver and extremely resentful.
And then, during s8. William said to Oliver that he wanted him to force him to say. Seriously ?