software engineering technical assignment