Software Development compare

Five tips for mentoring entry-level developers

Justin James has seen enough mentoring efforts to know what works and what doesn't. Here are his suggestions for implementing a successful developer mentoring program.

One of my TechRepublic polls covered the topic of why we hire entry-level programmers. According to the poll results, more than half of the respondents hire entry-level programmers so they can mentor them into the type of programmer they need. Unfortunately, companies often don't have anyone with the time to properly mentor an intern.

If your organization is starting or revamping a mentorship program, the following tips can help. But it's important to note that not every senior developer makes a good mentor, and there's no shame in knowing your limitations. If you don't think you can fully commit to being a good mentor, or you don't think you have the necessary skills or traits to be one, say something. It's better to admit that you aren't cut out for the task than to force yourself to do it and waste time and probably alienate a promising new employee.

Note: These tips are based on an entry in our Programming and Development blog.

1: Make mentoring a priority

I think the key ingredient in a successful mentoring relationship is giving the relationship priority above anything other than an emergency. The inability to give the relationship priority is what makes true mentoring scenarios so rare. If you don't make the mentorship a priority, new hires quickly sense they're not important. They also quickly figure out that when they go to you for help, they're slowing you down from attending to your "real" priorities. The result? They don't come to you for help, and they try to do things on their own. Basically, you're no longer their mentor.

2: Have a road map

I've seen a number of mentoring programs sink because there is no plan. Someone is hired, and a more experienced developer is assigned to show that person the ropes. The experienced developer wasn't told about this new mentoring role until 9:05 AM on the new hire's first day. The would-be mentor takes the new hire on a tour of the building and introduces him or her to a few other teams -- and that's the extent of "the ropes." The only thing the new employee usually learns is where to find the kitchen. You need to have a game plan with set goals (for the new hire and for the mentor) and a list of topics to cover; otherwise, you'll both feel lost and give up before you even start.

3: Be tolerant of mistakes

Working with entry-level developers can be frustrating. They are not familiar with writing code in a real-world environment with version control, unit tests, and automated build tools. Also, they may have been taught outdated habits by a professor who last worked on actual code in 1987. Often, entry-level developers don't realize that the way they were taught to approach a problem may not be the only choice. But if your reaction to mistakes is to treat the new developers like they're stupid or to blame (even if they are being stupid or are truly at fault), they probably won't respond well and won't be working with you much longer.

4: Assign appropriate projects

One of the worst things you can do is throw entry-level programmers at an extremely complex project, forcing them to sink or swim. Chances are, they'll sink. Even worse, they'll add this project to their resume and run out of there as fast as they can just to get away from you. On the other hand, don't create busywork for them. Let them work on nagging issues in current products or internal projects you never seem to have time to address. Once you gain confidence about what they can accomplish, you can assign a more difficult project.

5. Give and accept feedback

You can't successfully navigate a ship in the middle of an ocean without a compass. Likewise, new employees will not achieve the goal of becoming a productive member of the team without knowing where they've been and where they're going. This means you need to give feedback on a regular basis, and the feedback needs to be appropriate. For instance, being sarcastic to someone who made an honest mistake is not helpful. Feedback has to be a two-way street as well. You need to listen to find out what their concerns and questions are, and address them.

Rewarding experiences

If you're considering being a mentor, these relationships can be very rewarding. I hope these tips will help you the next time an entry-level developer is assigned to your department.

For additional information about mentors and mentoring, check out these TechRepublic resources:

Disclosure of Justin's industry affiliations: Justin James has a working arrangement with Microsoft to write an article for MSDN Magazine. He also has a contract with Spiceworks to write product buying guides.


Check out Five Tips... the newsletter

Get a concise roundup of solutions and techniques that will make your IT job go more smoothly. TechRepublic's Five Tips newsletter, delivered every Tuesday, gives you instant access to the information you need. Automatically sign up today.

About

Justin James is the Lead Architect for Conigent.

5 comments
VonVictor
VonVictor

VonVictor Rosenchild Founder, President, and CEO WayZen Inc. Brooklyn, New York Hello, I just started my company WayZen Inc., a business application design and development company. I am currently working on a Content Management System focused on Big Data management, Apache Hadoop, MapReduce, Zookeeper, Hive, HBase, Pig, Cassandra, etc. I started my company out of my own pocket and on a shoestring budget. If I told you the rest of how this company is starting, you wouldn't believe me at this time, so I kindly ask you to wait for the movie and book. I am waiting to complete the two applications that I am building to seek funding, in the mean time, I am working and doing web design on the side to put money into building WayZen Inc. Bootstrapping may not be easy, but at least I know what I can do, and I find work-arounds to accomplish the task before me and set milestones as I go. I believe this is making me a better owner and president of my company, because I know how to work with an extremely small budget. For example I purchase software, hardware, and take full advantage of Cloud Service Provider (CSP) services, such as Google's - Google Apps for Business, Yahoo! Small Business suite, Microsoft Bizspark, Microsoft's Windows Live, Box.net, etc.., in addition, I use a lot of Open Source software, IDE's, and SDK's. I once seen a YouTube video of a man in Eastern Europe, who apparently had very little money, but he was so determined to build a computer, and teach himself programming that he put together an ad-hoc computer without a case and it worked! I felt sorry for him and wanted to send him one of my laptops because anyone with that drive and determination, coupled with innocation and creativity should be given all the assistance they can to achieve their goals, and expolore their creative potential, think of the accomplishments he could achieve. We are all born with the greatest computers and software on the planet, the human brain and mind. All we have to do is use them in a positive and creative way, and enhance them with education and training. If one cannot afford to go to a college or university, there is nothing stopping them from going to the library and from purchasing the things they need to teach themselves, after all, look at Mr. Warren Buffet. I take my inspiration from the Wright Brothers, they failed many times, were laughed at, were ignored, and then some even fought with them, but in the end, they won! So not matter what, never give up on yourself, your goals, your dreams and your hopes. Keep getting up when you are knocked down and keep moving forward, and I believe you will WIN! Kindest regards, Von'Victor Rosenchild Founder, President and CEO WayZen Inc. Brooklyn, New York

akdas23
akdas23

if mentors follow these tips i am sure being an entry level developer, i would surely become productive

Tony Hopkinson
Tony Hopkinson

No point in even having a mentoring program if you haven't got people capable of it. It's not just someone who is prepared to teach, but to learn as well. Just because they are a junior, doesn't mean they don't know something useful. An electrician I mentored in programming taught me more about fault finding than anyone else in my career...

Jaqui
Jaqui

people both learn and teach in different ways, a good mentoring program needs to be able to change gears and shift the new person to a different mentor if their styles don't mesh. It may be a formal program in the office, but it isn't formal education as university is. the mentor needs to guide learning not drive rote learning into the new developer's head. Many people don't see that distinction.

lunchbeast
lunchbeast

These are good guidelines, but I don't think they should be reserved only for entry-level employees. Managers often (strongly) encourage experienced employees to step outside their comfort level and take on new and more demanding responsibilities. I've seen too many examples, and been on the wrong end of a couple, where a clueless manager tasks a senior employee with a project far outside his skill set, describing the train-wreck-to-be as an 'opportunity', then lands on said employee like a ton of bricks when he struggles. A senior employee typically won't need anywhere near the handholding of an entry-level, but that shouldn't be taken to mean that competent accessible mentors, a tolerance for learning-related delays, and a willingness to listen when questions/problems are brought to the attention of the manager are not essential for even senior employees.