Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm a very lucky individual who's managed to push a job I enjoy as a junior developer (I say push as I was hired as a Business Analyst but moved into development by proving I could do the work). I'm happy with my salary and working conditions.

BUT (Seriously, why wouldn't there be a but?) the people I work with are... in a word... up themselves. I have two senior developers - brilliant minds, great work but complete knowledge horders. I feel like there's a lot I could learn from them but very little they're going to let me learn.

As I'm early in my career and really want to become as great at this as I can - how important is learning from others (outside of the Internet) at this point in my career? Am I doing myself a disservice that I'm going to live to regret later in my career by staying here and not seeking out a workplace that has people willing to teach me and help me to further my skills?

share|improve this question
Things could be a lot worse. I have twice reported to someone I did not respect personally. Knowledge hoarding ... maybe they do not have the time. Either way, work on your people skills and codinghorror.com/blog/2012/04/… Maybe they feel threatened by a younger competition ... –  Job Aug 4 '12 at 5:36
Brilliant minds are very rarely knowledge hoarders. Truly brilliant minds are happy to share. The knowledge hoarders are only pretending to be brilliant. Actually they are insecure. –  kevin cline Aug 4 '12 at 5:50
It's quite possible that they aren't sharing information simply because they don't realize that you don't already know it. As you learn more, it gets harder and harder to remember what it was like to not know certain types of information. –  zzzzBov Aug 4 '12 at 6:53
is it part of their job description to be your professor or mentor? maybe they just have no reason to spend their personal time training you, if they can't finish their assigned tasks in their on the clock time, anytime training you is their personal time. maybe they just don't think you are worthy of taking the time to train, Explain in your question why you think training you is their responsibility? –  Jarrod Roberson Aug 4 '12 at 8:53
Or like most douche master leadership they have some inerfiority complex. Especially if you a different ethnicicty/sex/race/religion. You never know where it comes from but in some countries you are safe from it. –  Rig Aug 4 '12 at 15:13
add comment

closed as off topic by GrandmasterB, Jarrod Roberson, Tom Squires, gnat, Yannis Rizos Aug 4 '12 at 13:50

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

5 Answers

up vote 12 down vote accepted

Learning from your coworkers is an excellent thing, but I certainly wouldn't switch to another job just because more skillful coworkers don't want to share their knowledge with me. This is not your only source of knowledge: there are books, Stack Exchange, blogs, etc. to learn new things, aside talking to people you work with.

It could be worse: you could be in an environment where the most valuable (by the boss) developers are morons, or just in a company where you're the best developer, but nobody cares about quality, nor about what you have to tell. You could also be in a place where the job itself is so depressing that it destroys your motivation to learn. In all those cases, moving to another company is something I would advise, even if it's not always possible or easy to do in practice.

If your coworkers don't want to share, it's not your problem, but theirs. You will always find other sources of learning and inspiration; they, on the other hand, will probably never learn how to share knowledge with others.

share|improve this answer
+1, Stack Exchange is **invaluable ** –  superM Aug 4 '12 at 12:16
add comment

You didn't mention this explicitly (or I over-read it), but did you already try to talk to those senior developers themselves?
Are you sure that they don't want to share their knowledge?

Just the fact that they don't approach you and say "sit down, kid, now I'll teach you something" doesn't necessarily mean that they wouldn't teach stuff to you.
There are many possible reasons why you got the impression that they don't want to share, some of them already mentioned by others in answers or comments.

Maybe you asked them in the past and they rejected because they had a deadline the next day and still plenty of work to do.
Maybe they worked with other junior developers before you and actively tried to teach them, but the jr. developers were reluctant to learn and didn't show any interest.
Who knows?

If you didn't already do it, just talk to them and make sure that they know that you want to learn.
If that doesn't work out, you can still talk to their manager (or maybe look for another job, if nothing changes).

share|improve this answer
Great answer. The truble in the technical domains is that most people don't have great... people skills. I myself have seen situations when the problem was that people don't actually understand the little I want to learn from you clues. You have to speack clearly and ask to be taught. Also learning from someone doesn't mean bugging them for every little thing, for code mistakes, etc. Senior developers should help junior with code reviews, with improving their algorithmic thinking, with performance issues, etc. –  Coral Doe Aug 4 '12 at 13:46
add comment

Do you have a manager above you?

You should really talk to him about this (well not if one of the senior developers is it).

But your manager (if he's a real working manager / team lead ) should help you with this.

I'm a manager myself (and I still develop) and the team makes the project. Seniors should help juniors and juniors should give seniors new idea's that the senior never thought of. (new insights from school :-) )

If a member of my team has a problem (with another member of the team or a development issue) I'll always try to help.

The team should be a engine that runs smoothly, parts should help other parts so that it stays running.

Good luck!

share|improve this answer
add comment

I completely agree with MainMa. There are a fews thing I want to add.

There is still a chance to learn from them (if there is something to learn, of course). Talk to your boss and convince him/her that it is very important for you to participate in the technical deiscussions of your seniours, because you want to know as much about the project as possible to produce more efficient code, and you gain experience becoming a better imployee for your company. In the beginning you'll probably be just listening, but some time later you'll be able to actually take part in the discussions.

There is another trick is to pull information out of them. You could try to say something incorrect about some big and complicated issue (like "you've done so, because some_incorrect_reason?") and see if they'll start arguing with you to tell you how things actually are. This approach is a little bit dangerous, but if it works it's worth the risk.

share|improve this answer
I think it's bad advice to recommend annoying other people to get what you want. However, I think your advice about being able to passively participate in the technical discussions is helpful. –  Sam Aug 4 '12 at 11:55
@Sam, its bad when you know that someone is busy and can't help you right now. But if that someone is simply greedy and doesn't want to share, why bother thinking more about him than about yourself? –  superM Aug 4 '12 at 11:58
I think your question leads us into a philosophical discussion. It might seem fair to not treat the others well because they don't treat you well, but I think that the end result is usually not good; you'll probably both end up annoyed at each other and with a worse relationship because now you're both doing something wrong rather than just one of you. The poster is already indicating that there's conflict between him/her and the senior developers, so I think this sort of behaviour would add more tension and consequently make working for the employer even worse. –  Sam Aug 4 '12 at 12:14
@Sam, I'm not saying "treat them like they treat you. Go annoy them as much as you can and see what happens". I say "try this, it might work. If it doesn't, don't do it again". The seniors act badly all the time. What's so bad in disturbing them once to see if they would take their precious time and explain what and why? –  superM Aug 4 '12 at 12:20
add comment

It is more than important to work with colleagues that share the same value that you do and are open for sharing. You would feel happier and confident to give back, as well as being a part of that team while doing your best to deliver results. Learning good/best practices by sharing is the way to learn and improve.

In addition, any work environment that does not allow you to grow professionally is does not deserve to employ you, find a better place.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.