It could fail, it would take a long time setting it up and aslo it could be easily hacked.
Answer:
Proficiency with programming languages.
Learning concepts and applying them to other problems.
Mathematical skills.
Problem-solving capability.
Communication skills.
Writing skills.
Inquisitiveness.
Self-motivation.