Doing this properly is a hard requirement for professional success. As a software engineer in particular, this relationship needs to be carefully navigated to achieve maximum impact.