In general, it is a computer software that the developer distributes under a license that allows anyone and for any purpose to use, study, modify, and distribute the software and its source code.
However, this article will not discuss the software.
In this article I am going to look at opensource as a community. How you can contribute to it and mentoring others.
Mentoring and assisting others is an integral part of opensource. You're distributing your ability to others so they can benefit from the knowledge you possess.
To begin, let me state that I have struggled with imposter syndrome and have a constant sense of inadequacy. Additionally, I am a very solitary person. If an introvert had a scale, I would unquestionably be at the top.
However, I discovered some interesting people via tech Twitter. And I've been loitering in their quarters. That is the most significant discovery I have made since I started learning programming languages.
Their words have been instrumental in motivating me to continue. And in this article, I'll share their wisdom from a recent geek out session with you.
Let's begin by dispelling a myth that prevents many newcomers from putting themselves out there and sharing with others.
As the name implies, it is open. It is open to all.
Open-source communities are conceived with the express purpose of hearing your perspective and soliciting your input. That is a place where no one wishes to exclude you.
The opensource communities exist to facilitate the exchange of novel ideas, conversations, and speakers.
Whether you have one or a million followers, you have knowledge that can benefit someone somewhere, and keeping it to yourself is a disservice to the entire community.
There is no perfect moment to begin your contribution.
If you're five days into your journey, you can assist someone who is in the same situation as you were a day ago.
You have something you can give to another person. That single step you took today, someone else will take tomorrow, and they will undoubtedly be grateful to have someone holding their hand.
Begin by paying attention to what they are saying.
Listening is critical.
You cannot demonstrate your concern if you are not present.
Keep a side-by-side relationship with your mentee. If someone approaches you for assistance and you say, "Google this, search for this," you're not providing the assistance they seek.
Conduct research and provide a helpful response.
You are not required to do so, but you should if you advertise yourself to be someone who actively assists others.
If you cannot, then make no claim to be an educator or someone who teaches others. Because when individuals approach you in the manner in which you have positioned yourself, they are discouraged and hurt. They believe they are unworthy of your time, which is extremely painful for them.
Believe this. I’ve been there. It is painful.
You foster an inclusive environment by assisting and accommodating everyone, regardless of their strengths or weaknesses. It creates an atmosphere of comfort and welcome in the space.
If someone is having difficulty grasping or is not progressing at the same rate as others, take the time to listen to their unique situation and provide them with the time they require.
Don’t forget them behind and continue on with the others.
I speak from personal experience. As a person with a learning disability. I am quite forgetful.
This is critical if you wish to communicate with others.
When people believe that if they approach you with their problems, you will attempt to assist them, they will always feel comfortable speaking with you.
By joining communities and interacting with others who share the same interests as you.
Join them all and if you don't like it or it doesn't fit, try another.
Don't join and then lurk on the sidelines. Engage, because being a member of many communities is ineffective if you are not engaging.
Expose yourself to scrutiny. You will not know if you are making progress if there is no one to inform you. And they have no way of knowing unless you show them what you're doing.
And this is coming from someone who is an introvert with additional disadvantages, so I am fully aware of how difficult this is. However, as you can see, I'm exposing myself to criticism here.
If I can do it, then you can as well.
“Anyone who is just coming into the industry or in a junior position please use your voices.” Tanya
If you are a member of a minority group, you might want to look up minority-based communities to get some alternative perspectives and insights, as well as help that is channeled specifically for those groups.
If you're from another country, you could look up local communities to connect with people in your immediate area.
This is not to marginalize yourself, but to establish a network that is close by.
An initiative to expand both internally and externally.
Assisting others also helps us learn new things.
Occasionally, mentors do not possess all of the answers. Rather than snobbery or indifference, you can take steps independently to find an answer to that question.
Yes, it may seem like a waste of time to go to the trouble of looking that up for them, but in the end, it is beneficial to you because you are also learning.
Providing assistance to others is not a one-way street.
Someone is going to find value out of it. If it resonates with even one person, it is a success.
Always make an effort to assist the person next to you.
Dispense your knowledge about the things you've learned.
Bear in mind that you do not have to change the entire world. You only need to make a difference in the life of one person.
There is no defined start time. Begin whenever you feel at ease and have something you'd like to contribute back to the community.
Create a blog post about a new skill you've acquired. Document how you built your first project. It will benefit both your juniors and the community.
I am currently self-teaching myself how to program. I usually watch YouTube tutorials on how to do something before attempting to replicate it on my own. Then I practice daily until I am able to do it without referencing anything and by adding my own codes.
Therefore, consider what would happen if those developers had not created those YouTube videos. I'm sure I'd still be saving for college to study Computer Programming!
Therefore, share because it will benefit someone who will be in your position tomorrow.
“Put your knowledge out there on the things you have learnt.” Saumya
Public forums and the public accounts of your mentors and role models are great places to start helping mentor fellow techies.
The reason you should do this is because there are many more people out there who have the same question as you and they will benefit from you asking in public.
Mentors answer the same questions every day, thus asking in public allows them to respond to a large number of other people who have the same query.
Additionally, asking in public allows you to receive an answer more quickly than sending someone a private message.
Most of your mentors probably have a large following, and receive a large number of direct messages. So it’s easy for them to miss your private messages.
As a result, it may take time for you to receive feedback. Alternatively, your message may get buried in their DMs, and you may never receive the assistance you seek.
As a result, always address your inquiries to their walls. If they do not respond, someone else with knowledge of the situation will.
If you see a question and you have an idea of the solution, don’t hesitate to help.
That is how some of the mentors were made.
By answering one question after another, people will see how helpful you are and will follow you since they will know you are willing to help.
You can be a mentor to someone and not realize it. I have people on a private list on Twitter because I don't want their tweets to get lost in my timeline. So every time I open Twitter, I check that list first.
So, ask or answer questions in public. You have no idea who you may be assisting.
The blogs may also prove beneficial as a revision tool for you in the future.
If you're just starting out, sharing will accelerate your learning process because you're not only consuming but also giving.
If there is one thing that prevents the majority of us, including myself, from contributing to opensource, it is self-doubt.
In our minds, there is a lingering sense of defeat and unworthiness.
I've learned something about imposter syndrome that I'd like to share with you.
It's quite interesting.
Every senior developer you meet who oozes confidence and is free of self-doubt has struggled with it at some point in their career.
Not only when they were first starting out, but also as established professionals in their field.
There’s many new things coming up everyday. Nobody can claim to be an expert on everything related to technology. Technology advances at a gradual pace. What you use today will be superseded by an updated version tomorrow.
Make no apprehensions about putting yourself out there. You are not a fool. What you know, the individual who is beginning does not.
Write about the new knowledge you've gained in a blog, a vlog, or on a podcast, or in any other format you're comfortable with. If just one person reads it, or if it resonates with and supports them, it's a success.
It's a win-win situation for both parties.
If you teach something to someone, it will stick with you more. As a result, your personal development is aided.
Remember contributing to OpenSource is a two way thing. You can support and be supported creating a supportive community.
“Sharing helps us learn new things as well. People feel it’s an investment of time but it’s also investing in us.” Sohini
I'll give an example with myself. This blog is a result of Eddie Jaoude's twitter space on the same topic am writing about.
The time it has taken me to write this blog has allowed the words spoken in that space to sink even deeper into my mind.
I listened in on the day itself. I made no notes. Why? Because I did not want to be distracted. I have ADHD, if I divert my attention to something else, I risk forgetting everything.
Later, while taking notes, I listened to the recording. I listened again just to be sure I have grasped it well, as my brain is notoriously forgetful. I frequently doubt whether I am doing the right thing.
As a result of listening and crafting points, writing them down and explaining them to you in this blog, I have retained them in my mind.
If you can put it in your own words, then you've understood it.
Thus, this is my contribution to the opensource community. I'm not yet a master at coding, but I am documenting my journey for you and me.
Therefore, if it's an article, video, or podcast, publish it. If you look at it years, months, or weeks later and are embarrassed by it, you will know that you have made progress.
You will be able to stand and declare to those just embarking on their journey, "Here is my proof! I began here. I was not flawless from the beginning.”
Nobody begins perfectly.
Thus, this is how you develop and improve.
Please use your voices if you are new to the industry or in a junior position. Do not believe that because I lack x number of years of experience in technology, all I need to do is learn from others. You may also contribute. You have life experiences. Your life experience will always be beneficial in the field of technology.
You were destined to be here. You are not an imposter.
Take the initial step. Once you've taken that initial step, you're part of open-source community.
The narrative that coding is simple is complete nonsense. This narrative is the primary reason why so many people fail and give up halfway through programming.
If you keep telling people that coding is simple and that they can learn it in a few days, when they encounter a roadblock, they will conclude that they are not cut out for it.
That is the entire purpose of mentors and role models. You are aware that if they can do it and continue to do so, then you can as well.
Do not only demonstrate your successes. Tell people about your struggles too.
Naturally, that is the way social media is programmed. To demonstrate the good. However, showing your authentic progress will assist someone starting with developing a sense of comfort with their approach to programming.
It will help those considering a career in coding in developing a positive attitude towards their goals.
Genuineness gives a positive effect.
If you're blatantly clear with them and show them the ups and downs as well as the smooth sailing, they'll stick around when they hit that hard rock. Because they were prepared from the word go to and can face their mountains.
If you're going to give someone criticism, do so in this order.
Make a point of highlighting something truly remarkable about what they accomplished.
Give the criticism and then compliment them on something else they did well.
If you only approach them with a negative attitude, they will go into defensive mode, and you will eventually lose them.
If someone approaches you about a piece of code or a solution, for example. If you begin by praising something they did well, then offer constructive criticism, and conclude by praising something else they did well, you send them positive vibes.
If you receive a question in the same scenario as above, here is another cordial response.
allow them to speak and lay out their rationale for not being able to resolve it.
Provide them with options and allow them to brainstorm using the various ideas you've presented.
Once the brainstorming session is complete, you may ask follow-up questions.
Which concept or solution did they choose?
Why did they choose it or was it the correct decision?
If you notice they're completely off track, you enter and offer some suggestions.
This type of response aides them in resolving their issues.
It's open ended in that they have the opportunity to weigh in on alternative solutions before settling on one, thereby learning new ways to approach the problem.
Have you encountered them?
Those who will not accept that your idea is good to simply demonstrate their superior knowledge.
The funny thing I've discovered about these types of people is that they'll use your idea and sell it as their own days later.
No citing of the original source.
Consider feedback, conduct research, and remain adaptable and receptive to change.
You cannot give what you lack. First, educate yourself, then assist.
Individuals repeatedly ask the same questions. They'll still DM you with the same questions even if you post in public. Be patient. It is a virtue that will enable you to be in harmony with the community.
Supporting the success of another developer will never, ever jeopardize your own."
By showing your concern, you are uplifting developers of all skill levels. This in return has a profound effect on the entire community.
If you have a problem, someone else does as well. Individuals are fearful of being perceived as fools. It is a necessary step in the process. The genius you see in technology is a buffoon in another field.
It is perfectly acceptable for a beginner to seek external advice or assistance. While sharing your goals and dreams is acceptable, do not allow someone else's opinion to derail your momentum or progress.
It is acceptable to admire and look up to others as role models. Simply avoid using it as an excuse to lose your focus and forget your skills. You're doing well right now. This is not a race, nor is it a sprint. This is technology. It is a case of one code at a time.
Do not be afraid of failure. Failure teaches you something about yourself. Will create a more perfect version of you. Provide you with a new position in which to gain experience.
It takes genuine courage to continue forward.
It's exciting at first, but after a while, it becomes routine. Both inspiration and motivation have a shelf life. After the excitement subsides, your commitment takes over.
Don’t allow the initial excitement to propel you into a pace that you cannot sustain. Attempting to compete in order to complete within a specified time frame.
Burnout happens to everyone. Try to avoid it by resting both your mind and body.
Your mental health matters.