Yes! Written communication is so important, especially so with collaborative technical works.
Some tips: learn to state or restate a problem as a problem rather than an unimplemented solution. Consider: "I need a faster horse which eats less food" vs "I need a mode of transport which is faster and has less upkeep". This is especially important when dealing with feedback and bug reports from users. Learn how to extract the essential complexity of the problems they are facing and don't become biased by the possible solutions they offer up.
Also, be as direct, concise, and clear in written communications (email threads, commit messages, bug tracking comments, etc.) as possible. Make a habit of listing and relisting assumptions and presumed findings. Make a habit of summing up and distilling results, especially when new people are added to a discussion or issue. This saves so much time and avoids so many missteps due to ambiguity.
Additionally, teach yourself how to discuss technical topics without becoming excessively emotionally involved. Address the technical issues, don't fall into thinking that a criticism of your idea is an attack on you, learn to play devil's advocate. Learn to progress toward the best possible technical solution regardless of who had which idea.
Some tips: learn to state or restate a problem as a problem rather than an unimplemented solution. Consider: "I need a faster horse which eats less food" vs "I need a mode of transport which is faster and has less upkeep". This is especially important when dealing with feedback and bug reports from users. Learn how to extract the essential complexity of the problems they are facing and don't become biased by the possible solutions they offer up.
Also, be as direct, concise, and clear in written communications (email threads, commit messages, bug tracking comments, etc.) as possible. Make a habit of listing and relisting assumptions and presumed findings. Make a habit of summing up and distilling results, especially when new people are added to a discussion or issue. This saves so much time and avoids so many missteps due to ambiguity.
Additionally, teach yourself how to discuss technical topics without becoming excessively emotionally involved. Address the technical issues, don't fall into thinking that a criticism of your idea is an attack on you, learn to play devil's advocate. Learn to progress toward the best possible technical solution regardless of who had which idea.