Technical Coach - Definition
Technical coaches help software developers to adopt better coding practices. The focus is on the code and the way it is being written. A technical coach will themselves be a competent software developer able to mentor and teach specific coding practices. For example Test-Driven Development, Refactoring and the use of Design Patterns.
A technical coach works with an individual or team of developers to help them to achieve their goals. The coach does not usually write production code or tests directly. They contribute indirectly by helping others to do a better job of writing code. They facilitate, mentor and teach.
There may be other coaches working with the same software development team who have other competencies and focus areas. For example process, product, leadership or team dynamics. A technical coach may also coach those areas if they are also skilled in them.