One of the most useful skills I picked up during my Ph.D. studies was how to turn light refreshments into a whole meal. The trick is to combine hunger and the ability to ignore shame for personal gain. Then one needs only spend an awful lot of time at the end of an event milling about and talking to people. Originally, I was using idle banter as a fig leaf for getting my grub on.
Over time, I perfected my ability to speak to strangers about my work so that it was easier to mask my hours-long consumption of horderves. I’ve come to appreciate that the ability to interact with a group of strangers and network has been a cornerstone to my success as an engineer.
We often have to work with new people as engineers:
- onboard a new colleague
- interview people who use our software
- meet a new trainer
- Join a new team or company
- Go to a social event with our colleagues and their significant others or friends
Navigating these social situations well is central to our jobs. Programming is table stakes for a developer. Our job is to communicate information. Other developers, our users, and the business all need information about our product in some capacity. This information helps them better build, use, and sell our product respectively.
Networking has positive outcomes beyond being understood by colleagues and stakeholders. Even with a doctorate and a decade of experience besides, I am not, nor could I ever be, an expert in all of “software development”. When I run into a question I don’t know how to answer, I ask my network. They give me good advice and pointers to further research. Building this network is a form of cognitive offloading. It’s comparable to note-taking, daily planning, and checklists.
Let’s say you’re convinced. You want to network with your peers, but you’re not sure where to get started. Professional networking has two fronts: socializing skills and building your network. Barrels upon barrels of ink have been spilled in describing the best ways to improve one’s social graces. I can’t do better here than what’s already been written. Instead, here are some books covering social interactions that I’ve found helpful:
- How to Win Friends and Influence People
- Crucial Conversations
- How to Talk to Anyone About Anything
- Talking to Strangers
Likely, you mastered the basics of socializing early on in your academic career. Roughly around second or third grade. If you’re like me, it may have taken until the crucible that is high school.
Once you have the basics down, the only thing to do is to get out there and practice. Practice, in this case, means being in social situations. Finding opportunities to meet new people and making time to attend are the hard parts.
If you’re struggling for a place to get started, here are some typical styles of events you likely have access to in your area:
Go sit in a coffee shop with a laptop, do some work, and make small talk for a couple of hours on a weekday morning. I like these because they’re very low stakes and thus low stress. If you want to sit back and let others speak, that won’t be odd. You’ll look like the three other people absorbed in some difficult technical problem.
People go to these events specifically to network, and some folks even use them to job hunt. Thus, a little self-promotion and bragging about what you’re working on won’t be out of place.
This is where the Python folks gather to discuss their craft. This is where the Haskell nerds join up to talk about the beauty of algebraic type systems and make monad jokes. They often have a social aspect (e.g. lite refreshments and chit-chat) followed by a technical presentation. These events are nice because they’re focused.
Focusing on a language gives you common ground with the other attendees before you even walk in the door. This can make starting a conversation easier. It gives you something to pivot back to if the conversation goes off the rails.
Alumni Networking Events
Most colleges, technical schools, and code camps run alumni networking events. As a student, these show you what you might be doing with your degree once you matriculate. As an alumni, they give you an opportunity to meet potential hires and employers. The focused nature of the event (the institution) gives you and other attendees at least one thing in common.
Not every opportunity for professional networking has to be in a professional setting. Hobby groups, especially things like Friday Night Magic or Board Gaming meetups have worked well for me. There are a variety of, for want of a better word, nerdy, hobbies that developers enjoy. The focused nature of the event gives you an in for conversation.
Except in situations where it’s expressly forbidden, I find that every conversation I’ve had as an adult that’s lasted more than half an hour has eventually wandered towards “So what do you do for a living?”. Maybe you’ll meet someone working in the same field, or maybe you’ll meet someone who can connect you with someone in your field. If not, you still got to enjoy your hobby and make some new friends on the way, and that feels like a win to me.
Learning and Iterating
We can apply the old chestnut of build-measure-learn to networking events:
- Go to the event and build your network
- How things went
- How you felt
- Should I go back to this specific event?
- Do I like this type of event?
- If so, look for more opportunities like this
- If not, what didn’t you like? What sort of events change just that?
Social networking is an important part of being a functioning software engineer. No one engineer can know everything. Having a deep bench of colleagues gives us a deep bench of experts in various areas. Beyond that, it is rare that one job is the perfect job for your whole career. A large network helps find places to work, and in evaluating the quality of a place before you accept a job there. Like any skill, being good at networking takes practice. I hope to see you practicing at Carmel’s Code & Coffee, an SEP Talks Event, or local conferences like Indy.Code() soon!