Something you need to do before you design software is study computer science