I am a Jr. ASP.NET/C# Developer and I have been working with a Company for the past 9 months. I have been appointed to try and develop their Legacy System (built in Visual FoxPro) in ASP.NET/C#.

I am the only developer working on this project and it's a bit overwhelming, but I complete the tasks assigned to me within a reasonable time frame using Google, SO and other forums as references.

My senior developer is a FoxPro developer and has very little knowledge of .NET. I do not get any sort of help from my Senior developer. I am working completely on my own.

By working as a solo developer I have learnt quite a few things and feel like I am moving forward. However as I am working alone I feel that there are so many things that I might have missed out on having not worked in a team.

I feel I need someone who can just guide me on do's and the don'ts. I feel the need to have a mentor who can help me with the many questions that I cannot ask on SO or earch on Google.

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
If this question can be reworded to fit the rules in the help center, please edit the question.

1

I am not sure that programmers is the right place for this question. Maybe The Workplace is a better fit. Anyway, I would say that both experiences (with & without mentor) are worth getting.
–
SimonAug 21 '12 at 12:11

1

IMHO, everyone, junior, intermediate and senior should have a mentor. A peer they can work with, and who can help them and advocate for them when necessary.
–
CaffGeekAug 21 '12 at 13:32

see also: How to salvage my internship"...no one on my team, in the building, or even in the neighboring locations has any background in software development.... This is especially troubling for me since I'm not very confident with my development skills in the first place..."
–
gnatJun 18 '13 at 6:16

5 Answers
5

When I started, I didn't have a mentor as such. I was assigned to a guy who would leave the place in three months and told to pick his brains to learn as much as I could. What have I learned? Working in a place without any knowledge management strategies sucks.

Since then I've been assigned a bunch of interns / trainees / new people and told to mentor them. What have I learned? You cannot get anything done when someone is constantly nagging you with questions that SO or Google would answer within 15 seconds and the reluctance to ask such questions is very low if you're declared mentor. Most resources they need are available on our wiki (yes, we learned a bit in between) and for the remaining questions (not covered by either local and web resources) are few and far between.

I think it is very important to give some guidance to new devs. I schedule about the same time for code reviews with new people as it took to write the code in the first place, and those are where most of the teaching takes place. Whenever possible, we try to pair them up with experienced devs / testers for a specific task. However, I thoroughly dislike being or assigning 'mentors' on a long-term basis.

Edit: One point I forgot. Junior devs shouldn't be left hanging on some solitary fringe of a project or - worse still - an project unrelated to everyone else's. Try to talk to someone up the chain to be moved to a part of the project where you can interact.

+1 for sharing your experience.A mentor to me will b a person who can atleast help me or guide when I am stuck.Rest of the times Google or SO will do that for me.Thanks.
–
priyank patelAug 21 '12 at 12:32

Mentors should exist, but they are like the people on SO. They should not be used as a primary resource, but rather as a safety net when you can't google whatever it is you are banging your head against.

Examples:

Some very specific problem that nobody else outside the company knows
about.

Some bizzare errors that nobody has heard of (in most cases this is just a missing file, library or misconfiguration of IDE or
something like that).

I'm in my third internship right now, and the only time I go to my mentor is when I feel that I am stuck or when I need his input to take a product decision.

A golden rule is to never ever go to your mentor before you have researched possible answers to whatever questions you have. Even if it is company-specific, most of the time there are some docs laying around that some poor ex-intern has made for exactly this problem.

Your Questions:

Is it normal to feel this way or I am just not doing enough?

Yes to the first and if you don't get some proper mentoring, the second part might also be true.

Should I consider a job switch in such circumstances?

Hard to answer, but if you don't like it, leave it. On the other hand, you are supposed to be out of your comfort zone. Otherwise it's just stale and boring, no?

How important is mentoring for a junior developer?

Can't answer since I haven't been one before

How important is for a Jr. Developer to work in a team?

Interns normally don't get to work in teams. This is both frustrating and alienating to a certain degree. I have been lucky in that regard and have always been placed in a team, which have had specific project goals and a clear long-time plan.

I imagine the same is true for junior developers. The point is that we are social creatures. While it might be fun to do a solo project on the weekends, in the long run most prefer teams.

I think that a mentor and work team are very good for a young developer as he learns and becomes better and more knowledgeable.

That being said, I also think that we have so many good sources of knowledge nowadays, that if you are really an eager and passionate developer, you can develop yourself a lot by yourself and with the help of google and SO of course.

So make the best out of this situation, you can still learn a lot.

I think that your wage and working hours shouldnt be part of this question... it is unrelated.

Having a mentor is a great thing, but in many situations you need to find your own mentor, and not necessarily a senior person where you work. Also, different people mentor in different ways. One otherwise excellent mentor would come in early to work to take hardware out of my PC and add it to his. He didn't exactly take me under his wing. I still learned a lot from him by reading his excellent code and asking him questions, usually the "why" type question, wanting background for why something worked the way it did.

Check out your local users groups (if there are such things for ASP/.NET/C#) or even your local Java users group which is the most similar language to C#. Sorry to be negative, but Microsoft technologies seem to have much less "grass roots" support resources like users groups than open-source or even cross-platform technologies. If you change jobs, you might want to think about that.

At the same time, no single mentor will know everything. As frustrating as it can be, teaching yourself from books is a critical skill. Manuals are boring, but developing mad kung-fu coding skills is cool and to do that you have to cultivate a taste for boring manuals. Just like you won't become a body-builder without lifting weights.

Find the best tech bookstore in your area. In Boston, the MIT bookstore is pretty awesome, but probably not for Microsoft technologies. In South Carolina, I trek almost an hour away to the Barnes and Noble with the big tech section a couple times a year and browse for a few hours to find just the right book.

Good luck. The desire for a mentor will not go away when you become more proficient and a good mentor becomes harder to find. Cultivating a network of valued opinions is a skill you will need to carry with you through your career.

Please also do not confuse your want of a mentor with a lack of confidence which is another serious hurdle for many programmers. You may have to trick yourself to skip the part of each task where you wallow in thoughts like, "I can't do this" and just learn to do it anyway and fix it to make it better after you get something working.