A few key things to consider to help the thought process (since the answers aren’t always obvious):
1. Locking him in: The approach of thinking about how to ‘lock him in’ is not a great one. It is understandable that you want him to feel rooted in the position, but the best way to do this is through positive, not negative, incentives. A person’s best work is driven by opportunity, not obligation. While it may be true that this engineer is talented, you will only scrape the surface of that human capital if he isn’t properly motivated.
2. Find the “Why”: The only question that is important right now is “Why is he attracted to this other position?”. Figure out the why, to Tom’s point earlier, and you will know whether you can provide that for him. Early in one company we had a lack of structure that was challenging for some new employees, so we had to have an open discussion about addressing those concerns and also setting expectations. You have to know the motivations to know what your options are (the tools you have to react).
3. Make the Call: You can’t wait for him to decide here - his indecisiveness has had an opportunity cost within your business, has expended your time and had an impact on the rest of your team. Knowing when to fire someone, especially if it is one of the first times you’ve done it, can be frustratingly debilitating because you do truly know what must be done but the action is particularly unpleasant. Mark Suster has a great post on this that helped me early on: http://www.bothsidesofthetable.com/2011/05/26/startup-mantra-hire-fast-fire-fast/
I know this can be tough so here is a link for a free call - happy to chat for a few minutes and walk through it: https://clarity.fm/bobgreenlees1/water8790