It's definitely something we as readers love, but how exactly do you accomplish this? Well, drop me a message (it can be private or on here) and I can help you make your character come alive! Some basic tips:
~ Don't make them with no flaws at all. No one is perfect. Are they an artist? Maybe inflate their ego.
~ Make the character struggle with their flaws. Everyone does whether they admit it or not. Maybe even resolve the flaw by the end of the story for some added encouragement to readers
Honestly, I feel that his personality is fleshed out to the point where he's shy enough. All you need is to write him in situations where he is just… there. He's a part of the story, just not interacting because he feels that he's got nothing to say. Also, I would highly recommend the website 16personalities because you just take the test or enter the combination and you get a ton of useful information for the personality section. It has helped me immensely with my characters.
Make the story from his perspective, or have chapters where the narrator focuses on him Rick Riordan does this well, where chapters center around one character specifically and they react to the others' thoughts and feelings with the reader. The story could be from his perspective, but have everyone else (including the narrator) do the talking. He doesn't have anything to add, everyone else has already said it. He doesn't want to repeat anything that they already know, it would just waste time. If there's something missing from the conversation, he would chime in. If someone asked his opinion on a topic, he would give an informed response because he was present and soaking up information like a sponge.
That would also make for an interesting exchange, where an outsider thinks that he isn't paying attention or is dumb (both in the non-speaking and non-intelligent ways), and then he verbally trounces them!