I am three weeks into my first software engineering job at a software company in Canada working on a windows desktop application in C++. My work consists of fixing newly reported bugs in the software, improving existing code by optimizing algorithms, etc. I work from home as I am far away from the headquarters.

I have been assigned a senior engineer to help me out in my tasks and answer any questions I might have. My question is quite simple:

What kind of mentorship should I expect from the senior engineer? I don't expect him to hold me by the hand but how can I gain the most out of his knowledge and C++ experience?

  • Your first question is not directly answerable. You can expect any kind of mentorship. The mentorship you actually get depends in part of your mentor; some "hold hands" more than others... furthermore, you can clarify your expectations by asking your boss about such... now, your second question is very answerable, so I'll edit your post so we can focus on that
    – DarkCygnus
    May 30, 2023 at 1:03
  • 1
    Remember to focus on "how can I best contribute" -- all learning is toward that end.
    – keshlam
    May 30, 2023 at 12:47

3 Answers 3


Everyone's mentorship style is different, I nearly VTC'd on that basis - however there is a question we can answer:

What can you do:

Read and try to understand before you ask a question. When you so ask a question, lead with what research you've done:

"Hey, I've reviewed the Code here and the GIT Comments and I've read about this function online - but I'm unsure what is happening here"

Try and be proactive - Within reason - you obviously don't want to go off re-inventing the Wheel, but likewise, if you see an opportunity to do something, do it. Then discuss with your mentor - sometimes you might be completely wrong but most Mentors will respect the initiative regardless

Self-Educate as much as possible - in your own time do tinkering projects, teach yourself things, try to show them that you have the drive to be a better person.

Contribute. Don't stay silent in meetings. Always try to have at least one comment or something to contribute - ask a Question. Try to make it a good question and don't drag out a meeting - but by trying to contribute, you will be getting the skills to be a better employee.

There's probably a dozen others I'm forgetting - but yeah, generally you want to try and help yourself as much as possible so that it's a pleasure and not a chore to mentor you.

  • This is really helpful advice. May 30, 2023 at 23:59
  • What does VTC mean? May 31, 2023 at 2:21
  • @geometrikal VTC = Vote To Close - when a question is out of scope or against the site rules - people with the privilege can Vote to Close. Generally a question that is unanswerable will get a vote to close. May 31, 2023 at 2:36
  • +1! I also like to follow the same stack-overflow structure when I need to ask a senior (or even with professors and university-emails): This is the problem I am encountering, I have researched these options, I have tried this and that and obtained these results (if any). I think the problem might be this but I am unsure, so I´d like you to help me out/give advice.
    – M.K
    Jun 1, 2023 at 9:57

Get them to explain the company's tools and working practices. That includes version control, build tools, documentation tools, the bug ticketing and tracking process and so on. If you do things the same way as everybody else, then things will be a lot easier.

Don't constantly ask for help. They end up doing your work for you and they won't be happy. If you have a problem, then make a reasonable effort to solve it yourself (Google and Stack Exchange exist for a good reason). Make sure you know what the question actually is; "It doesn't work" isn't a question. Make sure you ask about the actual problem, not an X-Y problem.


The first two answers by TheDemonLord and Simon B already cover some good points. I currently work as a senior engineer in a remote work situation, and I serve as a mentor. Some of my mentees are recent graduates at their first jobs. I'm not in software development, but a different engineering field†. I think the following should still apply:

Check your assumptions:

  • Every mentor is different. Asking random internet strangers what kind of mentorship to expect is implicitly assuming there's uniformity. Get to know your mentor, but be careful: Not everyone likes to be known in the same way or to the same extent.
  • Your mentor's purpose is not to develop you. It is to help develop your ability to serve the interests of the business. I would be put off by a mentee who seemed to consider me a resource to be mined.
  • Your mentor's knowledge (e.g. of C++) may not be the most valuable thing you get out of the relationship. Let the mentor and your direct supervisor help direct your development. You might need work in interpersonal relationships, documentation, attention to detail, etc.

Other suggestions:

  • Make sure the questions you direct to your mentor are not better answered your direct manager, HR, helpdesk, etc.
  • Do your best to understand the magnitude of your question before posing it. If it's substantial, make sure to schedule your time to ask.
  • Remember that your mentor is also doing his own work too. If you sense that an impromptu discussion is becoming more involved than you expected, offer to continue at a more convenient time.
  • no hello

(I may edit to add more as I think of them.)

† Electrical engineering at a consulting firm that does environmental public infrastructure, e.g. wastewater treatment.

  • Think of it in terms of what you can get out of the work experience to grow your career, not in terms of mining your mentor for everything you can get. Among other things, that difference in attitude is quite visible to the mentor... and to management.
    – keshlam
    May 31, 2023 at 22:44

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .