A lot of people are talking about collaboration, programming disciplines, agile methodology …etc as basic principles of a modern software development team. Well … bullocks.
One of the basic things that can make a team wither or thrive is the amount of presence of programming ego. It’s our willingness to accept a different opinion as long as it’s owner presents valid arguments to support this opinion.
How many times in your career haven’t you heard arguments like “just do it”, “he/she knows because he/she is good”, “it’s better because I have done it in the past” and lot more funny expressions.
Try to listen to your colleague and open your mind to what he/she has to say. Invalid opinions are equally important to good ones just because they trigger us to think. Don’t insist on something that you know is worst than something else just because you think it will make you weak in front of your team. It’s the product you create that will be weak at the market.
Finally, accept criticism. As long as it is polite it will only make you a better professional and it will help you grow your communication and negotiation skills.
ps: stop using the expression “I would do it like …”, I want to respond “why should I care how you would do it?” … instead use the power or words “I believe it is better like this because, argument 1, argument 2”. If you don’t have any arguments then say nothing.
Cheers