Job roles of software engineer