First you spend a few years becoming a competent C programmer. Some assembly
would help as well, though those that insist on doing all their work in
assembly are generally considered "strange".
Scan the newsgroups and find the thousands of times the exact same question
has been asked ... sometimes in better English and sometimes in worse.