Rather than write this article, I noticed that this article has been updated and is still relevant.
I would add that, if you want to be able to do this away from outside the network the Mac is located, you need to have administrative access to your internet router, and understand how to configure ports on your router to forward the right port number to the Mac you want to connect to — you should also make a DHCP reservation for the machine so it is a reliable connection.
If you are behind a company firewall, I doubt many Network Admins would open up and forward the ports to you without very good reason. (If they do, send them the port numbers and do not make them look them up.) The reason Network Admins are very hesitant to allow users this level of access, is because most users do not understand the huge security implications that need to be considered before opening any externally accessible ports. In short: lock down every port you do not need, limit the rights of the remote account if you can, and make the access password as brutal to crack as possible — especially if you put your machine on the DMZ.
So, it is best to just do this on a home network that you have set up Access Point Isolation on (so the computer accessed externally can only see the router). Basically, once you are allowed to remote control a intra-network device, this can be used to attack an entire internal network. When I worked as a Network Admin, there was only one exception we made to this policy of not allowing any sort of direct access from outside our network, and that was only for the CEO of our company, and only for a few days. Yup, we said no to our boss until given good enough reason, and even then we placed a severe limit on it.
That said, this article can be vey handy, and can also be used to allow Mac Techs remote access to your machine should you need remote technical support that would cost a lot more with an in-person service call. However, setting this up, might require a service call considering the wide array of variables between routers, internal networks and machines that true network techs can quickly understand.
I have tried a few iOS to Mac apps, but I am still trying to decide which, if any, would warrant a recommendation. The yearly fees of those that I have tried often put me off of even writing about them.