Part 8 of the Series: Increase Your Stock by Investing in Your Future Mentoring trains mentees and mentors alike. Mentoring creates an environment of growth and will challenge you as a senior developer to expand your skills beyond just learning a new language or the framework of the month. My own experience as a mentor […]
Part 8 of the Series: Increase Your Stock by Investing in Your Future
Mentoring trains mentees and mentors alike. Mentoring creates an environment of growth and will challenge you as a senior developer to expand your skills beyond just learning a new language or the framework of the month. My own experience as a mentor has given me skills that serve me in avenues I never expected – from deep dives into the subtleties of frameworks, to better debugging strategies, to rethinking how I talk to clients and users. In this article I want to touch on three major takeaways from mentoring that you will learn as you engage with your mentee junior developers in order to grow their skills: communication, accountability and empowerment.
Go slowly, and pick your words deliberately.
Unlike talking to clients, users or other non-technical stakeholders, junior developers don’t want metaphors, simplifications or “the short version”. They are growing their technical skill-set daily and they want all the gritty details about how everything works. Unlike the other seasoned developers on your team or in your organization, they don’t have a 5 or 10-year corpus of experience to reference. Introducing and building new skills in junior developers is not like talking shop with other more experienced developers. You will have to grow your own skills in explaining complex topics clearly, concisely and be ready for the deluge of questions about “why” and “how” each part operates. Junior developers don’t have a background of 101 design patterns, they might not have encountered a particular style of problem before (even if you’ve seen this one twenty-something times) and they certainly haven’t spent the last 5 years immersed in the problem domain learning jargon terms as you have. When you explain new concepts or problem domain knowledge to juniors, you need to proceed slowly, think about each word you are using and develop strategies to confirm that your message is getting across. One of my personal mantras on this front has become: “Less pronouns, more antecedents.”
You will have to do your homework.
As a mentor, your comfort level with solving problems must change. “I am confident I can solve this problem” must become “I can explain how to solve this problem in my sleep, and provide concise, compelling reasons about every step or decision in my proposed solution”. Because those junior developers, eager new learners who look to you for everything, will accept nothing less (Nor should they!).
When you embrace being a mentor instead of just a programmer or engineer, you realize you need a fundamentally deeper understanding of every tiny thing you do or talk about. You must be able to justify your solutions, explain their validity and describe their fundamental operation in great detail. Your reward, in addition to competent juniors who are properly equipped to improve your teams’ output, will be you becoming an expert, faster.
“This is just the way it is,” is not good enough with juniors. The embarrassment of having to explain messy or disorganized code, processes or tooling in your day-to-day will motivate you to instead spend the time to fix all those technical debts you’ve been putting off. The time and stress you save as a result will pay dividends for the life of the project.
Junior developers begin their careers in awe of the vastness of the field; wondering how they will take it all in, maybe how they will make their mark. You represent at least a major progression of their own path and they will hang on to your every word in their own quest for knowledge and recognition. You will not only teach them language syntax, but also professional etiquette. You will not only teach them task management but also self-confidence. You are not just a book with a mouth, you are a mentor. Some will need guidance on technical challenges but will surprise you in a client meeting with a meaningful insight. Some will need challenges to push them out of their comfort zone to shine, while others will need confidence building exercises to get comfortable until they one day surprise you with their readiness. This complicated process is not the same as on-boarding an experienced developer, but it comes with unexpected rewards.
There is nothing quite like watching someone you helped train go on to succeed. There is both humility and pride in seeing someone succeed in realms that had given them anxiety before, knowing that it was you who propelled them forward. If you relish the feeling of untangling a tricky bug or designing an elegant architecture to meet a complex need; vast new horizons await you in unlocking the potential of junior developers and watching as they evolve and grow with your help.
Learning isn’t just for juniors anymore.
The learning culture that arises from embracing mentoring juniors will pervade your whole office eventually. Senior developers will become more open and more interested in learning from their peers. You will become a better teacher not only of juniors but also your peers.
Mentoring is a path forward from solving the same problems over and over using the same toolbox you’ve always used. You might have some very finely-honed tools and produce excellent work. But if you continually make the same decisions and use the same patterns and tools, you’re hindering your own future. If your skills don’t continue to grow, you will eventually become one of those developers with a stagnant skill set that the market could leave behind at any moment. A mentoring and learning office culture can almost completely mitigate this risk. Being challenged every day to both teach effectively and learn dynamically will keep you at the forefront of the field.
This blog post is part of our “Increase Your Stock by Investing in Your Future” series. Here, mentors at the Exelaration Center at Virginia Tech share their experiences developing an award-winning internship program, lessons learned, and tips you can apply when building your own program!
Technology is always changing, and will always be booming. That’s because it represents whatever’s new....
An internship can transform an entry-level professional or student into a job-ready professional. Graduating with...