Effective ways to learn english for a non-native

Hello guys, I live in the US for almost 5 years now. What are the most effective ways non-native use to learn english. My english is not perfect but I learn new things everyday. I find it hard to speak because I’m shy and most of the time I have to repeat myself so that someone can understand me.