background image
James DiGioia

my little web home

Kenyan yo-yo player

What yo-yos taught me about being a developer

When I was in 4th grade, a yo-yo fad passed through my middle school. Because they were cheap, we all got one, and we were obsessed. We debated which brands were the best, which yo-yo style worked well, and how to do tricks. This was all pre-Internet and entirely word of mouth. We’d hang out in little groups at school, showing off what we’d learned and teaching each other.

This past Easter, my mom made us Easter baskets of goodies for our family. Besides the normal varieties of sweets–mostly chocolate, including some British (!) candy bars (omg Lion)–in the basket was… a yo-yo. I pulled it out, wound it up, and dove into several of the tricks I had learned when I was younger: Walk the Dog, Cat’s Cradle, and the Boomerang (don’t quote me on these names). It felt good to flex those old muscles, and impressed my family at the same time 😎.

I started my career in social media and spent four years working at companies where I was mostly the only person doing social media marketing, and I didn’t work with people who knew more than I did (and I did not know much). While I had a lot of freedom to do what I wanted (within reason), I missed out on a ton of learning. No one told me I was doing something wrong, or dumb, or what I could be doing way better, or more of, or whatever.

When I transitioned to web development, I worked at a company where I was surrounded by people smarter than me; who knew more than me; who could teach me things I didn’t know; who could answer questions I had; who I could debate with. While I dedicated time to self-learning, my most important learning experiences were the ones I got from other developers.

Years later, despite having not picked up a yo-yo since middle school, those tricks were still fresh in my mind. The learning process was social–your friend stood there and taught you the trick, highlighting what you’re doing wrong and correcting mistakes, until you’ve finally got it, and it worked so well I never lost those skills.

Learning development is no different. You can read all the books you want, but the feedback loop of regular review of and conversations around your code can accelerate the process–no book is going to tell you implemented its pattern wrong! We have a reputation for being quiet loners, but learning is a social process. Be social! I am eternally grateful both to my colleagues and my communities for everything they’ve taught me. They will be an invaluable resource to you.