The Senior Software Engineer: 11 Practices of an Effective Technical Leader