
Ask HN: Do software dev mentors really exist? - rc-1140
I ask because it&#x27;s among the first lines of advice that people give to new developers posting on the internet, and it&#x27;s easily one of the most common bullet points on those &quot;top things to do as a new dev&quot; articles, but I haven&#x27;t exactly been privy to such things since I started. The closest I&#x27;ve come to having a mentor is a (ex-)friend who helped me navigate the initial rocky pathway to getting my first job and advice on how to go forward in the field, but I don&#x27;t think we&#x27;re on friendly terms anymore after some issues within our circle.<p>I know it&#x27;s something that goes on in the wild, because I overhear snippets of conversation at work about assigning someone to mentor a junior or actual mentoring going on, but I&#x27;ve just kind of been given junior-ish tasks and told to ask if I have any questions. No one seems to know what exactly I&#x27;m going to do or where they want me. I&#x27;ve been trying to act on some of the last bits of advice that friend gave me before the social separation, but some of the pieces that were the quickest to address and complete haven&#x27;t borne much fruit.<p>I&#x27;ve gone to a meetup (planning to go to more) to try to find someone who might be a mentor or at least a mentor-like figure, but that&#x27;s been bleak as well. Is mentorship just a buzzword that internet posters use to give themselves advice-giving credibility? Will I have to switch jobs just to get one if that isn&#x27;t the case? If I do, isn&#x27;t that my catch 22: I don&#x27;t have enough experience, but in order to get it, I need to apply for a job that needs more experience than I have?<p>Things I&#x27;ve read in the past on HN:<p>- I know there are pay sites that exist, but I can&#x27;t afford to take samples on random people on random startup websites.<p>- I know someone is going to pipe up and say &quot;well you don&#x27;t NEED a mentor&quot; and then go on to cite how they made it on their own except for the long-time mentors they have but those guys don&#x27;t count
======
kat
Have you asked HR or your boss if they have an explicit mentorship program at
your new job? Also, when I'm feeling overwhelmed, and don't know what
questions to ask, I usually grab a coworker and ask "Do you have 30 minutes?
I'd like you to sit with me and review what I'm doing. I would like more
direction to get this task started/finished".

If there is nothing formal at your current place, you can try the informal
route. Ask a coworker to join you when you go for a coffee break, and
informally chat about work. Ask a few questions to see how they respond. This
process is slow, but personally I've had the most success with this approach.
(Yes, its politiking)

In my opinion, formal mentorship programs are uncommon. Usually the senior
devs are under pressure to ship and don't have the option to help the new
people (junior or not).

~~~
convolvatron
thats really a shame. i don't know how true it really is, but they say you
don't really know something until you can teach it. Some of the most rewarding
experiences I've had professionally have been finding talented but
inexperienced developers, getting them excited enough to seek out little daily
strategy sessions and watching them grow.

Organizations which don't foster this kind of relationship are really short
changing themselves. Some of those junior people turn into stellar
contributors in short order, and without a little guidance would have been
frustrated and lost.

As a senior guy I feel vastly more productive and interested spending half my
days in a series of little one-on-ones and in depth reviews then just burping
out features with my headphones on.

I've always found a good mix of new talent, growing talent, and old hands to
be the best teams. For best results have enough experienced people around that
the younger people have a variety of options to choose from and be able to
work with the mentors they get the most out of.

Thats pretty old school. Now it seems that its really all about the next two
weeks, and not about building good teams.

------
dgwight
I was extremely lucky to get to work one-on-one with someone much more
experienced than me when I was starting out. I interned at a startup and was
making the iPhone app with one of the original engineers.

I had already gotten pretty good at the slamming my head against things until
they work part. So I could eventually make something that functioned, but my
code quality was terrible.

Where having a mentor really helped was becoming more disciplined, seeing good
code, and learning new tools and services.

------
itamarst
Is there a specific problem or set of problems that make you feel you need a
mentor?

~~~
rc-1140
1\. I said it in the OP, but no one seems to know what to do with me. I just
kind of exist to look at tickets and add/remove a few lines. Meanwhile, even
the intern we just got for the summer was given a project, although it was
just kind of decided on the spot during our last standup what he'd exactly be
doing.

2\. I haven't become a better software developer since I left my first job; in
fact, I've done less programming since I joined a purely tech-focused company.

3\. The code smells I can notice in the things I do look at I mostly have no
solutions for since I don't know what a better option would be. The times I do
have an idea, I play around with it and realize that the way we have the code
is fine and I'm just trying to replace it with something New and Shiny (i.e.,
I wanted to replace the nested loops we used to search a log file with LINQ,
but I realized that not only did this not really change anything, I'd have to
start combing through dozens of tests that use this method to make sure
everything still works which would destroy my sprint schedule).

4\. I don't have an angle like I did at my last job: there was always room for
a tech solution because none existed in the first place. I was able to cook up
lots of small and useful things that had a direct impact on the workplace.
Here, just about every problem has a solution implemented already, usually a
simpler one than I had in my head. Some tools that I've seen the insides of
are definitely entrenched purely because of the sheer number of code smells
within; I thought this would be an angle because it would probably be much
easier to update if a refactor or even a replacement was worked on, but no one
can justify ANYONE'S time refactoring/remaking something that already works.

5\. I'd like to learn company vocabulary; my team continues to assume that I
know all of the jargon even after the past few times over the months since
I've been hired where I've explained I don't. I do all the usual things like
explain what I'm trying to do, why I'm doing it, and do it step by step, but
it feels like the only person who seems to get me when I have an issue is my
manager, and even then not always.

6\. Having someone who would actually be interested in getting me involved in
the company would be nice, even if it just ends up being a social thing and
not necessarily a tech thing. We don't work on anything groundbreaking and
we've got our list of defects like every other company, but just being able to
work on something and have something to even gripe about as chit-chat would be
nice.

~~~
laurentl
From your answer, I get the feeling that you need a manager more than you need
a mentor. In particular:

* if you don't really know what you should/could be working on but are feeling frustrated with your daily routine, you should bring this up with your manager.

* if you still don't know company vocabulary and don't feel involved in the company after a few months, there may be an onboarding / culture sharing issue at play.

That said, maybe you should play the "money game" (as in the movie about
baseball). It may be impossible to find a mentor who will do it all (help you
grow technically, help you find more meaningful tasks, help you feel more
socially integrated) but finding several mentors who can help with each facet
is probably easier. E.g. your manager should be in that list re. day-to-day
tasks and company culture; an outgoing coworker for the social interaction,
etc.

You mentioned that most of the team is much older than you; maybe you can
create a "filial" social relationship rather than a "fraternal" one. In my
experience, this works quite well if your coworkers are old enough to have
kids in high school/college, and you've graduated a few years ago - easy to
relate to what they're going through and reassure them that their kids will
eventually turn into fine upstanding folks just like you. Plus everyone loves
talking about their kids.

This leaves out the big one, the dev/tech mentor... But if you're not looking
for someone you can have a normal social interaction with, you can target the
grumpy beards who committed 95% of the entrenched esoteric code and ask them
about it. (Or, you know, just commit something that'll break their code. That
usually gets their attention ;)

