Different roles you can have on your software development team