questions all software developers