Skip to main content

Blog Post

Mediacurrent Mentorship: My Summer of Code

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 recently had the opportunity to begin an individualized mentorship program – lovingly titled Justin’s Summer of Code – with the goal of sharpening my frontend 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 an 6-week span regular check-in video calls are scheduled to keep consistent contact and progress. For me, Creative Services Lead Cheryl Little was integral to my transition and continues to be a BFF and sounding board for me long after this new employee mentorship arrangement has ended.

Beyond these initial “Get to know Mediacurrent” engagements mentorship opportunities are open and available on an individual basis. Let’s talk about mine!

About Me

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 – how design (art) fits in to, informs, and impacts business goals (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. Growing up in “the age of the internet” and having a software engineer as an older brother 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 had been able to add frontend development abilities to my professional skill set. Most significantly, in a previous role, I was responsible for upgrading, redesigning, and maintaining a collection of Drupal sites. Through grit and determination, I learned enough to feel proud of my work and confident in my coding abilities. This experience put me reasonably above “knows enough to be dangerous” but nowhere near “rockstar developer”.

Setting up Summer

In episode four of his goServeOthers podcast, Mediacurrent Open Source Security Lead Mark Shropshire outlines 3 important action steps to starting a mentorship relationship:

  1. Identify a growth need
  2. Identify a possible mentor
  3. 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 frontend abilities, I recognized that I was lacking certain experiences like contributing to large, well-structured codebases, established software project management workflows, modern tools and best practices, 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.

In this case, Steps 2 and 3 were somewhat more formalized than Shrop explains in the podcast as building this relationship became part of my daily work life. Regardless, the path to get to where I wanted to be was the same.

Step 2: Identify a possible mentor

This step was somewhat simple for me in that Mediacurrent has a dedicated team of well-experienced frontend developers. To start, I took a series of intentional actions to demonstrate my interest and abilities. I first joined several of our topical Slack channels where these ongoing conversations happen. I would read, observe, offer my opinions where I could, ask questions when I didn’t understand something, and participate in relevant conversations. When working on specific projects, I would look 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 was able to demonstrate my abilities and learn from others in a hands-on scenario. In taking these actions 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, Creative Director Sheree Hill, we discussed where my interests lie in terms of career growth and development. Recognizing the opportunity for mentorship, Sheree relayed our discussion to Zack Hawkins, our Director of Front End Development. While Zack wouldn’t ultimately be my mentor, he was the person to facilitate the arrangements that would ensure a successful outcome.

Step 3: Ask for a meeting

Next, Zack and I 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 during this call which, in the end, included a list of items 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 frontend 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 time frame – summer – during this meeting to ensure that the mentorship program allowed progress to be made in a reasonable amount of time but wasn’t a burden on anyone’s schedule. 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, Zack, and 3 members of our FED team – Clair Smith, Tim Dickens, and Eric Huffman. During this call we introduced the mentorship arrangement and reviewed the peer-to-peer session topics. Now that my growth need 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 reach out to me on an individual basis to set up time to cover a topic of their choosing from our list when time was available in their busy schedules. My first session was with Clair and addressed the topic of ticket structure and estimation. During this call she 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. Clair’s insight enlightened me to the fact that these preliminary, planning-oriented steps allow a dev to: 

  1. think through and document all that is needed for a feature to be realized before they write a single line of code, and

  2. 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. Mind. Blown.

My second session was with Eric and addressed the topic of creating a Drupal theme from scratch. While I was familiar with the differences between Drupal 7 and Drupal 8 from previous work, Eric 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 KSS node styleguide for your project. During our call we ran the theme generator locally and Eric 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. :)

As the summer rolled on, subsequent sessions included theme debugging in Drupal 7 & 8, JavaScript in Drupal, and GIT tips and tricks. In stepping through these critical topics with well-seasoned FEDs I not only gained a much deeper understanding for our tools, standards, and processes I also gained tight-knit working relationships with colleagues I may have mostly been handing off work to previously. As fall approached I was starting to feel unstoppable.

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 frontend 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 frontend tickets for features that I designed, in other cases I have jumped in to fix bugs, in other cases I have not only designed a new feature but also created the frontend components for back end integration. While I don’t always know all of the answers to all of the problems I have to solve I now have 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: 

  1. Teaching someone about what they do daily, which forces them to reflect on their skills and understand the key components for success.
  2. 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 enabling these relationships has proven to cultivate dedicated, collaborative employees who feel valued and pleased with each new day. 

Have you had a mentor? Have you been a mentor? What was your experience like? I’d love to hear about it.


Meet team member, Justin Rent

Justin’s educational background — combining a BS in Graphic & Communication Design and an MBA in Marketing— allows him to thoughtfully connect the dots between user experience, Drupal as a...

Learn more about Justin >

Related Insights

Access icon Up arrow icon Drupal 8 icon Facebook icon - white Facebook icon - blue outline Facebook icon - yellow Hollow right arrow icon Hollow right arrow icon - white LinkedIn icon - white LinkedIn icon - hollow LinkedIn icon - blue outline LinkedIn icon - yellow Mediacurrent wordmark Quote icon Twitter icon - white Twitter icon - hollow Twitter icon - blue outline Twitter icon - yellow Youtube icon - white Youtube icon - yellow