I wanted to take a minute and speak about the importance of attending conferences for software developers and how to identify conferences that will be valuable to you and your team. Conferences for software developers are not a new thing, but I have been involved in discussions where the value to individuals and the return value for companies to send their teams to these events has been put in question. It is not cheap to load up and send off an individual. It is an even more costly deal to send a team of software developers across the country or across the globe to one of these events. So, the question is worth some time.
In addition, more of these events feature either live streaming or post-conference videos for those that prefer to attend from the comfort of their home. Is there added value by being in attendance at one of these events? I believe so. In February 2019 I attended CodeBeamSF a developers conference focused on the BEAM languages.
At this conference, I was able to sit in on talks given by WhatsApp engineers that talked about their struggle in migrating 1.5B users to Facebook Infrastructure. I learned from Renee Orser how to properly design an engineering org to create a unified architectural model for the efficiency of the team and for a cohesive solution for customers. I heard from Fred Hebert who magically explained how a complete vision of a software system needs to include the humans involved and to take their perspective as well as their impact into account. This is a requirement when debugging systems from a high level. I also had the chance to meet José Valim, who without a formal computer science background created Elixir — A programming language I have cherished over the past few years. I was able to shake his hand and admire the impact he has had on my own life and others.
The experience was great. It had done more for me in a few days than what I, a devoted software craftsman, had been able to do by my own devices in several months. I was able to network with other passionate people and get exposed to valuable lessons. The most valuable aspect of attending this conference was perhaps being exposed to this community and seeing it actualized. The Elixir community is thriving online, but it wasn’t tangible in my day to day activities. Sure, I benefitted by leveraging libraries and discussions to help me solve problems. Yet, in the rooms of that conference, we were all participating in this real thing and I found myself reinvigorated, renewed and wanting to do more.
What made this conference valuable and what should you look for when considering conferences?
The attributes I look for when picking a conference are the following:
Are the topics relatable?
The first aspect of the conference I considered was is there material I would understand? If CodeBeamSF only contained talks on Erlang, a language I have only worked with a few times, I probably would not have attended. Instead, I found they had an equal focus on Elixir and Erlang with several talks that considered both. Beyond just the language, the problems people were discussing in their sessions were equally as important. I found myself intrigued by WhatsApp engineering manager Igors Istocniks’s talk regarding migrating user data across data centers. This talk was relevant because at Podium we recently solved a similar problem at a smaller scale. Additionally, CodeBeamSF had multiple themes with every talk belonging to one of the following
- Introduction to Erlang and Elixir
- Case Studies
- The BEAM
- Distribution Concurrency, Multicore & Functional
This meant that every hour I would have a wide range of topics to select from and that I would be able to find a presentation that would be applicable to either my personal interests or the problems I need to solve in the office.
Do the speakers have expertise in the subjects they are speaking about?
This one may be hard to measure just by reading the topics, but dig into the speaker's bios then do a google search of the speaker’s name and the companies they represent. Based on the information you found, you should be able to determine the credibility of the speakers at the event. At CodeBeamSF not only was the creator of Elixir, José Valim, present, but if you did the suggested search for Renee Orser, Fred Hebert, or Tyler Bettilyon you would find a rich assortment of their contributions from blog posts to books to training videos and more. Speakers build up their credibility over time and the best of them maintain a trail of public contributions that will lead you towards them and their next engagements.
Are the speakers diverse and does the conference have a code of conduct?
If the speakers at a conference are not representative of the global audience we are solving problems for then we are wasting our time
The presence of diverse speakers is a signal of a healthy ecosystem and the abilities of the conference organizers. If the conference lacks diversity the discussion is likely to be insular and lack the breadth of ideas required for innovation. In software development as in most things, there is more than one right way to solve a problem. Additionally, we are required to solve problems for people of all backgrounds and identities. The inclusiveness of multiple perspectives is critical to finding the right problems to solve and then in utilizing possibly novel solutions for those problems. If the speakers at a conference are not representative of the global audience we are solving problems for then we are wasting our time as there is probably another conference out there that operates at a greater inclusive scale. If you are in the minority in your workspace attending a conference where you can see and talk with other successful individuals that identify along similar lines as you, it will have an impact. I found that my ideas of belonging in this industry were reaffirmed after participating in inclusive conferences like CodeBeamSF and hearing from bold speakers that I identified with.
The code of conduct is another must have. The lack of a code of conduct communicates more than laziness by the organizers. It communicates a lack of responsibility and direction to conference participants. I would not recommend attending a conference that lacks a code of conduct.
Will I be inspired by the subject matter or the speakers?
The most important aspect of a conference is the inspirational factor. Are the workshops and discussions going to motivate you when you get back to the office on Monday? Are the words of the speaker going to reside within you fundamentally changing the way you apply your skills after you leave? Well, they should! But this is the hardest aspect of a conference to gauge when you only have the conference site to measure.
This aspect of conferences is learned over time or communicated to you by trusted sources. The folks who organized CodeBeamSF facilitated inspiration by welcoming possibly controversial topics to a developer audience such as Tyler Bettilyon’s “Are Programmers heading towards another bursting bubble?”. Finding topics that will incite a candid conversation and finding conferences that know how to facilitate those discussions are key. I recommend following the speakers on Twitter and viewing videos from previous conferences to see if the organizers are recruiting the type of speakers that will renew your energy and push you in your own practices. After going to a conference and meeting individuals you respect, reach out to them and ask if there are other organizations and conferences they would recommend you participate in.
The conference is over now what?
Conferences provide a public melding of thought, much like an open source project asks the public to extend a hand to provide a shared service, a developers conference asks the public to extend their stories and experiences for others to utilize. Like open source projects, conferences require some to give as others are partaking. Now it is your turn! Time to share some of your experience by preaching your practiced development philosophy. At the end of CodeBeamSF, I decided with my colleague who also attended, that we would return to Podium and build a prototype utilizing technologies we learned more about at the conference. Please see the second section of this post for more details on this prototype.