Want to be a Programmer? Find Mentorship Through Tech Communities.

Finding my local tech community and participating in various open source communities has been my single most valuable privilege in the context of my career  and fueling my passion for web development. If I had to choose between a master’s degree or all of the wisdom I’ve found and friends I’ve made from talking to developers at user groups, conferences, and events over the past 5 years, I might hand over the degree. It’s also been a major part of my personal life; if you’re passionate about what you do, there’s nothing that compares to building relationships with others who share your passion and learning from each other. Picasso said that when art critics get together, they talk about art but when artists get together, they talk about where to buy cheap paint thinner. That’s what tech community means to me.

Through my involvement in tech communities—first as a new guy in the back of a user group meeting; then as a regular attendee of user groups, conferences, and events; and finally as an evangelist, speaker, and organizer—I’ve been fortunate to meet a number of people I consider mentors. Some of these people I only see a few times a year; others are some of my closest friends. Through little drops of wisdom and brief conversations, all have changed the way I see my craft or how I approach learning and honing it.

I reached out to a friend when I first got a job in web development; and to my panicked plea for advice about how to be a programmer he replied, simply, “be a sponge”—to sponge up information and learn as much as I possibly could. It’s simple but I still think it to myself all the time.

In the carpool on the way back from a JavaScript conference, one of our local user group leaders encouraged me to read source code of the libraries and frameworks I use, instead of only relying on blog posts, books, and documentation. He also suggested, for the first time to me, that programming is a superpower and that by learning new languages, patterns, frameworks, and libraries, I could gain new ones.

Someone else, at that same JavaScript conference, recommended a FrontendMasters workshop that has led to me watching over one hundred hours of FrontendMasters material and developing a much deeper understanding of JavaScript.

These sorts of encounters demonstrate how a little bit of guidance can have a huge personal impact. Sometimes just hearing something from the right person makes all the difference and I consider those people to be mentors.

Being a mentee

Mentorship is not always a formal relationship; it often happens organically and you might not even recognize it until later but it’s a powerful type of relationship with the ability to shape both parties.  In all of these examples I’ve listed, I was grateful for the guidance but at the end of the day, what matters is what I did with it; my success is my responsibility, no one else’s. I’ve found that the best advice in my life comes in the form of a seed that I can either swallow or grow into something great. One of the keys to mentorship is demonstrating that you can take those seeds and grow them in to fruit trees. For the mentor, that’s the greatest reward—but it’s not until you grow those trees that their anecdotal advice becomes mentorship.

During my time as a developer, I’ve seen others share my experience; they show up with nothing, listen intently, follow every lead, and quickly grow in to passionate programmers with enough knowledge and experience to give talks and, of course, get jobs. I’ve seen others with all of the same potential ask lots of questions but dismiss good advice; demonstrate an unwillingness to put in the hard work and; tragically, forfeit the opportunity by driving away potential mentors.

To reference the old saying “Give a man a fish, feed him for a day—Teach a man to fish, feed him for a lifetime.” It’s not a mentor’s responsibility to hand out fish. I’d also take the radical position that it’s not a mentor’s job to teach you to fish; the most profound sort of guidance you can receive from a mentor is the realization that you are capable of learning to fish and that, in doing so, you can feed yourself. It’s on you to learn.

Becoming the mentor

Having benefited so greatly from the generosity and wisdom of smarter people around me, I feel an overwhelming urge to pay it forward and provide the same benefit to others. To me, that means my role is to be the best I can possibly be at my craft so, given the opportunity, I can point somebody in the right direction. The cycle never ends and mentorship requires a drive for continuous self-improvement. Mentorship inspires passion and excellence on both sides of the relationship.

Ok, Sold. Where do I Start?

Start with programmers you know. Ask them if they would be willing to talk to you about what they do and offer advice about getting started. Check online for user groups and conferences. User groups are usually free and open to everyone; check meetup.com, facebook or google for user groups in your city. (If you’re in Memphis, visit the Memphis Technology Foundation website.) If there aren’t any user groups near you, there are online user groups and communities like Nomad PHP. Tech conferences usually cost money and may require travel but they’re worth it to meet and learn from real people. If the cost is an issue, check with the organizers or your employer to see if there are scholarship options. A lot of developers are on Twitter; follow them. See what they’re working on, what books they’re reading, what conferences they’re going to, what libraries they’re using (and, occasionally, what they’re pissed off about). You can also follow and participate in discussions on Github where a lot of decisions are made about the future of software that millions of people use every day. Bringing this all back around to mentorship, the common factor in all of these thing is seeking out peers and experts to connect and learn from each other.

An important call to action to non-“twenty something white dudes” and anyone led to believe they can’t participate in this industry.

It’s no secret that the tech industry is disproportionately comprised of white dudes. It’s in the news but I see it first-hand all the time and it’s disheartening to say the least. I don’t think it’s fair to talk about my experience without mentioning this but you can change it just by showing up. Break the cycle.

When I got in to programming, I believed a lot of falsehoods about being a programmer that have long been propagated, not necessarily by those aimed at keeping people out, but by those who genuinely don’t understand what it means; misconceptions like you have to be a genius who started coding at 6 years old, or you have to have a computer science degree, or you have to be a certain type of person to fit in. To that, I say “Pshh.” I’ve met all sorts of programmers and some of the best I know started late or don’t fit the cartoon character tv programmer image. I’ve also met programmers with computer science degrees and decades of experience who stopped learning long ago and lost touch with their craft and the industry landscape. Don’t let anyone convince you this is an exclusive party.

The first time I went to a user group, I knew nothing and I had no idea what I was walking in to or how I would be received but I was welcome and I learned things at that meeting that I still use today. Just a few years later, I still feel like a complete outsider with a lot to learn, but I’m also a full time developer, user group organizer, and conference speaker. I want to see everyone have that experience and, as someone on the inside, I believe these inherently inclusive communities crave diversity and judge their members most heavily on their willingness to better themselves. Get involved. Be a programmer. Shape the communities; shape the industry.