Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am a junior developer in my first work experience after university. I joined the company as PHP developer but I ended up developing using C# and ASP.NET. Right from the start I did not receive any training in C# and I was assigned with ASP projects with quite tight deadlines scoped by Senior developers. The few project hand overs I had from other developers were brief and it looked like I had to discover the system myself, in really short time.

This is my first job as web developer and I wonder whether it is normal not to have a kind of mentor to show me how to do things, especially because I am completely new to the technology.

Also, do you have idea how to tackle this? As you can imagine, it gets really frustrating.

share|improve this question

closed as off-topic by ratchet freak, Snowman, Ixrec, durron597, GlenH7 Oct 12 '15 at 21:47

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – ratchet freak, Snowman, Ixrec, durron597, GlenH7
If this question can be reworded to fit the rules in the help center, please edit the question.

Ask one of them to mentor you. Maybe they can come up with a better SO user name. – JeffO Jun 30 '12 at 13:17

Typically, when you join a company you're employed as an engineer to work with whatever technologies and systems they use regardless of whether you have any previous experience with it or not. Companies know when they take on juniors, that those people are most likely going to need to spend considerable time learning and making mistakes. I expect your manager has employed you with the hope that you're a fast learner; I doubt they took you on to be a specialist in one particular technology which you already knew beforehand.

However, unless the developers around you had also been part of your interview/selection process I expect those people have no idea exactly what your skills/experience are, they're probably just treating you as another junior member of the team and sharing out the workload, assuming that you've got at least a little knowledge to get started with, then learning the rest as you go .

All senior developers were juniors once, and most likely wouldn't deliberately give you anything which they thought you'd not be able to cope with (As seniors, they'll be aware that the blame will fall upon them if they've not been keeping you in check). Best thing is to be open about it as early as possible to them and to your direct manager/supervisor. The project managers will be interested in the work getting done on time, and someone will do something about it if they realise that you're unable to meet those deadlines on your own (However if you leave it so long that the deadlines get missed, then you'll be taking the brunt of the blame - and you definitely don't want to get into that situation!).

You need to be honest about it to everyone you work with/for, and then treat it as a fast-paced learning experience. Someone in the company will have the job of managing the engineers, and it will be in their best interests to find a way to help you cope (even if that ends up being a steep learning curve for you, you'll hopefully benefit from it in the long run).

share|improve this answer

The few project hand overs I had from other developers were brief and it looked like I had to discover the system myself, in really short time.

Welcome to the world of work! Unlike school and university, a lot of companies don't have "orientation" or "newbie week" and you will be expected to figure things out by yourself and hit the ground running.

This is my first job as web developer and I wonder whether it is normal not to have a kind of mentor to show me how to do things, especially because I am completely new to the technology.

Its unreasonable of them to expect you to develop in .NET if you applied for a PHP position. If that's a deal breaker for you then you should leave now while you are still likely on some sort of probation period. If you are ok with working with this technology then stick with it.

Also, do you have idea how to tackle this? As you can imagine, it gets really frustrating!

It can be frustrating, but on the flipside people probably don't expect much from you which is something you will miss once you do learn the ropes and the company starts to rely on you more. The benefit of the environment you're in is that you will build your work ethic and self-reliance which are two great skills to have for your career.

If you would prefer a role where you always have someone watching you telling you what to do then you would probably be more comfortable working at a larger company.

share|improve this answer

On one hand you are (lucky?) to get the job, but on the other hand, you are kind of, in the wrong position. It is not common to have zero experience and be let to wonder in the same time they ask you to deliver on a dead line. ASP.NET and C# are not trivial technologies.

I was in your situation once, I joined for 1 job but was assigned to another. I had no experience in UNIX then, but I found that I need to write shell scripts and use about 5 other tools I never heard of them.

To answer your question, in my experience, this is not the norm. Also, to have a mentor is too much to ask in today's fast world (it depends on what you mean by a mentor any way). I don't know your capabilities, but it takes a long time and very hard work to teach yourself all what you need to do on the job. At least time will not be enough.

My advice is that you need to be clear with your so called senior programmer and explain the situation. Decide on a training plan that covers the tools and methods you are currently using (don't go for VS2011 features and MVVM if you are not using such technologies). Be realistic in your plan and see what the company is willing to offer. If you are keen to continue, be willing to spend a bit from your pocket on some good training.

share|improve this answer

Well it happens, but you have to be sincere and tell your senior dev about whole situation. Maybe he doesn't know about this. Maybe he was given someone new and somebody told him that you have knowledge about Asp.Net. Hopefully he is a mature person and he will make this less painfull for you and your team.

Also i think that you have to ask questions about your role in the team. Beacuse maybe your company wants to train you in this technology and they are not expecting 'real' results soon ;)

share|improve this answer
I spoke to the Head of my division and clearly said I had never worked with ASP, so she is aware of it. When I get assigned a new project I ask many questions to Senior devs but most of the time they have their own work to do and not much time to spare helping me out. I get things done in the end, but it takes twice the time and the code is not always clear. Pair programming would be great and I told the Div Head about this. Unfortunately she had never heard of it (:/) and hopefully will consider it! – lady_killer Apr 8 '12 at 20:45
So don't worry :) They are clearly accepting that you will make something twice the time and the code won't be soo clear. Hopefully you will have somekind of a codereview. Just do your job and learn as much as you can. This is a great opportunity for you to learn. – Michal Franc Apr 8 '12 at 20:47
It might be helpful to request a code review, since it may require less time than introducing pair programming to a team that's never done it before. Code reviews may be more wide-spread of a practice, as well. – Velociraptors Apr 8 '12 at 23:58

The situation is probably not that unusual, but letting you write production work with little or no supervision and guidance is stupid. The senior devs / your team should help you as much as possible to get up to speed on the technology. If not they are bound to regret it later - experience is needed to not make a mess.

I would advice your team to use pair programming to show you the ropes as quickly as possible. You should also make sure to reserve time outside of normal office hours to read up on the technology yourself - and practice (so don't work overtime on the actual job if this is not mandated).

share|improve this answer

Just do it. Real programmers learn new languages as needed. You are lucky to be getting paid to add a popular technology to your resume. If you don't know how to do something, then ask, but only after doing your own research. It's reasonable to ask questions about the application architecture. It's less reasonable to ask questions about the basics of C# and .NET. You should be able to find those answers on your own.

In my experience, mentors are pretty rare. If you find one in your early career you will be very lucky.

share|improve this answer

I was in the exact same situation :) I knew C#, but I had to ship applications coded with Delphi. It was horror at the beginning, but I kept struggling and fighting and coding all kind of stuff. What a war that was! But in the end, after a few months of coding day and night, looking through many tutorials, examples, practices and asking advice from the Senior Developers, I managed to learn the language and build the damn thing. You will do the same and you will succeed :)

Save a bookmark of this question - you'll look into it after a few years and you will acknowledge what a huge amount of stuff you have learned meanwhile. Good luck!

share|improve this answer

I don't know about culture work in your country, but in my country before I get the job, I explain to employer about my skill. If your leader give you a project and you don't have any knowledge, give him explanation about it, if he force you to take a part in project. You should request time for learning this language or someone in your team know about this language. You should talk to him for course / advice.

I have experience like you before but this book and some of my team mates give me advice and difference about C# and PHP, so I can understand about it quickly. Also this book:

Sitepoint.Build.Your.Own.ASP.NET.3.5.Web.Site.Using.C.Sharp.and.VB.3rd.Edition.Dec.2008 ( really easy to understand - compare how we write code in and C# )

Hope this help you and work with positive energy.

share|improve this answer

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