Slide 1

Slide 1 text

Mentoring Junior Engineers at Slack HQ By Carly Robinson Application Software Engineer, Enterprise Grid

Slide 2

Slide 2 text

About Me: ★ Current Software Engineer at Slack on Enterprise Grid ★ Former Musical Theater Actress ○ Hairspray, Grease, Singin’ In The Rain, Pajama Game ★ Former Assistant Director to Freedom For All Foundation ○ Non Profit that works to End Human Trafficking

Slide 3

Slide 3 text

Overview ★ Transitioning from Acting to Software Engineering ★ The Promise of Mentorship ★ What Slack Does Right ★ Key Best Practices to Optimize your Junior Engineers ★ Engineering Culture

Slide 4

Slide 4 text

Transitioning from Acting to Software Engineering Me on Graduation Day - aka when I had no idea I would ever become a software engineer

Slide 5

Slide 5 text

Transitioning from Acting to Software Engineering ★ Acting => Engineering was not easy ★ Codecademy.com => Hackbright ★ Two 12-week coding intensives ★ Discovered an unexpected love of computers ★ Drive to learn the craft of programming

Slide 6

Slide 6 text

Transitioning from Acting to Software Engineering ★ Junior Engineers are listening to The Horror Stories. ★ Imposter Syndrome starts before the job.

Slide 7

Slide 7 text

Transitioning from Acting to Software Engineering ★ ...Despite the bad press, working in Tech is incredibly empowering ★ Tech is a tough industry, but not as bad as theater ★ The Tech Industry needs cultures of empathy and inclusion

Slide 8

Slide 8 text

The Promise of Mentorship ★ Most companies promise mentorship to Junior Engineers ★ The quality of mentorship varies in practice ★ The role of engineering culture helps or hinders

Slide 9

Slide 9 text

Perks of Being A Junior Engineer at Slack ★ “We’ll Grow you as an Engineer” - Cal Henderson, Slack CTO ★ Today: Feature Lead for Sales Tax and International Billing Systems, Enterprise Grid ★ I still love engineering ★ There have been few times where I have felt like an imposter

Slide 10

Slide 10 text

- What makes Slack a supportive environment? - What made my mentorship experience effective? Perks of Being A Junior Engineer at Slack

Slide 11

Slide 11 text

Mentorship is a Relationship: Establish a Foundation Upfront ★ The success of a mentorship relationship rests on the expectations established at the beginning ★ Figure out if it will be a good fit before it’s too late.

Slide 12

Slide 12 text

Mentorship is A Relationship: Ask Questions, and Listen. ★ How do you prefer to be communicated with? ★ What does a good mentorship relationship mean to you? ★ What are your goals? Where do you see yourself in a year? ★ What do you expect from a mentee? ★ Be specific. Write down your answers.

Slide 13

Slide 13 text

Mentorship is a Relationship - Encourage Self Reflection ★ Have your mentee communicate what they perceive as their technical strengths and weaknesses, and work together to develop a plan. ★ Mentee: “I learn the most when I’m out of my comfort zone, and I know that I’m weak in computer science theory. Are there any courses you could recommend? Or projects that could help me strengthen this area?” ★ Mentee: “I don’t know much about unit testing, but I’d like to start incorporating it into my workflow.”

Slide 14

Slide 14 text

★ Both mentor and mentee should reflect on their communication strengths and weaknesses, and share them with each other in the beginning. ★ Example: ○ Mentee: “I prefer direct communication, but I’ve been told that sometimes it can come off curt. If it bothers you please tell me, but know that it is never my intention to be rude.” ○ Mentor: “Please asks questions, but when you ask, please give me context for what you have done to try to find the answer on your own first, so I know what to suggest.” Communication + Self Reflection

Slide 15

Slide 15 text

Learning Style vs. Teaching Style ★ MENTORS: ○ How would you describe your teaching style? ○ How do you feel about questions? What do you expect from your junior engineer? ○ Do you have any pet peeves that they should avoid? ★ MENTEES: ○ Learn how to ask good questions ○ Approach feedback with a gratitude mindset ○ Have empathy for your manager, and advocate for what you need

Slide 16

Slide 16 text

★ As a mentor, what does a “successful” junior engineer look like to you? ★ What do you expect from them in 3, 6, 12 months? Clear Expectations + Accountability ★ What does a successful mentor look like to you? How do you see yourself succeeding in this role? ★ Write your answers down. Share them with your mentee.

Slide 17

Slide 17 text

Regular Meetings and Measurable Goals ★ Set up a recurring weekly meeting ★ Work together to develop specific, measurable goals

Slide 18

Slide 18 text

Regular Meetings and Measurable Goals ★ Track progress ★ Acknowledge success

Slide 19

Slide 19 text

Code Review ★ Be a resource for questions and an advocate for best practices related to design, architecture, and data structures

Slide 20

Slide 20 text

Code Review ★ Communicate the expected coding and documentation standards for your company

Slide 21

Slide 21 text

Code Review ★ Be aware of your tone. Respect goes a long way.

Slide 22

Slide 22 text

Code Review ★ If you give a code example, make sure it root it in a lesson, state why it’s important, and why it will make them a better engineer.

Slide 23

Slide 23 text

Code Review ★ Don’t be afraid to dig deeper

Slide 24

Slide 24 text

Cultivate Empathy + Respect ★ Empathy in Pull Requests ★ Intellectual Humility ★ Be aware of your emotions. ★ Reframe your internal “idiot” reaction: ○ This is stupid => I don’t understand why they made this choice. Maybe they see something I am not seeing? ★ Mistakes are learning opportunities

Slide 25

Slide 25 text

★ The Six Month Stretch - Imposter Danger Zone ○ Mentee is no longer new ○ Expectations are higher ★ Junior Engineer Fears ○ Am I improving at the appropriate pace? ○ I kind of know what I’m doing. I really hope I don’t suck. Opportunities for Growth + Impact

Slide 26

Slide 26 text

★ Demonstrated belief in a Junior Engineer’s Growth and Potential accelerates Improvement ★ What is a stretch project? ○ You have more autonomy than you are comfortable with on a project with relatively high visibility. ○ The technical difficulty level introduces a real potential for failure. Opportunities for Growth + Impact

Slide 27

Slide 27 text

Perks of Being A Junior Engineer at Slack

Slide 28

Slide 28 text

“Ever tried. Ever failed. No Matter. Fail again. Fail better.” - Samuel Beckett

Slide 29

Slide 29 text

A Holistic Approach to Thriving ★ Creating Growth Infrastructure (for People) ○ Opt-in Personal and Professional Development Funds ○ Weekly Brownbag Presentations ○ Non-technical workshops ★ Office Hours with Top Engineers

Slide 30

Slide 30 text

A Culture of Learning vs. Academia Let’s be real; the tech industry is a workforce highly saturated by graduates with elite degrees. I’d like to limit the scope of what “academia” refers to. Academia is prestigious because of its association with the noble cause of intellectual rigor and reason. However, too often individuals privileged with an excellent education confuse intelligence with aggressive arrogance. In an ideal world, the best ideas win, and everyone is happy. But when a workplace environment becomes a battle of the brightest mind, team and individual morale are too often undermined by people overcompensating for weaknesses with a series of tactics that directly or indirectly aim to make their coworkers feel stupid.

Slide 31

Slide 31 text

A Positive Culture of Learning ★ People matter. Protect your values. ★ How I describe my co-workers at Slack? ○ Hardworking, talented, humble, kind, eager to share knowledge ★ Hired for Humility and Craftsmanship ★ Zero Tolerance for Arrogance ★ The engineers at Slack were not just hired for their talent, but for their demonstrated values of craftsmanship, courtesy, and empathy in their work and interactions with others.

Slide 32

Slide 32 text

Developing a Growth Mindset ★ Demonstrated belief in a Junior Engineer’s Growth and Potential accelerates improvement ★ When I’ve made mistakes, not once has anyone gone out of their way to make me feel stupid or incapable — and I think that says a lot in itself. Instead, I’ve been encouraged to develop a growth mindset.

Slide 33

Slide 33 text

Take Aways ★ Mentorship is A Relationship ○ Clear Expectations - Know Yourself and Be Direct ○ Mentors + Mentees : Make the Time ○ Set Goals, Track Progress, Acknowledge Success ★ Take off the Training Wheels ○ Empowering via Empathy in Code Review ○ Measurable, Concrete Goals ○ Fail Again. Fail better. ★ A Culture of Learning and Intellectual Humility ○ Hire for Humility and Craftsmanship ○ Creating Growth Infrastructure (for People) ○ Growth Mindset

Slide 34

Slide 34 text

Thank you! @carlyhasredhair [email protected]