Staying in Touch with the Tech Community
As a software engineer, one of the first principles of your profession is that you never stop learning. Technology, and software engineering specifically, is evolving at such a rapid pace that the skills you learn one year may not continue to serve you in the years to come. As your career progresses, your arsenal of skills will need to adapt to new positions, new environments, and new challenges. You can't expect to graduate from college, then get by with the skills you learned there until you grow old and retire. You're going to need to stay engaged, and one effective way to do that is to stay in touch with your community.
Thanks to the power and freedom of the internet, community no longer only refers to the people living a short car or bus ride away. Instead, we can connect with a vast worldwide community of like-minded professionals. Millions of people in the world are building software, and even with a small fraction of those people actively engaging in the tech community, the result is a bustling, healthy ecosystem of energetic engineers eager to share their experiences and learn from others. Connecting with this community, even as a passive observer, is a fantastic way to keep your mind sharp and your skills continuously improving.
I want to share with you some ways that I stay in touch with the tech community. Over the years I have tried out many tactics, but only a few have proven sustainable. By employing the techniques I will describe, I always have a wealth of quality knowledge at my fingertips, so that when I am ready, I can browse it at my leisure and get the most out of the time spent. While not a substitute for hands-on experience, my hope is that some of these techniques will help you, too.
Tune In to Sources with High Signal 🔗
Reserving your attention for valuable content is the most important point.
A lot is happening in the tech community, and there's no way you can keep track of everything by "drinking from the fire hose". Instead, tailor your connections to your core areas of interest. Initially you can cast your net wide, following various sources that pique your interest and trying out all possible mediums. As you begin to read, listen, watch or attend to your various outlets, the key is to pay attention to where you get the most value for your time spent.
This process is like measuring your personal "Signal to Noise Ratio", where "signal" in this case is information that is valuable to you, and "noise" is everything else. Your goal is to maximize the amount of signal you get from the content you consume, so you aren't wasting your time. The best way to do this is to simultaneously remove sources of noise and add new sources that could provide signal. Over the long term, this will result in most of your content sources being high quality and tailored directly to your interests.
Throughout the remainder of these tips, you'll notice this trend in action. In every case, the goal is to create a pool of potential content to tap into, let the best material bubble up to the top, and occasionally trim the remainder away that you didn't find useful.
Subscribe to Audio Content 🔗
Listening to audio content while you attend to your life is a great way to stay on top of your interests while also getting routine things done.
When I am exercising, working in the garden, cleaning the house, driving around by myself or folding laundry, I like to listen to things. I have found that podcasts, conference talks and audiobooks are all excellent to listen to during these activities.
Podcasts are my top choice for listening. I have an iPhone, and my podcast player of choice is Pocket Casts. The podcast format is generally more casual and conversational than a blog post. You can find podcasts in practically any genre you can imagine.
To find podcasts, I search in my web browser using keywords. Searching this way finds podcast websites, surrounding content and relevant links, which usually works better than an in-app search. Once I've found a podcast that looks interesting, I look it up directly in my podcast app, then subscribe to it. Subscribing to a podcast "bookmarks" that podcast in your player, so that you have easy access to its episodes. In Pocket Casts, you can then configure a filter to show you a list of all episodes from all podcasts going back in time. I will occasionally scan this list for episodes that stand out, and add those to my "Up Next" list. Finally, when I want to listen to something, I play that list.
At any given time, I usually have 15-20 episodes queued in my "Up Next" list, which means I can quickly throw my headphones on or plug my phone into my car and start listening. For my favorite podcasts, I even have them configured to automatically queue new episodes to the top of my "Up Next", ready to go.
Here are a few of my favorite podcasts:
- StaffEng podcast. It features conversations with software engineers who have progressed beyond the career level, into Staff levels and beyond.
- Maintainable podcast, where Robby Russell speaks with seasoned practitioners who have worked past the problems often associated with technical debt and legacy code.
- The Changelog podcast. Weekly discussions with people across the open source and software engineering world.
- The InfoQ Podcast, with conversations geared towards architects and senior developers.
- Chats with Kent podcast, where Kent C. Dodds (a React software development trainer) chats with developers about life, career and code. His 3 minutes with Kent microcast is also good.
- Soft Skills Engineering podcast is a lighthearted show where they respond to listener questions with witty banter backed up by industry software engineering management experience.
Conference Talks 🔗
Conference talks aren't a major source of content for me, but occasionally I will go find the YouTube channel of a specific conference that I am interested in. Typically, conference YouTube channels will create playlists that correspond to the group of videos that match a given conference. For example, this playlist from the 2020 GOTO Conference in Chicago, Illinois, USA. I like to browse through these playlists, adding any talks that stand out as particularly interesting to my "Watch Later" queue on YouTube. That way, anytime I am interested, I can open up the YouTube app on my phone and play the watch later queue.
This experience is improved greatly by my subscription to YouTube Premium. I primarily subscribe to YouTube for its integration with my Google Home, but an additional perk of this service is the ability to listen to YouTube videos when the mobile app is in the background. It also removes any advertisements! The result is a smooth listening experience whether I have my phone in my pocket or hooked up to my car.
Here are some channels that have good content I like to listen to:
- Rust channel. Example: Rust LATAM 2019.
- AWS Events channel. Example: AWS re:Invent 2020 Breakout Sessions | Architecture.
- Strange Loop Conference channel. Example: Strange Loop 2019.
Audiobooks are my least preferred form of listening. Not only are they rarely freely available, but technical books usually do not translate well to audiobook format. Additionally, I am a bit sentimental with books. I like to have physical copies when possible, so that I can write in them, refer to them, and loan them out to friends and coworkers.
All that being the case, I do occasionally purchase audiobooks that discuss soft skills such as leadership, career growth, and personal growth. Sometimes Audible will run promotions that gives a good deal on some audiobooks, so I will subscribe for a time to take advantage of it and then unsubscribe later. In these cases, I will pick a book from my wish list (more on this later) that fits the medium, and purchase it in audiobook format instead. Some audiobooks I have enjoyed in the past are:
Save Interesting Articles to Read Later 🔗
I enjoy reading, and split my reading between online articles and books. Online articles, usually blog posts, contain the freshest, most relevant content available. These could be news-related content, opinion articles, deep technical overviews, software documentation, and more. While running across good articles randomly does happen (looking at you, work Slack 👀) I have found that mailing lists and blog subscriptions provide a consistent stream of high-quality and interesting articles to read.
(Psst... You can see some of my favorite articles in my Pocket recommendations page! 🔖)
Mailing Lists 🔗
Tech-oriented mailing lists can be great, but the first step to benefiting from them is to tame your email inbox 😅. Once you are there, though, mailing lists provide a curated view of the tech world through the various lenses your chosen lists provide.
The most common kind of content I receive via mailing lists is news. The benefit is that I no longer have to go search to find out what is happening in the tech industry - each week, the newsletters deliver that news straight to me. The key is finding the right newsletters so that all your main interests are covered.
When I receive a newsletter from a mailing list, I typically will skim over it, saving any interesting articles to my Pocket account. Then I will archive the email and go about my day. Later, when I have time, I will go to Pocket and pick an article from the top of the stack to read. This is usually between tasks at work, after lunch, or before going to sleep. My Pocket list is massive... I generally have way more articles to read there than I have time for, but the most interesting content will get read. Pocket also gives me a way to track all the articles I read, so that I can refer to them later if I want to share with others.
The mailing lists I find most interesting are:
- Changelog Weekly, general news and interesting projects in the open source and software development world.
- Node Weekly, delivering Node.js-related news and topics.
- StatusCode Weekly. What's happening in web development, ops, platforms and tools.
- Hacker Newsletter, a weekly curated list of the most interesting topics from the startup and technology board Hacker News.
- Software Lead Weekly, a weekly email for busy people who care about people, culture and leadership.
- ThoughtWorks Technology Radar, a bi-annual commentary on tools, techniques, platforms and languages that are trending in the tech industry.
Blog Subscriptions 🔗
Subscribing to an individual blog is more personal than a mailing list. When I subscribe to an individual blog, it is someone that I respect and am keen to read anything they write. Most blogs allow you to subscribe to them in one of two ways: email subscription or RSS feed. An email subscription is just like signing up for a mailing list, except it is only that person's content you will be receiving. An RSS feed has to be treated differently.
To subscribe to an RSS feed, you would normally need an RSS feed reader application. The most popular feed reader used to be Google Reader, but that was discontinued in 2013. Today, some people use apps like Feedly, but I use Blogtrottr because I like to triage new blog posts the same way I triage mailing lists: in my email inbox.
I follow many blogs, which all have varying rates of activity. My favorites are:
- Michael Nygard. Author of Release It!, he writes about DevOps, Architecture and software craftsmanship.
- Martin Fowler. Enterprise application architect, author and speaker.
- Keavy McMinn. Staff-level software engineer. GitHub alumni.
- Michael Feathers. Author of Working Effectively with Legacy Code, he writes about enterprise application development.
- Jessie Frazelle. Serial silicon valley software engineer. All around hacker. Also has a column in the ACM Queue magazine.
- Camille Fournier. Author of The Managers Path, she writes about software engineering careers, management and leadership.
Keep a Book Nearby to Read 🔗
While online articles are amazing (and predominantly free), books provide a deeper look at specific subjects. The level of detail you get from a book is not likely to be found in your everyday online publication, so there is a time and place for reading books.
My strategy is to make a book wait. If I want to read a book, I will find it on Amazon and add it to my "Books for Work" list. When the time comes to buy books, I will choose from the list based on what topics are relevant to my current interests. Sometimes books sit on that list for months or years before they are purchased, but if they are good they will frequently bubble up to the top as I add them again (not knowing they are already on the list!) or when they come to mind.
Here is a sample of some recent books I liked:
- DevOps for Dummies by Emily Freeman. The definitive DevOps book.
- The Manager's Path by Camille Fournier. Excellent software engineering career manual.
- Fundamentals of Software Architecture by Mark Richards and Neil Ford. Covers software architecture terminology, patterns, and case studies.
- The Rust Programming Language by Steve Klabnik and Carol Nichols. An eloquent and comprehensive guide to Rust. Also available as a free book online.
Join Local (or Online) Meetups 🔗
Finally, reach out in the real world! In most medium to large -sized cities, meetups exist for many technological topics. These meetups are usually a chance to get to know other like-minded people, hear presentations about relevant topics, and maybe even give a talk of your own. Getting to know people in your area has the added benefit of being a network you can draw from if you need a new job.
Due to COVID-19 pandemic, I have been detached from my local community, but I'm looking forward to getting back to it. There's a Cloud Native meetup in my town that tends to share DevOps-oriented topics, and I am going to start looking for an ACM or IEEE meetup soon.
Don't Stop Learning 🔗
If you're a software engineer, the goal posts are always moving. Staying in touch with how software is built, learning new techniques for solving tough problems, and understanding trade-offs of new technology are all important parts of building a strong, lasting career. And they all stem from continuous learning.
So go forth, connect with your community, and grow.