In an agile environment (the most common structure in software development) the professional class of scrum masters and analysts are often non-technical, and management is sparse and hands-off (teams are "self-organized"). Key technical decisions are relegated to senior individual contributors, allowing for CV driven development, cargo culting, and bad habits. Stories of a Microsoft VP who files a bug report and points out the line of code where the error occured could never have happened anywhere where I worked.