The stereotype of a software developer is as old as the career itself. When you think of a software developer you likely think of someone sitting in a basement hacking away at a problem hoping to find the ever elusive eureka moment. If only it were so easy! The painful truth is that many lessons never have eureka moments. Lessons are learned through slight revisions over time until the answer we seek is brought in line with our incremental increase in knowledge. In short, through experience.
The good news is that there is a shortcut to learning, a way for you to expand your knowledge base far faster than sitting alone in your basement. What is it? Community! It’s likely that others who have walked paths similar to yours have seen perils you can’t yet know. An experience doesn’t have to be yours in order to learn from it. Newton said, “If I have seen further, it is by standing on the shoulders of giants.” Today we cover three easy ways to join your software development community.
Friends & Co-Workers
Have you ever wondered how many of the world’s problems have been solved on a restaurant napkin? Making friends you can talk shop with over lunch is one of the most important things you can do as a professional, particularly in the early years. These people know you well enough to have insight into how you think. They can help you navigate the next client meeting, understand how to handle office politics, and teach you the techniques they’ve used to solve problems like yours. Moreover, you can try your hand at teaching a peer a new technique. Friends also make great sounding boards for presenting a controversial doctrine prototype without putting yourself under the large community microscope.
Your local meetup is often the most obvious place to go when you’ve got a passing curiosity on an unfamiliar topic. It’s also a great space to practice your presentation skills. Often, you’re familiar with the way your team has solved a problem. But have limited perspective on how an alternative solution to this problem will compare. Hearing a local tell the tale of their journey to the solution they discovered will help accentuate the faults and benefits of your own. More importantly, you’ll understand how to measure the trade offs and opportunity costs of decisions made at architecture.
Whenever people talk about “upstream” they’re often talking about conferences. Many of the decisions that you live with every day in your software stack were made before you ever touched it. The keynote speeches are run like are well oiled machines, especially by speakers who do world tours. Only at conferences will you be able to see the future of upstream before it happens. The bleeding edge of the industry is at its most visible. Conferences can also act as huge gathering place to meet others of technical merit. The people you meet here will help you discover new friends or meetups that you would have never known about otherwise.