Skills needed to make a program