In this article, I'm going to talk about communities, their good, bad, and ugly. Having a look at how communities have an effect on us, and if that effect is indeed good or not.
Disclaimer: I'm not trying to attach any particular community, simply trying to open some eyes to how communities have an effect on us, and how to avoid some of the bad effects and the signs to get away from some community for your own good.
Let me first ask you to not take my word on any of the topics and check yourself on these things, measure how much you get and not from any community and see if you need that community at that time.
This sounds like a weird question, you'll probably say something like that:
It's a group of people that have similar interests so they gathered together.
And you're right, but there's more to it, we as humans like to feel a sense of belonging, our interest is someone else's as well, so that gives us some sense of happiness, mostly caused by some feeling of acceptance.
Then the community will empower you for doing things. That thing can be sometimes beneficial but can be not, depending on a lot of factors we'll discuss later on.
Also keeping in mind that we're actually affected by everything we consume, whatever we listen to, read, or discuss, will indeed have some effect on us and how we think about things, so being in a community (mostly talking the same opinions and same ideologies) will indeed make you have a similar mindset and believe in the same things, whether it was right or wrong.
Whenever we consume something our brains store it and keep processing it (please research that yourself, I'm not well informed about how that works exactly, so it'll be better to check for yourself).
I'm going to mention some of the benefits of communities, but I assume that you already know most of them, so I don't need to go through it that deeply, so I'll add them and have more focus on the bad sides since we all can see the benefits but the disadvantage aren't discussed often.
Communities are great at making us feel better and cheering us to achieve more and more. Whenever you feel down while doing things the community will help you feel better and keep going and take good care of you.
It's also beneficial on a financial side, they'll help you share your ideas and projects and get more eyes on it.
Generally, Empowerment culture is a norm in most communities which is great!
Say you're stuck on some problem, usually, the community can help you find the solution or even give you the solution.
That can be more appealing in open-source, while you're making some project people in the community might help you find bugs through issues, and help you make newer functionalities through pull requests. That's an amazing advantage you get from being in a community, you'll get that kind of help which helps you learn new things and understand problems.
That could also appeal to the amount of libraries, frameworks, and modules, the bigger the community the more libraries and modules will be made and published to help you improve your work.
The community can provide a lot of resources for us to learn from blogs, podcasts, books, tips, videos, courses, etc...
This is a very important benefit of communities, they give you those resources and also share them as well.
I don't have much more to say about resources between communities as it's already very appealing to anyone.
In this section I'm going to focus a little more than the last, it's more important for me to show the bad in communities so you can think about it and evaluate it for yourself and maybe avoid the bad things. Please have some sense of sportsmanship while reading and think about these topics and compare them to reality.
I'm going to also give some examples without saying the community that has that mindset, I'll mention some tools as well as examples.
When you're in a community, you aren't with everyone, you're just with the people in that community with the same thoughts, that is what brought you together from the beginning. You'll be somehow jailed in the ideas and thoughts of that particular community.
These ideas could be wrong, and they might have some ideologies within them. An example: "Use a single programming language for everything", is a popular one, thinking that everything is going to be much easier if you just used a single language, while that's not necessarily true.
This is going to give you a pause in your growth as you'll just keep up with a single thing, whether that's a framework, library, language, etc...
Being so attached to some tool is the worst thing you could do to yourself in software development, our profession continuously changes, and it never stops changing, the tools will be continuously changing over time, and you need to learn something to use not to be attached to it.
This is limiting for your mind and thinking process, you'll have only one perspective of things - which is the perspective of the community - which is very unhelpful for you and how you think about things, especially if the community is closed to any other ideas and not welcoming any new perspectives.
Are trends even helpful?
Could be. But not in most cases especially when you have a closed perspective community (as mentioned in the last section).
Trends are when something is popular among the people of some community, and that's common between communities, this framework is trending and that library is the current thing.
Trends are just useless in most cases, could be beneficial if it's just introducing something new so people can try it and that thing doesn't get hyped, and can be very misleading for a lot of people - especially beginners - as it sounds like something that might be important to know in a lot of cases, while it's a waste of time (This is discussed more in the FOMO section).
Sometimes that trend might be over some new tool, or new technology, or even over something that was there for years but now it's being hyped.
If you remember in the year 2022 a very big part of the tech community was all about Web3 and crypto, everybody was talking about it and starting some startups and publishing things about it and having talks about it. And in the current year (2023) it's all about AI all of a sudden, with the same things, talks, people talking, startups, etc...
As you might already notice as well it's just repeating itself over and over again, that's just how trends work, if you were involved in that you probably have tried to do things about it, have some talks learn some things here and there (even though that wasn't your initial interest but just because people are talking about it). And all the sudden it changes and no one is interested in it anymore, you'll be frustrated, and might feel so bad about it that it's going to stop you instead of pushing you.
I see trends as some kind of poison for our minds that we consume from the media, it's frustrating to keep up with them and not that beneficial after all. You'll be much happier without trends around you all the time, it's important to not let that control your mind.
Trends can be also about some technology or even solutions, some people in the back-end communities keep talking about some solutions (just giving an example: sharding) and technologies, which mostly have an unneeded cost and complexity and are often considered as over-engineering.
I try to stay away from trends, as they don't help me but rather the very bad impact they leave on me and my work.
FOMO (Fear Of Missing Out), it's when there's something that a lot of people are talking about and might be involved in, to a level where you feel like you're missing out on something and that thing might be important and beneficial to you. It's so attached to the trends section, and often trends are what causes FOMO.
This appeals very well when we say to ourselves these words:
This technology might be actually the future of software, I have to learn that to just keep up and not lose my job or be outdated, I have to use it and get into it.
Mostly these thoughts are wrong, most tools rarely ever die, and even if they died as a developer you should be able to move to any other tool easily. It's important to understand that our job is more about solving problems and making new features than changing stacks, or even goals.
We end up moving from one tool to another for no reason but because we're afraid of missing out on something new and better than what we used to use. You can mostly use any tool to achieve what you want, and the fear of missing out you have is just lying to you that you couldn't cope with the new tools faster without taking that much time. Or that you wouldn't find a job with your stack or tools, as I said you should be as a developer able to change the tools pretty easily if you understand the fundamentals well (also worth mentioning that most tools will get you a job and rarely you wouldn't find any jobs at all for tools).
In most cases, communities are the main source of these concerns, with the trends and the new tools that the community talks about all the time, it turns out to be very frustrating to cope with them.
Communities are not all evil and indeed are not all good. We have to be careful what to pick from the communities and what to leave, and not get too attached to some thoughts that communities carry along. You also need to choose who to follow and who to not, as we (as humans) process everything that enters our minds and can be influenced by what others say.
Consider checking out different perspectives to see any topic from different angles which is very helpful, and try to use different tooling other than what the community says, check things that are liked, and some of what is hated, see yourself and never rely on any other person's thoughts to decide for you want to use, use what's needed not what's liked/loved by some community. Lead yourself, and never follow.
In summary; communities can help you in a lot of things like empowering you and pushing you towards working harder and smarter and giving you that cheering you might need sometimes, helping you with problems you face and helping you find good resources or even publishing your work for a larger audience. But also it has a lot of things we should be careful of falling into like filling your mind with their thoughts and only their thoughts and putting you in what I call a "mind jail", or pulling you into trends which don't help you improve and sometimes (often) really harmful for your mental health (I sometimes say that trends are the poison for our mental health), or even give you FOMO and make you learn things you don't need and waste a big part of your time or even ruin your learning if you're not very organized with what you should learn and what not.
A lot of these issues aren't just related to our profession (software development) but it's universal issues in most communities. Feel Free to share your thoughts and experiences as well as to share knowledge.
For further information about the community and its effects on humans generally, there are a few researches if you're interested (notice that not all of them actually focus on the programmer's side it's general for humankind, and it's mostly from a Psychological point of view).