очень долго. нужны определенные качества, да и это не для всех. я бы посоветовал сначала изучить основы алгоритмизации, дискретной математики, устройство компьютера, ассемблер , пару-тройку языков программирования , несколько скриптовых языков, устройство ОС , устройство сети , протоколов и проч.