Its been a while since I posted something, and even longer for a non-tech one.
Today's post is a recipe for being a better team member or even better if you already are. The major thing here is to start applying all the following steps yourself before asking others to do them.
Step 1: Feedback
Everyday we give or receive feedback in different formats (e.g., Code review, Design review, or even face to face feedback). I see most of the issues that arise in every team is because of feedback - either someone gives feedback in an inappropriate way or not being open for feedback.
My manager once told me "Any feedback is a good feedback", and another manager told me once "Take the feedback and filter what really makes sense to you but always respect and assume good intentions".
The idea behind this is to always assume good intentions keeping in mind culture difference and preferences of people based on culture, background, and experience.
In case you are the one who is giving feedback, always think about it and think what is the best way to give it either in private or if OK to be in public (e.g., Review sessions). Also keep in mind culture difference and other people's preferences and make sure you don't turn people down by giving feedback inappropriately, this way you will lose them or even worse lose their trust.
Step 2: Disagree and commit
Everyday you and other team members propose solutions for current team problems either technical or non-technical. You and your colleagues have less chance to agree on all of them.
Never ever take it personal or be frustrated that there are different opinions or views "I know its hard" .. but usually if the team agrees on something and commit to it, you MUST commit to it as well. This has great potential for someone in the team to learn something new.
Step 3: Choose a mentor for yourself
Mentoring is one of the best ways for someone to learn and receive great feedback that helps improving.
I personally usually ask one or two of my colleagues to observe me and give me feedback in private if they have any, from my personal experience this helped me to improve in different areas which I had good potential for improvement "and of course still have".
Step 4: Mentor someone
This is exactly the same as step number 3 but the other way around, where you will be the mentor/observer for another team memer(s).
From my experience this helps earning your colleagues' trust and appreciation for your honest feedback both positive and non-positive.
Step 5: Learn from your mistakes
This is of course the clearest one so far. Its also a great way to measure improvement.
As an example if you receive code review feedback in an open way as potential to learn something new by constructive discussions with other team members, only this way you will learn and remember to not repeat the same mistake again and again.