The ethos of open source software is rooted in collaboration and contribution—partnering, giving back, sharing experiences, and leveling up. Mediacurrent’s mission and vision are framed with these exact principles. We collaborate daily with our peers and clients to build world-class enterprise websites and share our experience with the community by contributing back to the Drupal project, writing blog posts, presenting at camps and cons, and engaging through social media.
Another great example of this is the mentorship experiences that are cultivated within our teams and across disciplines. I had the opportunity to create an individualized mentorship program – lovingly titled Justin’s Summer of Code – with the goal of sharpening my front-end development skills. Come with me as I walk you through this journey!
Mentoring at Mediacurrent
For every employee, mentoring at Mediacurrent starts on day one. During the new employee onboarding visit to headquarters, an employee mentor is assigned and an introduction meeting is arranged. The mentor, in this case, is often someone from the same discipline who is there to help you adjust to the remote working lifestyle, become familiar with company processes, and to start building connections with remote colleagues from the start. The mentee then has someone to turn to when they have questions, just need to talk, and to help them prioritize once projects start piling up. Over a 6 week span, regular check-in video calls are scheduled to keep consistent contact and progress.
For me, Senior Director of User Experience Cheryl Little was integral to my transition and continues to be a great friend and sounding board for me long after this new employee mentorship arrangement ended.
Beyond these initial “Get to know Mediacurrent” engagements, mentorship opportunities are open and available on an individual basis. Let’s talk about mine!
I came to Mediacurrent with a rather diverse educational and professional background. With degrees in Graphic Design and Business, I have a passion for the intersection of art and commerce. As a UI/UX Designer by title, I also stand firmly on the “Yes!” side of the “Should designers know how to code?” debate. I have also always had an intense curiosity of code and software development in general—I’ve always wanted to know and figure out how these things work.
Through practice, research, and persistence, I have been able to add front-end development (FED) abilities to my professional skill set. Feeling “not good enough” can be common for developers, but with the help of the mentorships, and with some grit and determination, I learned enough to feel proud of my work and confident in my coding abilities.
Setting up Summer
- Identify a growth need
- Identify a possible mentor
- Ask for a meeting with an identified mentor
I’ll use this as a model to describe how my Summer of Code experience was arranged.
Step 1: Identify a growth need
When seeking guidance or experience in any given discipline, one must be self-aware enough to honestly evaluate their current position and understand what it is they need to further develop that skill. While my previous experience gave me confidence in my front-end abilities, I recognized that I was lacking certain experiences like contributing to large, well-structured codebases, established software project management workflows, and working directly with well-seasoned developers to help guide me through my challenges. Excited to be working for an agency I had admired for quite a while, I quickly began looking for opportunities to level up.
Step 2: Identify a possible mentor
This step was somewhat simple for me because Mediacurrent has a dedicated team of well-experienced front-end developers, but I wanted to become more familiar with them and our team’s approach to front-end development before I approached anyone. To start, I took a series of intentional actions to demonstrate my interest and abilities: I joined several of our topical Slack channels where these ongoing conversations happen. I read, observed, offered my opinions where I could, asked questions when I didn’t understand something, and participated in relevant conversations. When working on specific projects, I looked for areas where I could flex my FED chops—sometimes reviewing tickets as a QA check and sometimes discussing potential solutions with assigned developers.
Eventually, I was able to cover FED responsibilities on a few smaller projects where I demonstrated my abilities and learned from others in a hands-on scenario. Several of my colleagues began to recognize that I had skills to offer in different areas and interest in leveling up. During a regular 1-on-1 with my manager, we discussed where my interests were in terms of career growth and development. Recognizing the opportunity for mentorship, my manager relayed our discussion to our Director of Front-End Development to facilitate the arrangements that would ensure a successful mentorship.
Step 3: Ask for a meeting
Next, we arranged a 30 minute video call to discuss my current status, goals, and a plan to level me up. A collaborative Google doc was created with a list of 9 items to be covered in a series of 1-on-1 peer programming video calls with my FED colleagues, along with a list of 6 tasks for me to do on my own. The 1-on-1 sessions covered a wide spectrum of topics from estimating and breaking down front-end work to Drupal JS behaviors to GIT tips and tricks. My personal to-do list included reading up on a range of topics from the SMACSS and BEM documentation to our team’s JS standards to how to get my linters working the Mediacurrent way. We also set a timeframe – summer – to ensure that the schedule was achievable and time-bound. The clear vision, topics, assignments, and timeline established during this call allowed us to frame the mentorship program for my colleagues who would become my mentors.
Finally, a 30 minute kick-off call was scheduled with me, my manager, and 3 members of our FED team. We introduced the mentorship arrangement and reviewed the peer-to-peer session topics. Now that my growth needs had been recognized, mentors were identified, and kickoff meetings were held, it was officially time to start Justin’s Summer of Code.
Justin’s Summer of Code
Throughout the summer, my newfound mentors would cover a topic of their choosing from our list when time was available in their busy schedules.
My first session addressed the topic of ticket structure and estimation: one of my mentors shared with me the value of breaking down tasks into a clearly defined set of tickets and the imperfect art of estimating the time it would take to execute each of those tickets. In all honesty, before our discussion I didn’t recognize these as skills necessary to make one a good (or better) developer. Her insight enlightened me to the fact that these preliminary, planning-oriented steps allow a dev to:
- Think through and document all that is needed for a feature to be realized before they write a single line of code
- Honestly reflect on their abilities in terms of how much effort it will take them to execute each individual ticket and the feature as a whole
In a bigger picture context, this discussion also made me realize the larger workflow benefits these steps provide in that it organizes the steps to completion, creates more manageable pull requests, and allows Project Managers to more clearly report scope, timelines, and budgets.
Another mentor addressed the topic of creating a Drupal theme from scratch. While I was familiar with the differences between Drupal versions from previous work, he really broke it down for me with real-world, agency-quality examples from projects he had worked on. We looked at theme structure, Drupal libraries, and Mediacurrent standards and best practices.
We also covered the Mediacurrent theme generator: an awesome tool built by our FED team that expedites the creation of a component-based Drupal 8 theme with a bullet-proof set of tools that also includes a Pattern Lab (node) styleguide for your project. During our call, we ran the theme generator locally and my colleague explained how things are organized, which commands do what, how to add components, etc. At the end of this hour I could feel my FED muscles flexing. :)
From Summer to Fall and Beyond
After the list was complete and the leaves began to change, my mentorship program wound down. At this point I was in a much better position to execute larger and more complex front-end development tasks than before. Since then, I have been able to bridge the gap between our design and front-end teams; in some cases I have scoped and created front-end tickets for features that I designed, in other cases I have jumped in to fix bugs, and I have not only designed a new feature but also created the front-end components for backend integration. While I don’t always know all of the answers to all of the problems, I now have a deeper understanding of the means to a solution and a trusted group of peers to collaborate with.
While this post has focused primarily on my individual program and the benefits I have gained as a mentee, these relationships have mutual benefits—not only to mentors but also to businesses. Mentors are empowered to become leaders by becoming experts in their discipline(s) by:
- Teaching someone about what they do daily, which forces them to reflect on their skills and understand the key components for success.
- Forming a working relationship with another person under a set of shared goals and objectives, which creates valuable qualities of trust, accountability, and understanding among their peers.
Businesses, on the other hand, retain talent and thrive as these relationships are proven to cultivate dedicated, collaborative employees who feel valued.
Have you had a mentor? Have you been a mentor? What was your experience like? I’d love to hear about it.
To join our team and experience Mediacurrent mentorship yourself, apply to one of our open positions!
This post was originally published on 12/6/2018 and has been updated with new information.