You sound exactly as I did 12 years ago, right down to the rationale and the description of the employee.

If you haven't fired this engineer yet, or started moving in that direction, feel free to contact me directly at eengstrom@gmail.com. I'm happy to talk through it with you. I am not an HR generalist or a lawyer; I am a seasoned manager with over 20 years of experience who takes his responsibility to team and company very seriously. I can tell from reading your post that you are clearly struggling with this.

While I do agree with portman's advice below as it clearly shows experience and thoughtfulness, I disagree with most comments in this thread on several principles:

1. I hire quickly, trusting instinct.
2. I fire very slowly, if at all.

One key trick to understanding humans and being successful with them is that despite marketing demographics we are all motivated differently and relate and filter things differently.

Each time you make a decision to let someone go, ask yourself whether the employee failed or whether you did as their manager and leader. There are clear cases where a person shouldn't be in your organization, but practice and experience has taught me time and again that an employee's failure is the direct result of bad leadership, laziness or a lack of character - in the manager.

Clearly the person was qualified enough to obtain the position. Everything after that is up to the managers and leaders in your organization. If the person just isn't fitting in, can't offer value for the cost, at least make sure after you've sacked them that you understand what about that person misled you in the hiring process.

Years ago I built several organizations and led each for over a year. One hire of the last company constantly irritated me, I mean really, constantly bounced up and down on my last nerve, cutting away with a hacksaw...

1. I was not understanding what this employee needed from me to be successful in assignments, or even about what I expected in terms of work ethics and acceptable use of time at work.

2. The employee understood that I was dissatisfied but I was giving him mixed messages by not being frank with him. I was trying to over manage his problem, which wasn't a technique that worked.

3. I was not fair with this person because I treated him the same way as the rest of the team. A big mistake considering that two team members were total rock stars, upbeat, proactive, interested and fully aware of how lucky they were to have their position. I really, simply, didn't know him nor did I really make time to get to know what made him tick.

So I started to work on his separation process and as a part of it, I pulled a few members of the team aside and asked them what they thought. No one really had a problem with him, except that, shockingly enough, he didn't seem to understand my direction and wasn't able to make progress.

One of my .. hah .. junior developers said to me, "Hey, Robert is just the kind of guy that needs a list.". Since Robert was on a team of people that generally needed less input that the rest of my departments, I was kind of put off by such simple feedback.

So, I started shifting assignments to Robert that were moment to moment, short tasks and within weeks we had his productivity up, I had learned a valuable method of evaluation and had realized fundamental gaps in my own skills and abilities as a leader. Within a month, Robert had taken over as a team floater and input/output guy. The entire technology wing of the company came to rely on him five or six times a day; when you're building a tech and a market at the same time under pressure and on tight budgets, this was invaluable.

Basically Robert became the technology group's go to guy for anything from packing up deployments to testing functionality to scripting self-tests. You name it. The key was understanding that Robert needed short term accomplishments, measurable tasks and in a short period of time, he and I and his manager learned a very rewarding style of working together.

At the end of the day, properly utilized and managed, Robert became a star in his own right. If engaged, he would easily get jobs done faster than anyone else in the company, and while needing more maintenance and direction than other team members, he was a huge savings in time and distraction for so many others.

Don't fire your guy until you've had a chance to analyze why there is a breakdown. You're doing yourself, your initial impulse on hiring him, and the employee a disservice.