Same with the above comments: Your English will never be 'perfect'. My English will never be 'perfect' and I'm a native speaker who scored an almost 'perfect' score on the verbal section of the GRE (for graduate school). English is a very complex language, with many different varieties and dialects (from British English to Indian English to New Yorker English to Jamacian English to...you get the point). No one can master all of them.
The best thing you can do is define your goals: what do you want to be able to understand and produce, and with what depth? Try to break down your goals (e.g. "I want to be able to program in English within six months" or "I want to be able to read and understand a news article from the New York Times by January"), and work towards them one at a time.
English grammar and vocabulary can be a bit complicated - we borrow from German, Old English, Latin, and French among other languages - and thus there are a lot of irregular words and verb conjugations. Mastering the basics of English vocabulary and grammar should take about two years *if you are working at it every day*, and more time if you just spend a couple of hours a week.