I have realised over the years that I have gained good amount of technical knowledge but I lack great communication skills (in terms of expressing my thoughts). This was okay till I was working as software engineer as my task involved more of coding work which does not require explaining things to large audience. Now as a Senior Engineer my task revolves around making design choices, explaining pros/cons of selecting an approach etc. I realised that even though I am confident on my technical approach, I sometimes fail to express myself and the approach in the right way during the discussion which led to times when my approach is discarded and others as selected as they express themselves better. I need some suggestions on how to improve on this aspect as this will be crucial part going forward in my career.
This is a great match for 2 of the video series I made, which are:
I also highly recommend this discussion on how to speak more assertively and confidently at work: "How to be more assertive in workplace?"
In an ideal world, everyone is just some perfect calculating machine and the best decision is chosen every time. However, that's not how things work: Perception is crucial. Even if your approach is actually the best and you believe in it, if people don't believe that you deeply believe that your path is the best from how you communicate and carry yourself when vouching for it, they won't follow you.
Another piece of advice I have around galvanizing your team around you when it comes to design decisions is to figure out the core values of your team/org/company and weave that into your approach.
For example, I worked at Meta during a time when privacy scandals and system stability issues were rife and really hurting the company. To make my argument more compelling as a tech lead when proposing a technical approach, I always brought up the angles of safety, scalability, and robustness and why my strategy really championed these values.
Since you work at a startup, I imagine velocity is important, but Series F is very mature for a startup. It's possible the values I mentioned before are also valuable for your organization, especially if it's had problems with launches blowing up (in the bad way) recently.
Great question. This is a concern I have seen from many software engineers, especially as they move up in their careers.
A couple of things to pay attention to:
Start with listening: 'Giving your ear' is essentially a gift and people are far more often to listen to you and your ideas if you've listened to them. This also makes sure you are on the same page.
Build relationships: people tend to listen more to people they like.
Think about your audience: if your speaking to less technical stakeholders or juniors, your language is going to be different than when you speak to experts in your field. Use different language (less technical) and use analogies to bridge what they already know and what you want them to know.
Use frameworks: templates and frameworks for writing and speaking are a great way to start. The more you use them the more natural they will become. In general this means starting with your main point and giving the details after.
Practice: None of this is natural. If it were we'd all be great communicators from birth (we're not). Joining speaking groups like toastmaster's or working with a coach can help you practice in a controlled environment. Think about video games where there's a training or practice area to practice the moves - it's much easier than learning the moves in an actual game.
I cover a lot of these points and more in this course: