featured image thumbnail for post The Mentor I Wish I Had

The Mentor I Wish I Had

20 min read

What’s up people of the internet. I’m so excited to be back in my hometown and have the opportunity to present to you all today my perspective of what a mentor is. With all the new and cool technology. It is great to take a step aside and understand the people who build the technology. The first thing I will talk at you about is understanding the word mentor. Then move into how breaking into tech isn’t a solo adventure and finally what I wish someone had guided me to do during my first year on the job. So heads up this talk is all about me.

"Why am I giving this talk" So why am I giving this talk? I would love to see who is in this audience How many people in here are lead developers or in some type of leadership role? “Okay so about 50%. So I’ll wait a few seconds to let those who didn’t raise their hands leave. Skeet Skeet. JK this talk is for everyone. No matter what point of your career you are in. you, yes you, have the opportunity to help someone. A lot of people question if they qualify to be a mentor. And that answer would be yes. Once again if you don’t think you are qualify to be a mentor you are. At first I questioned if I qualified. When I started mentoring folks I had only been developing professional for little over a year. I have no business telling people what to do. But just sharing my experiences it can be valuable to your mentee.

"Why do people need mentors"

Why do people need mentorshipSo recently people have been asking me to be their mentor. In my head I was like “This is so cool. No one asked me to be a mentor before.” Of course out loud I acted cool calm and collected. In return I asked them how can I help. And to my surprise they didn’t know how I could help them. And this same scenario happen multiple times. I was shocked Everyone wants a mentor but why do they need one.

So I went to twitter and got some awesome answers. At onejsninja wants a mentor for direction, motivation and access to people and opportunities. @bitandbang said he want a mentors to help him talk through situations and expanded his thinking. @NikkitaFTW wanted someone who can help her with goals. And tyler wants a mentor so he can take the shortcut approach and learn from someone else’s mistakes so he can avoid them.

So as you can see all these people wanted a mentor for different reasons. And that makes it really hard for you to know how you can help. But we can take the hard part out.

"Having a good mentorship program" Good mentorship programAnd you can do that by creating a mentorship program at your job. When your team finds out their are too many cooks in the kitchen, aka senior developers trying to make decision. It is time to bring on entry level developers. And when you start bring new developers on the team you have to understand you will need to make time to teach tem. Please don’t send them out in the wild. You and your team are commiting to train new developers to help them become more senior. You will to set up office office hours so they can pair with you. Throughout the day if you are going to have your headphones on and hop in a lot of meeting. And I’m going to feel like I am going to bother you. But if you create designated times to talk I know you can focus on me and not worry about the next thing.

"Mentorship survey" Mentorship SurveyCreate a mentorship survey so you can understand the needs of your mentees. You can ask questions like would you like to pair remotely or side by side? What are your values? or What is your ideal mentor? Like we saw earlier everyone wanted a mentor for different reasons. There are tons of mentorship surveys out there you can grab and throw in a google form. Youll be fine. This survey will make your job easier in the long run. Also be honest with your mentees. Do the survey yourself and give it to them. If you have a pet peeve. Tell them. Don’t make your mentee question they are doing something wrong. When really it just something you don’t like. My biggest pet peeve is when people type lol. I heard you laughing. I get it.

"Power of networking" NetworkingBut I was able to break into tech through the power of networking.Tell my story here Eventually your mentee will come to you and say I’m ready to find a new job. It will happen and please support them fully on that decision. And when they do, you have the option to use your network to help them find their next role. And you should also encourage your mentee to build a network of their own network whether they have a job or not. One way I build my network is by attending conferences like this one or attending your local meetup. But not everyone got time for that. So another alternative is to build you social capital is on social media, especially on Twitter. Follw people interact with them. Most of my opportunities have come off of twitter.

"Bad job descriptions"

Job descriptionSince I got my first engineering job through networking I never saw the job description. But I definitely going to touch base on it. Sometimes when I am in conversations the topic of Diversity in tech comes up. And people don’t understand why underrepresented minorities are not applying to their companies. And the first thing I ask what does your job application look like. On the screen you will see the job application for my previous role at MLS. If I had saw this I might not have applied. But times were desperate. I applied to everything. There are a few responsibilities on there that are attractive like willingness to learn, working with the latest technologies and using problem solving skills. All skills you would want to use at any developer job.

But then it get overshadowed by a bunch of junk like requiring a BS degree or being able to use word and powerpoint. What?!? Google and Apple does require bachelor’s degree why do we still have these things on tech job description. Then we have self-sufficient and remind you this is a job description for a “junior” position. To me that sounds like the company doesnt know what it wants and it wants a senior. And lastly ability to travel. First of all there is no information of the amount of travel to expect. But you are also now eliminating so many talented developers. No parents. No one who might have a second job, or any one who just don’t like to travel.

"Coding challenges" Coding ChallengeAnd another reason why people of under represented groups are not applying for your company because they are sending countless hours doing coding challenges and that takes away from applying to jobs. When I was trying to break into tech I was doing 3-4 coding challenges a week that took about 4-8 hours each, and on top of that I had a job. I’m a grown women I got bills to pay. There needs to be a better solution. I understand coding challenges won’t go away overnight. But we can give candidates options. Maybe a candidate feels more comfortable writing a small application on their own. Or maybe it would be easier for the candidate to do a 30 min pair programming session.

If you are not willing to put in the time finding a good candidate. Why should the candidate put in their time for you. But if you are sending out coding challenges that take more than an hour and a half at entry level speed. Then you need to re-evaluate the way you determine a good candidate and not put that on the people who are applying to jobs. And if you agree with getting rid of the coding challenges. You are in good hands.

The last two jobs that I have accepted there wasn’t a coding challenge. Doesnt that sound magical.There wasn’t this barrier that stood in my way.

"Showing passion and potential is more important then knowledge" showing passion and potential is more important than knowledge.I was able to get in front of somebody and show them my passion for what I do. Because sometimes showing passion and potential is more important than knowledge. You can teach someone to code but you can’t tell them to love what they do.

"Be an advocate" Be an advocateAnd the reason why companies are able to make this works because there are advocates on their team. And if you want to be a mentor you need to be an advocate. If you want to help bring more entry level developers on your team push for it. If you want a more diverse team push for it.

"Culture Fit" Culture FitI know that my team lead was specially looking for entry level engineers who were underrepresented minorities. Some of you might call this diverse hire. That fine Call this what you want. But my perspective is I finally had a chance. I interview for a lot of companies and it was that I wasn’t skillful, because I kicked butt technically at my first job. It was because of culture fit and it hit me as soon as you walked in the door.

So I have another question for y’all. How many people like to be in an environment where they get to feel uncomfortable?

Do your best to make the new person as comfortable in the environment as you are. And that comes back to the mentorship survey and understanding who they are. Because they are going to be spending the next 40 hours a week in that environment.

"No idea what to expect" No idea what to expectAnd when someone comes into a new job they have no idea what to expect. Its okay to Shoot your new mentee an email of what they can expect in the first few days. Take them out to lunch on the first day. Make the transition from school, or where ever they were at before easier by sending them a cheat sheet. I know I was so excited to start my first day I would have loved to have some time of communication from my new team of what to expect when coming into the job.

"Gap in knowledge" Gap in knowledgeA few things you can put on a cheat sheet would be tutorials on how to use chrome dev tools or what coding editor you use with some helpful extension. Because for me there was a huge gap in knowledge going from my bootcamp to becoming a professional developer. No fault on the bootcamp. There just wasn’t enough time to learn how to read legacy code or how to write proper documentation. I will eventually learn these topics throughout my career. But I wish someone would have pushed me to set aside some time to learn these tools and skills. 1. Chrome dev tools 2. Reading other developer's code 3. Documentation 4. Code editor

"Encourage Google" Encourage GoogleAnother thing I wish I knew how to google better. Though out the past year I probably googled any technical question I had maybe a total of 90 times if I’m lucky. I found it was so much easier to ask the question on slack or ping my mentor over to answer the question. But I realize it became a problem when half my team left and I didn’t have anyone to answer my questions. So I would say Encourage your mentee to Google (or any other search tool because I’m not sponsored by google). Especially If you know the answer can be easily found online. Its okay to tell them to look it up instead of telling them the answer.

"Take away an element of learning" take away elements of learningIf you can take away elements of learning that helps so much. Its a little backwards because as a mentor are supposed to be teaching your mentee. But being attacked by multiple points of learning can become overwhelming. Learn react learn php learn all out api endpoints. Oh and do it all in your first week. Owe yoo Owe yoo. I thought it was so useful that my first job front end code base used graphql. Do I have any people who use graphql in the house. I didnt have to have to wrap my mind around figuring out what routes to get information from or understanding why the API docs where out of sink. :( Why do I need 7 routes to find out what color a user liked. With graphql Everything was readily accessible in this nifty tool called graphiql. And I was able to build components a lot faster.

"Importance of a small ticket" Importance of a small ticketThe next topic I would like to mention is JIRA tickets. And the smaller the better. For me it great beacause 1. they allow me to build up some endorphins 2. I get a green dot for my pull request. My github looks popping. 3. During stand up I get to say I finish different tickets number each day instead of saying the same number for two weeks. And I feel like Im contributing to the project. And as a mentor it frees up more of you time because I can accomplish them without any help.

"Isolate Code" Isolate CodeOne thing that made it easier for me to dive face first into the code base was that there was isolated code. Instead of opening a repo that is over a thousand files. And then proceeding to click on files and being 100% clueless. I could Open an lot smaller repo seems a lot more manageable. And then I proceeded to be only 80% clueless. For me It’s easier to digest 100 small cookies then one large 100 foot long cookie. Another way that was useful in isolating code was storybook.

Whose used storybook before?

Isn’t it great?

For those who don't know storybook, allows you to focus on one thing at a time. It also allows for faster iteration. So if your mentee isn’t good at let say CSS. Because we all know most people aren’t good at CSS. And if they say they are then they have just gotten really good at guessing. But with storybook they are able to get a quick response of their styling changes and they learn how to guess CSS faster.

"Don't give me the same styling ticket" Same styling ticketsSpeaking of styling. Don’t give me all the styling tickets. I understand if it is the first year on the job I might have to do the grunt work. You know earn my seniority. But I get bored too. After about 5 months on the job I stopped learning. Everything for me became busy work. And as a mentor you need to see when people aren’t as happy and or just become ticket closing zombies. Thats how you can lose great engineers because all of their work just become toil. So I spoke with my mentor in my 1 on 1 and told them I wasn’t learning anything anymore. So we decided to put me a different project. It was great. I was being challenge again.

"Continuous learning" Continuous learningIn order to help your mentee grow they need to be continuously learning. They need to be gradually work slightly harder than the day before to get better, aka the ten thousand hour rule. Also encourage them to learn. I remember these things called think think snap snap ahhh yes books. So go out and Physically buy the book pragmatic programer. Take a picture of the receipt and expense it. Then hand it to your mentee. And every quarter buy them another book to read and expense it. Push them to build their knowledge portfolio. And you can also do that by Sending them blog posts, do it weekly, that you find interesting.

"We are going to copy you" we are going to copy youBecause at the end of the day we admire you and we are going to copy what you do. If you find graphql interesting. I’m going to find graphql interesting. I never thought I would start speaking but because my mentor was doing it. So naturally I started doing it. A mentee is going to follow the same path their mentor takes.

Why? Because we have no idea what the day to day of an engineer looks like. Eventually we are going to steer off your path and find our own and help lead others. Right now you are setting the tone of your mentee’s career by the actions you take. Whooooo Sounds like a lot of pressure if you ask me. But honestly it shouldn’t be.

"Training you to take my job" training you to take your jobBecause If you are not training your mentee to take your job. Then you have no business being a mentor. Facts. I remember hearing this exact quote from my mentor. “If I am not training you to take my job. Then I am not doing my job. Hmm Now that might seem strange. But if you really believe in someone you should want them to become better than you. Your mentee understand the importance you have in their life. Being a mentor is not a one way street. You are not just giving. Your mentee is teaching you as well. I taught my mentor patience and will power. And I accomplished that by telling them to...

"Never touch my keyboard" Never touch my keyboardNever touching my keyboard. I am happy to say I can now type about 35 words per minute. And for those who don’t know. That actually really slow. And some days I felt bad. They had to sit there and watch me type super slow. When you touch my keyboard you are taking a learning opportunity away from me. It is more important to teach me how to do something then just trying to get the work done in a mentoring situation. I am not saying when you are pair programming the mentee should always be the drive. But when they want to drive. Let them drive.

"Importance of feedback" Importance of feedbackAnd when you want to give them feedback make sure its effective. Both positive and negative feedback, is very helpful. It literally impossible not to give feedback. Whether we are speaking to someone or watching their body language we are communicating feedback. But what is really important when providing for feedback, it can actually motivate your mentee to perform better. And the best kind of feedback is one that can help to formulate better decisions to improve and increase performance. push up glasses

"Reviewing pull request" reviewing Pull requestWe tend to give a lot of feedback when we are reviewing pull requests. And when you do it you need to give it in a way that shows empathy and understanding and not just point out what is wrong with your mentee’s code. Though it helps to address their weaknesses you need to separate the person from the code. Code reviews are an opportunity to share knowledge and make informed engineering decisions. But that can’t happen if the author perceives the discussion as a personal attack.

"Understanding how they got there" understanding how they got thereAnd when you do see something wrong you need to understand how they got there, You can do that by ask leading question. By that I mean using the 5W and 1H “who”, what when where why and how. If you can avoid why since it is the most negative w of them all. For instance instead of saying Why did you choose red over blue? You can say What made you choose red over blue. Its a small difference but its a difference. Also when asking leading questions make sure they are as neutral as possible. That way you are not putting your opinion into the question. For example “I just put out my best work what do you think.” Instead say “What do you think of my work.”

"Don't give advice share experience" Dont give advice. Share similar experiencesSo I’m going to end the talk with 5 thing that are important to me when it come to mentorship. When you are a mentor don’t just give advice. Instead share similar experiences. Build up some credibility with your mentee. Show them that you struggle and you don’t know everything.

"Everything is a skill" everything is a skillAnd the things that you don’t know treat them as skill. Something that you can learn. If you want to be more empathic that is something you can learn and you might not get it right the first time.

"Content as a mentor" content as a mentorAnd when you don’t know the answer to their questions provide your mentee a way to get that answer by suggesting podcast to listen to, books to read, or people to follow on twitter you admire. cough cough I mean we all can’t have Oprah be our mentors. But we learn from her by the content she releases.

"Mentor Coach Sponsor" mentors talk to youAs a mentor you are there to help navigator your mentee career by providing guidance for career choices and decisions.

"Learn from your mentee" learn from your menteeAnd remember mentorship is not a one way door. You can learn from your mentee and always be open to their ideas.