Hot answers tagged

122

There was once a question around here that contained this kind of information, and the piece that stuck with me the most was don't touch their keyboard In short, tell your junior how to accomplish what they are trying to do, but do not do it for them. But in addition to that, here are some other tips: Encourage Google (or any other search tool). If you ...


39

Give him the chance to shine I've actually had a very similar position for some time but now I think I'm making some progress with the developer. I think in the end it will only be a case of commit shyness but I just told him "I need you to commit and push to the server so I can help you better if you get stuck, and you can help me better to oversee the ...


34

I think it should be encouraged but not required; seniors shouldn't be assigned to juniors or anything like that, or else you'll end up in Dilbert-land. The "mentor-mentee" relationship requires some level of friendship at its core, as well as a healthy dose of MUTUAL respect. You don't get that by just telling to people to go off and "ment".


25

Some hints: Learn other languages. Then compare them to the language(s) you already know, and try to look at the ways you can improve your coding skills in those languages by using things you learnt from other languages. "Free your mind" before learning those new languages, and don't try to simply clone the concepts of one into another. Read code. I don't ...


21

I have about 4 years of experience, and I can tell you from my experience as a junior developer what I wish I had in terms of mentoring. It seems that you are actually describing the type of developer I was when I started :) Essentially you want to encourage them to learn. Some people think that after they are done with college, they don't have to read ...


21

Anywhere from 0 to 5 or 7 (or so). Arguments for the low side: Not everyone is set out to be a mentor. I have worked with some developers who were so gruff that they would have scared someone into a new career. If you expect the senior devs to maintain the same level of output, then keep the number low. Arguments for a higher amount: Some devs ...


20

should it be part of the culture that senior developers are paired with junior developers as mentors? Yes. organic and spontaneous, i.e. not required, but allowed to develop without artificial encouragement I won't happen often enough to actually help anyone. Folks with existing relationships in the organizations will be perceived as cliques or ...


19

I had an experience like this with a junior programmer. I'll give you the anecdote, along with the obvious warning that what worked for her wouldn't necessarily work for anyone else. Her problem was that she had never had to deal with anything in college that wasn't a toy system you could reasonably be asked to do in a homework set. And so when she faced ...


16

Depending on where he went to school he may not have more than a few months experience doing very trivial things in one language. That can be fixed, but make certain it is worth the effort. It sounds like you need to tell if he can be salvaged or not. put the code away for a little while explain a small to medium sized problem that exists in the project ...


12

I recommend the following guidelines: Involve the junior developer in your design meetings and solicit his input. This will get him thinking about the big picture, even if he is not ready to do the high-level design himself. Try to isolate and clearly define a module of the application to assign to the junior developer. Describe in writing what the inputs/...


10

Ask leading questions back to steer him to answers rather than simply telling him (well you can tell him some basic things like what the server name is and what database stores the information). Show him how to find his answers. And never rewrite his code when it is wrong, tell him what is wrong and expect him to fix it. You get what you expect. You don't ...


9

No more than two per senior developer if you are hiring people straight out of college. The recent college grads I've had to deal with in the past have a good understanding of the basics, but they had no idea what it was like to program in the business world. You will you have to spend time teaching them how to program professionally, it is quite a shock ...


8

The traditional meaning of a "mentor" somewhat defies assignments. You might as well try and assign friends. It is fine, in my experience, to assign a new team member to use an established team member as their primary contact for questions during the first week, month, or so.


8

I always make sure the developer wants my help, and I take great care not to go deeper into explanations than their patience can tolerate. Like everybody, I love the sound of my own voice! I treat them as equals, and make sure to ask their opinion as often as I sound off. Catch them doing something right and let them know. I always learn something when I do ...


8

My main solutions to that over the past 2 years have been: networking socially: I have particularly found that meetup.com is a great way to find programming groups in your area. Twitter is also great for this. When you find people you like and respect, follow them. Using http://www.stackoverflow.com I initially used it for occasional questions. Now it ...


7

I'm a junior developer and I think that my mentor deals with these things very well. Generally, he will tell me a couple of ways to do something, but not how to do it. Then I used to sit there and try out both ways, and decide which was the cleanest solution to the problem. Also, if ever he was doing something that might be useful to me, he would call me ...


7

Should senior developers be required to mentor junior developers? Absolutely not. Some good senior developers are going to be horrible mentors and the matchup of personalities is a must have for successful mentor ship. I think, however, that senior developers should be required to make something about the development team better. That could be ...


7

Depending on the task given, I'd be tempted to take a few different approaches: Ask them what would they try next to complete the task. This can give an idea of where from the "I don't know what to do" to "Well, I would try this but..." category are they in terms of having their own idea that may be useful for a starting point. Take a quick look at what ...


7

If you have a lot of juniors coming in, let's say >30, it might be worth it to dedicate a senior developer to mentoring them full time. At my first job they hired about that many of us fresh out of college and had a dedicated team member helping us learn the ropes for the first 6 months. It made the transition a lot easier and he taught us a lot. Not only ...


7

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. ...


7

What about: Advanced books Users Groups Conferences Check out also answers to How to Really Master a Programming Language


6

it he's incompetent, do not protect him - you're doing your client no favors by stringing along someone who cannot perform sorry to be harsh, but that's business; not everyone with a degree makes a good programmer that said, if you want to help him improve suggest that he participate in code katas, join a local user group, try coding competitions, and in ...


6

Find out more about his background and what he is familiar with. If he has a computer science degree, presumably he has done some coding (maybe not Javascript though). Whatever language he is familiar with, see if you can explain problems/solutions in terms of that language. If he can see the similarities, maybe things will start to click. People learn ...


6

ad 1) I would do a quick review of all his changes when they are incoming to your local machine. The daily (quick) code review of new changes (of maybe even the whole team) works fine for me and you see things quickly. Sure it takes time but reviewing a single person should not be so bad. Look for a good tool to help you here, e.g. Eclipse Sync View works ...


6

It isn't anyone's responsibility to ensure that you learn other than yours. Are some companies better than others at mentoring, certainly. Are some people better at mentoring than others, most certainly. Nobody knows why you aren't getting the type of mentoring you desire and I wouldn't place the blame on the guy you think is supposed to be mentoring without ...


5

I think that making it a requirement could potentially backfire, as some people just aren't wired that way, and would be very turned off by the idea. That being said, you should identify the people that you think are suited to be mentors, and approach them about taking a more active role in mentoring (if they aren't already). This lead-by-example approach ...


5

Tough one. Unfortunately, some people get through their programming courses by the skin of their teeth, and often on the help (and code) of others, so it is inevitable that someone comes straight out of college without having the first clue as to where to begin. (I could go on and blame the educational system a bit, here, as I think there is the tendency to ...


5

One thing I've done here in my job that I found really useful was to setup a forum (i.e. PHPbb) for internal Q&A, and follow the rule that if the question and/or the answer takes more than 5 min, it should be asked and answered via the forum. The benefits: It forces the junior dev to state clearly the question, which makes it easier to answer, not to ...


5

The short version: Should interns have a mentor? Yes Should junior devs have a mentor? Probably The long version: 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 ...


5

Just because I'm reading quite a bit of hierarchy in(to) your question: Learn from the people under you. Software development is about communication, between humans, often through the medium of code. Since good communication should go both ways, learn from the people you program with. (my assumption is that you're not at a 1-man company)



Only top voted, non community-wiki answers of a minimum length are eligible