software career questions