What does it take to create a new coin? How many skills are involved?
I know wallets are usually written in C++, so I'm studying this language like crazy. Moreover I obviously study the block chain technology.
What else I need to be able to create a new coin? Which other skills?
Are you intending to create an entirely new algorithm or just use one of the existing ones like SHA-256, Scrypt, X11, etc? If you want to create a new algorithm, then understanding cryptography in detail is an absolute must. Honestly, while learning C++ will certainly help you to understand code that's already written, it won't help you to know how to create your own coin. You need to understand peer to peer concepts, networking, threading, hashing, GUI, memory management, pointers, ... the list goes on.
If your intention is to simply mimic an existing coin by changing a few things here and there like block generation time, reward, etc, then that's a far easier task. As was mentioned, there are already coin generators out there that do all the work for you.
By the way, there are wallets that aren't written in C++. While the core software of the coin typically is, and the default wallet UIs of the coins are, there are other lightweight wallets written in other languages. For example MultiBit is written in Java.