The essential competencies of software professionals: A unified competence framework