In my opinion, all skills in learning English have the mutual relation.
If u wanna be a perfect English speaker, u should also give time for listening. When u listen to native speakers say, u naturally want to imitate them. The more u listen, the better and more correct ur sentence stress and pronunciation u have. Then u have to practise speaking. If u feel shy, speak to urself with a mirror. But i think u should join an English speaking club/class. Then maybe u will discover that u r better than u think and it will give u more self-confidence. One way of practising speaking tip that i got from my Australian teacher is using a cassette or recorder, which can record ur speaking. Then Prepare a speech and say it as if u were standing in front of audience.
If u want to write better, first u need to read, as much as possible, to catch and absorb the English/American thinking in articles. Then join Talking Point, the forums here in this site is a good place 4 u to write out ur thoughts.
Best wishes all