Some of these questions may be already answered in other comments, so I may be a little brief here.
They came up with their goals and I would provide input to help form a goal that was both reasonable and also one that would be a little bit of a stretch at the same time.
I consider mentoring a deeply personal endeavor. It isn't the kind of thing where I teach specific things and expect them to learn. They bring their struggles, passions, fears and all of that. So they absolutely bring me things I didn't expect. I can't go into specifics with my particular mentee though.
I was able to lay out a broad strategy with my mentee early on and set a timeline just to give gut-checks around our expectations. I was a little off on that timeline, but not drastically so. Every conversation we were re-evaluating what the next step was and if we were on the right path.
It varied quite a bit. This is pretty common. Sometimes the people I work with have things going well enough that what we talk about is something along the lines of a pure skill to practice. Other times life is a little more messy and we talk about the people side of things.
When I work to establish goals with my mentees we work to make them crystal clear and obvious to know if they're accomplished or not.
I think everyone benefits from having someone they consider a mentor. Not everyone will be a good mentor. For someone who desires mentoring I'd recommend thinking about times when you worked with someone and you found yourself considering new ideas that you may not have in the past. Think beyond that as to what qualities do they have that enabled that to happen. Look for people that have those traits and start talking to them. It may not need to be formal, but that also may be a quality you find helpful.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.