Getting around a proxy

I'm not 100% sure if this the right place to post this but thought I'd post it here.

I'm involved in a software project where we will need to access a server written by us from a client written by us to perform some two way communication. However, although we can do this fine over a LAN, we don't know how to do it if the two computers are separated over the internet and there are proxy servers in the middle.

We'll have a setup with something like this:

Us <---> our proxy <---> internet <---> their proxy <---> them

Obviously, the IP addresses of the individual computers are not representative of the IP address we need to connect to and the IP addresses of the individual proxies aren't enough either.

I have relatively little network knowledge and programming experience (just a bit from college) so don't really know how to go about this.

I did some research over the last couple of days and found that a VPN might be the solution we need. I also looked at OpenSSH which will provide encryption which is something else we need. However, I can't seem to find anything about getting round the proxies.