Everyone knows at least one. The– otherwise friendly– quiet guy who is uneasy in most social situations; especially ones that are concerned with his business. On the other hand, he can whip up any bit of code you need him to in a matter of hours and it will look good and be fairly well-tested. I would consider this guy a good engineer. His solid development skills may be far superior to many, but he sells himself short in his lack of (tactful) self-promotion. He likely has great ideas, but since he doesn’t often share them, it’s hard for him and/or his employer to unlock his true potential and his full value. These subtle– and seemingly harmless– personality traits are part of what I find makes the distinction between good and great engineers. Now, I do put a disclaimer on this post. I firmly believe that all generalizations concerning people are typically false and, likewise, I do not suggest that being quiet is in anyway a flaw. However, the world in which we operate on a day-to-day basis requires you command the attention of your superiors (in a good way) if you want recognition since there are more distractions now than ever.
The real world is different than a lecture. No matter where you go, the real world is different than what you learned in school. Don’t get me wrong, the information you learn in class is incredibly useful. Especially if you actually learned the fundamental concepts being taught rather than the specific use-case working as the teaching tool. That said, professors would have you believe that technical competence is the sole key to success; this couldn’t be further from the truth. Although technical competence is a core component to actually being a strong leader, your interactions with people are arguably more important for the advancement of your career. For example, let’s consider that you’re an absolute rockstar. You hack away at an industry revolutionizing product for about 3 months and sit on it. Perhaps you should a manager to your direct manager, but you never follow up on it or do a great job in explaining why it’s so important and what makes it so great. You have just sold yourself short and your company.
Flaunting and bragging is not good communication. If we all know a developer like I mentioned when we started, we all certainly know the other extreme; the guy who likes to talk but never produces. If you have a truly great idea, you should frame it as such. Explain what it does and give a slight push in the direction you want people to think about it. From there, let its greatness captivate them. If you’re working hard to sell your idea to everyone (read: we’ll inevitably pitch to some cynics) by emphasizing not-so-obvious points about your product you have a problem. Either (1) you’ve described your product poorly or (2) your idea isn’t that great. Once you have described your novel idea properly, it should sell itself. Going around and telling everyone how great it is doesn’t actually fool or excite anyone. It hurts your reputation and diminishes your credibility within your cohort.
Taking feedback is a communication skill. The final item I want to discuss is the art of accepting feedback. Particularly, we are going to look at handling criticism (since taking compliments tends to be pretty easy). When someone critiques your idea, thank them for their suggestion. People are often terrible at providing criticism. What I mean is that rather than discuss the problem directly, they phrase their dissatisfaction in a context that attacks the author or product directly. As an engineer, you have to get passed this. It is important to take the criticism and ignore any emotional component. If– after you have dissected the emotion from the content– there is nothing left to the suggestion, you know the person was just being rude.
NOTE: There are cases where this doesn’t exactly hold. For instance, consider that your product actually evokes a particular emotion on a user (in which case the emotion is important).
However, if there is a valid critique, you’ve just discovered a nugget of gold on improving your product. This kind of feedback is the most valuable because it tells you exactly how to improve your product. Naturally, as you improve your product, more and more people are interested and satisfied with it. As a result, this is an incredibly useful skill and is certainly communication as it is an interaction with others.
As we can see, there are many components to our day-to-day lives which don’t involve simply writing code. Even if we have written some awesome code, it’s not always easy to explain to people or generate excitement. Similarly, when we think our idea is awesome and someone tells us otherwise, it’s a common response to become irritated and ignore their comments. However, doing so would be detrimental to the actual success of your product or tool. Overall, we really have to focus on developing our communication skill as much as our core competency. If for no other reason, this skill is important so that we can properly advertise both ourselves and our core abilities.comments powered by Disqus