Tip 15Find a Mentor
White Belt[​​White Belt] Your mentor can help you from day one and ideally for years to come.

Where this book is a virtual guide, the most successful programmers will have a real-life guide for the journey, too. Such a guide—or mentor—will provide wisdom and council for you personally on your first programming job.

The mentor’s role is to do the following:

  • Help you when you get stuck on the job. They’ve been programming long enough to have great problem-solving and debugging chops, so even when they don’t know all the answers, they can point out the next steps you should take.

  • Model behaviors and skills you want to learn. Time spent watching over their shoulder will inspire you to learn new programming tricks and new ways of thinking about your problem domain.

  • Keep your career pointed in the right direction. They know how to get ahead in your company and can advise you when opportunities to advance come up.

  • Likewise, keep you from shooting yourself in the foot. They’ll warn you of hazards specific to your company, like the people you don’t want to make enemies with or programming screw-ups that will especially irk your manager. Your mentor has been around long enough to know the turf.

This mentor may be one person, or it could be several—for example, you might tag along with a senior programmer on your team but learn the political lay of the land from your manager. I’ll speak of a singular mentor in this tip. The same advice, however, applies to more than one.

Qualities of a Great Mentor

Before we get into finding the mentor, let’s consider the qualities of the person you want to find.

On Your Side

First and foremost, a great mentor is interested in your personal growth. This person needs to be on your side and will always push for your success. Some companies have policies that put peers in contest with each other; your mentor, however, must be someone who has nothing to lose from your success.

Technical Skill

Obviously, a great mentor for a programmer should be a great programmer. Let’s distill that a little further: you’re looking for someone who has domain expertise for the product you’re working on, has a track record of delivering solid code, and otherwise demonstrates the skills you want to attain.

Under the umbrella of “programming” there are a zillion subdomains of specialized knowledge. If you’re working on a large-scale website, for example, there’s a whole career’s worth of skills you could learn about scalable server-side programming. You’ll want a mentor who has domain expertise in this area.

The track record is equally important. There are genius programmers who have rocket-science raw talent but just can’t focus and get a product out the door. Industry is pragmatic; you need to write solid code and you need to ship the product. Look for a mentor who’s demonstrated skill at both.

Looking for skill comes with a qualification: great programmers are not necessarily great teachers. Perhaps they can’t explain how they work because they’re guided by intuition more than a process. Or perhaps they simply don’t have the patience to work with junior programmers. Make sure your mentor is someone you can actually learn from.

Knows the Lay of the Land

A key role of your mentor is passing on tribal knowledge—all the undocumented stuff that gets passed on person to person within the company. You’ve probably heard about specifications, style guides, wikis, and other documents that are supposed to help programmers get up to speed. Nobody wants to admit it, but they’re all out-of-date. You’ll need someone who’s been working on the product for a while to show you around.

A great mentor has been with the organization long enough to know the politics and has earned respect both within the team and within the company. As we’ll discuss in Tip 22, Connect the Dots , it takes a while to discover who’s pals with whom, but your mentor can give you a big head start. Further, your mentor can warn you of political strife that’s best to stay away from.

High Standards

To grow in skill, you need someone to hold you to a higher standard than you’re currently at. A great mentor will help you first meet the needs of the product—which, in turn, keeps your paycheck coming—but also tell you where you can improve.

It takes some humility on your part to accept this above-and-beyond guidance, but remember, the guidance of your mentor isn’t just for getting the job done today; it’s also for growing into a senior programmer later.

If you’re looking for someone who will hold you to high standards, look for people who hold themselves to high standards. Who has a lot of books on their shelves? Who has a reputation for discovering new technologies and programming practices?

Find Your Mentor

Now for finding your mentor. First, ask your manager. You don’t need to get fancy; start with, “Who should I ask for help if I get stuck?” Or more formally, “Is there someone on the team who could mentor me as I get started?” A manager will often have a mentor in mind.

Second, consult your peers. When taking a task in a planning meeting, ask, “If I need help on this task, can someone lend me a hand?” Or ask of a senior peer, “You seem to know a lot about [this domain], so can you give me any pointers before I start on this task?”

Not all mentoring relationships are of the formal, long-term variety. If your manager assigns a mentor, by all means take it. But even in a casual environment you can find informal, short-term mentoring to help you with a programming task. Those informal mentors could be all of your peers on the team, at various times.

If you’re not given a long-term mentor, try to find one on your own. You’ll want the big-picture guidance and encouragement. Ask of someone who you’d like to mentor you, for example, “I really appreciate the help you’ve been giving me. Would you consider mentoring me on an ongoing basis?” The key word mentoring is the cue that you’re seeking big-picture advice, not just help for hitting the next deadline.

Mentor vs. Manager

Some questions are more appropriate for your manager than a mentor. When you need assistance in a more official variety, for example related to your benefits or pay, that’s the domain of your manager. If there’s business-related issues like a failed production system or you’ve discovered a critical bug, your manager needs to know.

Your manager can provide a lot of mentoring, too. A good manager will be looking out for everyone on their team already, trying to eliminate short-term obstacles and helping with long-term career goals. However, a manager also has obligations to the business that can interfere with mentoring. For example, if your manager is tasked with laying off 20 percent of the team, your manager is no longer an objective source of advice on career planning.

Actions

Your first action should be clear: find a mentor! Start informally if you must. Try not to go longer than a year without a more formal mentor.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.12.108.86