Breaking The Code: How to Hire and Retain Software Engineers