કમ્પ્યુટર પ્રોગ્રામર, સોફ્ટવેર એન્જિનિયર