One of thing I have noticed of good software engineers is while they are trying to solve problems, they also communicate with clarity to upper management chain. The clarity they bring to the table was always appreciated and also puts them in the career growth path easily.
Every good engineer is an excellent communicator. Everyone who is not an excellent communicator is not a good engineer. Everyone hates that this is true but it remains true. A lot of people are very good programmers who have mistaken that for being good engineers, however.