I work as a team lead in a fast-growing services company. There is one developer in my team who's not performing well, and unable to solve even the simplest of the problems without being spoon-fed.
I have held multiple meetings with him and even sat next to him while coding to understand the root cause of the problem. He has very good grip on Java, however he lacks the analytical skills and IQ to understand the problem at hand and arriving at a solution. When I sat with him while coding, I noticed that he has good domain knowledge, awarness about the code base, but he cannot think and get solution to the problems and was unable to fix the bugs. He's also a comp sci., graduate. He knows that he is not performing well and I have tried motivating him, punishing him etc. He does spend a lot of effort and he is also focused. But there is no improvement in his performance.
Now, he's asking me for suggestions about what kind of job should he go for. He's very hard working and focused, it's just his inability to solve problems that is preventing him from performing. Should he be sent into software testing projects? Should we suggest him to go into technical support? What suits him the best based on the problem he is facing? Perhaps a technical writer job or something like that.
Please let me know your opinions on this, so I can advise him appropriately.