What knowledge is important to a software professional? | Synapse