In 1995 I got my first computer and signed onto AOL (America Online) for the first time. It didn't take long before I found my way to the various chatrooms that were available on AOL and I immediately fell in love with the idea.
Around the same time, a friend introduced me to creating software. My teenaged and enthusiastic brain very quickly began drawing out UI and planning UX on paper in the evenings planning to build my own chat.
You see, I didn't just want to take something off the shelf and open a chatroom and give it a name. I wanted to BUILD my own chat.
It didn't take long before I discovered IRC and that was it. I was hooked on chats for a long time. It opened me up to an entirely new world that wasn't quite the same as the small town midwest US I grew up in.
IRC was also the default place I went to to find a developer community. We didn't have Twitter or LinkedIn. There was no Dev.to or other great hub for developers online. The term social networking didn't exist. What we did have was books, some web resources, manuals and readmes, forums and IRC.
Now, here's the rub. I found IRC to be a horrible place to learn how to develop software. The "community" was more of a clique. If you were in, you were in. But if you weren't, you were just an idiot. It was built around proving yourself and being better than others. That made it very difficult for it to be inclusive.
Some IRC channels and networks were better than others. Some forums were pretty good. Some folks were just generous and put their knowledge up freely on their websites. But it was hit or miss at best.
The state of the developer community was so bad, it entirely put me off for a long time. I was determined to be a developer, so I was. I learned from books and manuals and those kind people who laboured to share their knowledge on websites.
Somewhere along the journey, things began to change though. Blogging began to become more and more popular and I noticed more people were sharing their knowledge. There was a more open attitude toward people being new to things. It started to feel inclusive.
When I finally did begin to look at communities on the various social networks I was shocked to discover such huge and supportive groups of developers, entry level, senior and everything between conversing freely without fear of being laughed at, kicked or banned simply for not knowing how to do something they'd never done before!
This wasn't the developer mentality I'd given up on and left behind. This was something new and really incredible. The support I saw in groups like #100DaysOfCode on Twitter and here on Dev.to was simply awesome!
So, to the point of this article. Why is this such an important thing? Why is it even more important today than it was when I started developing software?
Development is hard. 😉
I could probably just end right there. I think most of us know that. Development is amazing and joyous and it's the way I've chosen to solve problems for over two decades. But it's also pretty damned difficult! It's hard to get into the developer mindset in the first place. Picking up that first language can be hell.
But it goes further than that. Development is getting harder. In some ways, things have improved so much. Better automatic memory management. Better cross platform and cross browser support. So many new tools out there to make things easier. But all those tools are also a way that things have gotten harder.
There are so many popular languages, frameworks, tools and libraries it's hard to know where to start! This is one of the most common stresses I see from new developers. "Which way is the right way?" "What should my development setup look like?" "Should I be using this tool or this one?" "What language should I learn?" There are just so many options and so many variants and methodologies that it's ridiculously difficult to know if you're going down the right path or a rabbit hole. The burden of choice! it's like being given a giant box of Bertie Bott's Every Flavour Beans with no one to tell you which ones are earwax! (I've been told every article must have a Harry Potter reference... I'm not sure if this is true or not, but I'm sticking with it. 🧙♂️)
Communities help us connect with others who are in our situation, some who are just a bit ahead of us and some who are far ahead of us. They add a huge amount of context to everything we do. They provide us with a sounding board to make sure we're on the right track.
Doing this alone is absolutely possible. But humans learn better together. We're social creatures by our nature.
So, get out there and be a little more open. Share an article even if you don't think you've got much to say. If you can't manage a whole article, just a tweet is better than nothing.
Spend a little time encouraging others, sharing your failures, celebrating successes. Every one of those things can help others and the act of being more open will help you in ways you'd not imagine!
How has community supported you on your journey as a developer?