While leading a project/initiative, the engineer is not inclined listen to the entire context and just cares about what they need to implement, yet gives out a vibe that they are the highest contributor to the project and dismisses most things I say. Seems like they are perpetually in a rush and keep cutting me off. They are good at grasping and implementing if a very clear direction is given, although it feels like spoon feeding at times. They are very quick to re-assign the task back to me by saying "Can you do xyz?", when they were supposed to do "abc", which needs "xyz" to be figured out. As soon as they can't figure out anything very easily, they assign part task back over text! They are fairly less independent in implementing the task. Although, I am very confident that they do have the ability to be independent, they don't flex those muscles.
I don't think anyone else on the team has problem particularly, although I heard light-hearted conversations where other teammates feel like they overload them with several code reviews at once and follows up too closely by pinging them constantly if there is something they need from others. Overall, the team is very supportive and gives shout-out to them when they implement the task successfully even if that means they were being given very specific direction by for the task completion.
I am hesitant to bring up with manager, as it may be reflect that I am lacking capability to handle the situation and manager may kind of laugh it off. It's been a bit frustrating to be honest, but I want to regulate my feelings and handle this in a controlled manner.
Everything you’ve said sounds like “they are junior and still cling closely to others to guide their work”. Some junior folk very quickly move toward independence, which is generally definitional of mid-level readiness (not that alone, but it is necessary).
So this person has bad habits, and only works well when given very clear tasks, with minimal (or no) ambiguity, and nothing unexpected. At least outwardly it seems that they don’t even try to unblock themselves, but maybe you just don’t know what they are trying. This sounds like a typical junior engineer to me, maybe you have been exceedingly lucky with others you’ve worked with.
So what are you, a senior member of this team, supposed to do? I would say you need to help them see what a more effective junior does differently (try to idealize, don’t compare directly to another team member), and what someone that is close to promotion to midlevel does differently. While it should be clear that you can’t provide a complete list that, when completed, will give a certain rating or promotion, you should be demonstrating growth areas to them and having that in your own mind. Once you know the gaps, how to fix them will vary.
If you don’t know how to coach or teach one of these things, find out from a mentor or other more experienced engineer. If you try something and it doesn’t work, try something else. If certain things are bad habits, you may just need to tell them, I.e. expect turnaround of a day or more on CLs, any follow-up after 1.5 working days should be in this form. Be sure this is codified for the whole team, not just them.
Beyond all of the strategies, have empathy. They are trying pretty hard, it seems. They follow up perniciously, they request help getting unblocked immediately, and they deliver on clearly defined work. The behaviors you don’t like (and others may not) seem eminently teachable, not deep, irredeemable shortcomings. Assume they are doing their best and willing to learn until you are given proof to the contrary.
It's been a bit frustrating to be honest, but I want to regulate my feelings and handle this in a controlled manner.
I like the self-awareness here: This is the maturity I expect from a senior engineer!
Lee's advice is a great start. Have empathy and assume good intent. It seems like they're genuinely trying: Your goal is to now channel their energy into growing their skills and becoming more independent. At the end of the day, they are the junior and you are the senior. You pretty much have all the power here - Don't be afraid to use that power (responsibly and empathetically of course).
Let's take the example where they get a task to do ABC which requires figuring out XYZ. They assign it back to you. As the senior, you should respectfully push back and reassign it back to them with some sprinkles of mentorship/guidance:
Hey, I know that XYZ may seem scary to you as it's new, but I think it's best for your learning of this system to figure it out (I'm also really busy right now, so it's tricky for me to do XYZ for you as well). If you go through modules E and F and click through these methods, you should be able to figure out how it all works. If this isn't enough, let me know what you tried, where you're stuck, and what you need to figure out the rest.
There are many components in this response:
Mentorship is hard, and you have encountered one of the failure modes: Excessive hand-holding. If you are too nice to a junior engineer, they will become overly dependent on you and frankly sort of spoiled/entitled. It seems like this is your case, and I have seen this many times before (while falling into the same trap many times myself). The best mentors can straddle the line between providing help when necessary and pushing the mentee to figure it out on their own as appropriate.
Here's some more resources to help: