Mentorship Matters

This is reposted from a LinkedIn article I wrote in 2020.

We were introduced to code pairing, driver-navigator style, in our 5-day orientation module for Turing School of Software & Design. In Zoom breakout rooms, we'd pair to initialize a repo, add a string, and push it to Github, or write out a hash or object to demonstrate our understanding of OOP.

We continued this practice throughout the program. Every project, every Zoom breakout room-- pairing. The school also pushed mentorship and asking for help. We were assigned mentors and were given a slew of networking opportunities and Slack channels to meet new people and mentors. Discussion. Flow of ideas and perspectives. The reciprocal benefit of teaching and learning.

My mentor worked at a big fancy corporate tech company and lamented on their lack of code pairing. In 2 years, he said he was only just now beginning to speak "their" language. When it came time to apply for jobs near graduation, he pushed mentorship more than any other value. "You're a new dev. I don't care what the salary offer is, or what their name is, or what fancy perks they flash. If you're not surrounded by a team of people who want to pull you up, it won't be beneficial to anyone."

If you're not surrounded by a team of people who want to pull you up, it won't be beneficial to anyone.

I was unsure of what he meant. I mean, I'm pragmatic. I recognized as a junior dev I knew I had a learning curve ahead of me for getting paid to write code for production-level codebases. But I also wanted to prove myself, show the team I could handle it and didn't need help (I can feel my mother rolling her eyes at this chip I've carried).

So, I applied to some big league companies. And I got a callback from one of them, and impressed them enough in the initial call that they sent me a code challenge.

That challenge was way over my head. Paralyzingly over my head. I raced to watch Youtube videos, and read Stack Overflow forums and MDN docs. After submission, I tearfully called a committee of my mentor, 2 instructors and our Professional Development lead at school. I copied the code and sent it to them. Within two hours, they responded that there was no way for me to have known how to complete large portions of this code, it was a challenge set for a mid-level or arguably senior dev, and to let myself off the hook. I got an email the next day from the company, stating they didn't have the capacity to support and mentor a beginner like me, to apply again in a few years, that the code challenge was clearly beyond what I could handle.

My mentor and I were angry that they'd entertain the thought of a recent graduate interviewee with this challenge. I was embarrassed, humbled. I replayed their email line again and again in my head-- 'we don't have the capacity to support a beginner like me'.

We don't have the capacity to support a beginner like you.

To be fair, many companies don't have the capacity. But those companies sent me outright rejections from the first application email. Those companies didn't spend an hour on the phone going over a my Github projects and seeing my work, then call me back for a challenge that's beyond what they had seen me code. I hadn't even graduated yet.

The job hiring process feels so personal, and I was bright-eyed and bushy-tailed. That lesson stung, and my fire burned deeper in my belly. I could have spent the weekend working on the challenge, and resubmitting it. But even if I overcame the challenge, I was still left with a company that, based on their response, I couldn't feel safe with in the day-to-day or feel like I could ask questions. I would feel insecure, like I was drowning, and working that much harder to keep up a facade. That emotional labor would rob me and my team of productive labor. In all pragmatism, I had to be okay with that I was brand-spanking new, that if I swallowed the crappy taste of humble pie and knew my boundaries, I could actually set myself up for a more fertile working environment.

I would feel insecure, like I was drowning, and working that much harder to keep up a facade. That emotional labor would rob me and my team of productive labor.

I kept hustling. Back to the drawing board. More LinkedIn connections, more company research, more resume tailoring. This time, I was clear that I wanted mentorship. "What are you looking for in a job?" "Mentorship. Safety. I want to work hard, and be authentic in where I stand in my comprehension. If I can fail safely within my team and within my role, then for each of the lessons learned in those failures, the team and myself will be even stronger."

I think those companies thought I wanted a lot of hand-holding. Maybe I did. After all, the last company woke me up to the needed skill level to be on a paid team, and maybe even overwhelmed and intimidated me enough that I swung the other direction and wanted to play it safe. Needless to say, more rejection. The more authentic I was, the more rejection I faced.

I was beginning to think maybe I should consider Q&A or testing or software sales or something. But then, my resume was passed around enough times, and the Law of Six Degrees of Kevin Bacon came to fruition. Craig, of Omnilert, reached out to me via friends, of friends, of friends.

I was happy, but skeptical. Eager, yet guarded. I wore a professional blouse and earrings and hopped on a Zoom call with Craig. And there he was, in all his bearded, hoodie, wizard glory. So approachable. So relatable. The call was scheduled for 45 minutes, we talked for almost two hours. I asked him every question I could think of, including the ones I was too afraid to ask the other companies because I didn't know enough about the vocabulary or concept. We vibed, and he sent me the challenge. I knew enough to complete it, psuedo-code what I couldn't, and sent it back. It was the perfect amount of challenge. It allowed me to demonstrate my skills adequately, while showing me what I would need to work on, and it taught him what my thought process was for when I get stuck.

And if you've read this far, then you know I've already advocated for myself and mentorship. He made wonderful promises. Said all the right things. Talked about their policy and handling of developer mistakes. Craig's beard bore a slight resemblance to Jesus, but I was still too guarded to surrender my faith entirely. I got the job, and started 2 weeks later.

If Craig looked like Jesus, then I must now look like an evangelist. I've now completed three weeks of paid work for Omnilert, and my skill level has grown exponentially. At the beginning, I could articulate a summary pitch about Redux, but I couldn't navigate a complex codebase using Redux. "Let the Saga handle it? Like the video game?”, “You have a library of components?!?” The team threw me into 3 different codebases in the first two days, and told me to clean up the first two using the code from the third's component library. I was tasked to refactor, rename, upgrade core packages and fix the breaks as a consequence of the upgrades. I would spend long hours in these codebases, tasked with some pretty intimate repairs, but that's exactly how I grew to be familiar with the code. And on the team bonding side, it was welcoming to have the CTO, Nick, call me for an hour on Slack, or for the other teammates like Andy or Matt or Kyle or Mike to reach out and make themselves available from early on. 

That's how I grew to be familiar with a certain author's code style and who coded what to expedite asking questions, saw the team's coding norms and patterns, and befriended their g*dd*mned linter. And it encouraged me to converse with the team members about their individual code-- "I saw you wrote this ${lineOfCode}. Why does this work, how does it work?". Everyday, they would spend time with me, teaching me and talking with me. They invited me to Zoom happy hours. I made Slack emoji reacts of various staff so we could joke around. They didn't roll their eyes at my excessive celebratory gifs when I successfully coded a simple method (or maybe they do, whatever). 

In the second week, I was solo-assigned a month to build, from the ground-up, a stand-alone app they were pitching as a Proof of Concept. I got to take all the skills and knowledge from the recent two weeks and demonstrate what I could and could not do. Over that third week, I could successfully code around 80% of a particular flow before asking for help. For someone who could code 0% a short while ago, it felt good. Every day that week, I spent an hour with someone on the team. And lo and behold, the particular app is working as defined in the spec, and I got to add in some features and code I thought of myself. Three weeks ahead of schedule, and I can explain the entirety of the code.

It feels good because I didn't have to sink too much in order to swim. I would get buried, time-box the burial struggle, then ask for help to be resuscitated. I was shown why my logic was flawed and why their solution worked. Everyone on the team helped at some point. They were never condescending. They took the time to answer my follow-up questions. They spoke in a language that I could grasp. I want to foot stomp this point-- getting help from someone who is so advanced in their language and understanding, and cannot adequately communicate to someone far below their skill level, can actually feel worse for the person seeking help. Because then, the person just feels even more lost than they were prior to seeking help. I can't get to the higher dev's level, but they can step down to mine to pull me up.

I can't magically get to the higher dev's level, but they can step down to mine to pull me up.

The impact of team mentorship on me as a new hire runs deep-- deep enough for me to take to LinkedIn and write an article about it. I feel like I'm part of the team. I feel like I can call myself a software developer. I feel like I learned and then produced what I learned in a succinct and functional way. And that makes me more motivated, more inspired, more eager to swing for the next monkey bar on the playground that is coding. 

There's a saying "you keep what you give away." Since I'm the most junior member of my team, I had to find ways to give back. So, I made a PR template for the team's next repo, and an onboarding document for the next hire. I've shared some quality grade-A memes and gifs to breathe life into the 2pm lull. They're little things, but they're big things, ya know?

It demonstrates that I give a damn, because they've given a damn about me.

I love giving back to my school, too. I made a survey for my boss to give feedback on my first week at work, and I sent it to Turing so they could have some data and feedback to best improve their curriculum. I held on to the document, and I want to share a quote from the survey that reminds me what I’m capable of on the days that my code looks like spaghetti:

"I’ve been most impressed with Leigh’s lines of questioning, especially regarding the requirements of tasks assigned to her. They show an understanding of her deliverables and what she requires from us to complete her task. Leigh is very eager to learn, and eager to have a full workload. Leigh’s team skills are also beyond what I would have expected. She’s able to reach out to other team members and use their expertise as opposed to just relying on her supervisor to provide direction."

Thank you for listening to my mental and typed stream of consciousness. Your presence is recognized. Have a good weekend. And I hope you find a mentoring relationship in your life, too.

Previous
Previous

Designing for All

Next
Next

Healing Religious and Military Wounds