Just adding a bit of an exception for what others brought up in regards to leaving some information to the imagination or to be a surprise, if it's something major about your character, pass your ideas by the GMs first. Personally I encourage players to PM me if they have stuff they want to keep hidden from their character sheets and thus other players, but if your character is in fact a secretly ultra rich baron who knows forbidden magic while being related to the Space Emperor with a pet dragon, I rather find out about it before the game starts so I can work with you to make your ideas work or explain why they don't fit or give an unfair advantage, and I certainly don't want to find out 10 pages in a roleplay about something I wasn't privy to.
Ellri pretty much covered the gist of what I'd recommend, but a lot of it just boils down to cause and effect and making a character be consistent and grounded. What I mean is if your character has skills or talents, briefly explore how they learned them. If your character has certain fears or interests, what happened in their life to develop that? Just keep that train of thought in mind while writing a character, even if you don't write down everyhing in the bio, you should always know how a character came to be. Give them a reason for being who they are.
Which brings me to keeping things grounded. Unless you're joining a game where it's deliberately over the top or fantastical, don't be afraid to make most of their experiences mundane. I think a lot of people get it in their heads they need to have a character who is exceptional at things because they don't want their characters to lose or be at a disadvantage, and I have seen way too many traumatic childhood stories full of dead parents and torture to wonder why the cute little hobbit girl doesn't go around dressing like Reaper.
Try giving them parents, a family. Figure out a way for them to go out into the world on their own accord and learn hard lessions from choices they make. Characters can fail and mess up, as well as have typical experiences and still be compelling. The best characters are the ones who still have room to grow and develop as people and learn new skills. A character who is always stagnant and never is forced to challenge their world view is kind of boring. Always let situations in a roleplay have the potential to offer avenues for different perspectives and growth.
For example, I have a character who was trained to be an assassin to infiltrate a king's court since his youth and he spent years undercover until ordered to act. Only when he did make the move, his attempt was botched and he accidently killed his only real friend he made while undercover and nearly died after being cut down by the guards and left for dead. Since recovering, he's vowed to never take a life again and try to earn his second chance at life and honour his slain friend. However in the roleplay where he is a part of a mercenary company trying to survive an invasion, he is constantly going through extreme situations that are driving him to take drastic actions and he is struggling with his moral code since he is seeing situations where taking a life might be necessary to protect the people he cares about and innocent people who are caught up in the war. He has so far been able to follow his personal code, and he genuinely is trying to act selflessly for others, but there may come a time where he will be forced to kill and he is terrified of that and the "old him" coming back in the name of survival. A big part of his story arc is seeing if he can maintain his sense of self and morality when the entire world seems to be falling apart, and a past he's deeply ashamed of may be better suited for him to protect the attachments he never expected to form and the oaths he has sworn.
Point I'm trying to illustrate with that character is it's good to have them be challenged and struggle because of their life experiences and morality, even if they're in a situation that contradicts what they stand for. I really feel like people gravitate to dark and edgy characters who were tormented and somehow turned into remorseless killers, and it gets really tiresome to read because those characters never have anything more than superficial depth in most cases and they never really change and adapt and every conflict is met with heaps of ultra violence or otherwise over the top aggression. Tropes and cliches can be done well and convincingly, but a big part is to try and take the setting into account and ask yourself how your character feels about certain things, and try and give them a variety of opinions and experiences that make them feel like a real person.
The last thing I want to mention is to give your characters flaws and redeeming factors. Maybe they're illiterate or suffering from an old injury, maybe their warrior's code is super inflexible or they're afraid of lightning and old people. Maybe despite being a master thief or highway man, maybe they are supporting a loved one or volunteer at a soup kitchen. Maybe they're creatures of bad habits and can't help themselves, and despite noble attempts to reform, they're prone to relapse or addicion. Don't be afraid to make things hard for your character; we all have flaws and shortcomings, and it doesn't make us any less unique or interesting as people.