Pictured above: A 3D rendition of Legolad, Erick’s charismatic bard character in D&D. Not Pictured: Legolad’s choice instrument, the kazoo.
By Erick Roder
Recently, a few crew members started our first Dungeons and Dragons campaign. For our first campaign, the dungeon master told us to build a character similar to our personalities. Believe it or nay; I chose to be a chaotic good bard. My character sings, talks, and dances his way out of all sorts of trouble with charisma. My character is also balanced in battle. One of the abilities bards have is the “Jack Of All Trades.” What exactly does that mean? According to the D&D Player’s Handbook sitting on my desk right now:
“Bards spent their lives trying to learn from people of all skills and walks of life. When you finish a short rest, you can choose up to two skills, tools, or weapons you are not proficient in. You must spend at least thirty minutes training yourself with another character who is proficient with the chosen skills, tools, or weapons, and are willing to teach you.”
– D&D Player’s Handbook, 5th Edition
What does that mean for our team? We spend a little time each week learning a new skill outside our regular job duties. Designers are learning how to be Business Analysts, Developers are learning how to do Quality Assurance, and I’m learning Project Management—understanding the entire process from an inbound sales request to application launch has so many benefits to our team.
The first and most important benefit is expanded flexibility. We’re a small team. We need to be able to back each other up. Going from a small to medium size company has been a fun ride with more moving pieces and projects in flight. We run into real capacity challenges when one person is the only one who knows how to do their role. Giving everyone and every role backups allows more project fluidity, an essential component of AGILE development shops. Continual learning also prevents boredom and burnout. New challenges keep work from being monotonous.
Cross functionality also gives everyone a better perspective. Our quality assurance team does not want to send work back to our development team. Our development team does not like to send code that doesn’t pass the quality assurance team’s testing. The critical lesson from working in both roles is the opportunity to learn what makes code fail a QA test. Learning another position builds respect across teams. Everyone can write, but that doesn’t make everyone a writer. Learning how other internal teams work and their workflow holistically improves our entire software development process.
The last component of cross-training is the most important. One of our core values is to have a growth mindset. The greatest app developer skills from ten years ago do not always translate to skills needed today. Continually evolving is one of the most excellent parts of working in tech. It also presents the most significant challenges for software development companies; sometimes, keeping up with the newest and shiniest tricks and tools is challenging. Building training and role evolution into our work week allows for professional growth. It helps build better leaders, keeps our team in front of our entire industry, and allows our team to promote from within.
Staying focused on your core role while learning other components of the software development process is so important to our small growing team. This approach is leveling us up as a dev shop. Instead of being a jack of all trades, master of none. Cross functionality makes our crew be a jack of our trade.