I always tell my Jr. Engineers that if you have to work THAT HARD to accomplish your daily tasks then you need to go back to school or go for a more newbie-friendly position.
I always tell my Jr. Engineers that if you have to work THAT HARD to accomplish your daily tasks then you need to go back to school or go for a more newbie-friendly position.
I don't think that this is very productive thing to say to someone. If the Junior Engineer is still able to produce, why do you care how much they struggled with it? If a person truly wants to grow and then struggling on problems that are on the edge of their comfort zone sounds like the perfect way to do it.
If their abilities are effecting project timelines, quality, profitability, etc then I can understand having that conversation with them but I really don't see the harm in someone challenging themselves professionally.
Using our tools of simplification, abstraction, automation and domain knowledge, it's critical to teach your juniors how to be optimistically lazy and do less. That's how we raise great engineers. Otherwise, we're just raising mid-level programmers who only know how to throw lots more code at their problem, and as I hope we all know by now, more code never results in fewer problems.
Having discipline is the same thing as having force of will.
I don't want to pass any judgement nor assume the answers to any of these questions - I'd like to see/hear/read discussion on it.