Maybe make it your goal to develop something smaller than Whatsapp for the start ... maybe a very simple app, which requires some sort of client / server communication, and consists of an Android client, and a server application running on a server, which can be reached over the network (of course the server application won't be an android app). Have a look at this:
After getting acquainted with that you will have to learn about some protocols like for instance Jabber (en.wikipedia.org/wiki/XMPP, for icq or skype the specs are closed making things difficult). And providing such services on the server side can become even more complex. To handle potentially thousands of requests simultaneously, for instance the shared nothing architecture can be deployed, which handles requests in a decentralized way using multiple servers.
But for a simple chat program, which you'd like to implement just for fun, the above tutorial might be enough.