Most often, people makes excuses to explain why they can't speak English well. They have a job, they go to school, they have to practice sports, they have hobbies, etc. While those are all things that challenge you as you try to learn, you have to quit making excuses. You can't learn a language studying an hour a week!
So that brings us to putting in the
time. Lots of my students tell me they've learned English for years - in school as children, at a university, or as adults when they have free time.
Yet, it's not really fair to say you've spent years learning if your learning was passive. Did you work as hard as you could using English as often as possible, speaking as often as possible, not worrying about making mistakes all the time, expanding your vocabulary of useful English words? Or did you even speak at all? Did you simply sit in a classroom listening to lectures? Did you study only to pass tests and write essays only to get a decent grade? Did you expect your teacher to give you some secret knowledge that would change everything without you working?
In other words, were you passive? Think long and hard about it, because you must be an active learner to succeed.
It's ok to be scared or shy - it's ok to make mistakes. Don't be embarrassed.
Effort is all about you. You have to be your energy. You must motivate yourself to succeed. Make the effort to learn every day. Study every chance you get, even if it's just a small amount of time - it will add up. Read a book, watch a TV show, talk with that English speaker you know, talk with a stranger, find ways to make the language NECESSARY.
Forget the excuses and just be bold.
Give yourself a real chance to learn by dropping the excuses, putting in the time and giving English 110% effort.