There was a question about the ways a programmer can take to grow above programming job (What are possible career transitions for a seasoned software developer?) but I haven't found any information about what should a manager do with one who purposefully doesn't want to get away from programming yet asking for his/her career development.
One commonplace answer to that is so called horizontal growth when an employee sets his hands at more and more complex projects, and learn and apply new technologies to reach the business goals.
The peak point an employee can get to, in a traditional hierarchy, is a (programming) team lead.
In the company, the main career path is through team lead into management position, either product development (which I see as extremely business-related) or people management (which is too humanitarian thus may not be interesting to a software engineer). There are certain roles which are dedicated for deeply proficient and are related to engineering, such as software architect. The company structure is flexible (though not longing for anyone to claim oneself a made up title) and is capable of adding some roles in case those are dedicated to measurable results and show that the employee is an expert.
What career development path should I advice to such an employee? And maybe not just titles but new responsibilities (e.g. manage a knowledge database) and opportunities (contribute to open source, get 20% time off, etc.)?