Often in technology, we assume that everyone else is as excited about our product as we are. This tends to be a problem across the board in the tech sector (and even amongst teams, like security and developers, or operations and developers).
There's a reason that DevOps and DevSecOps were created: operations teams, developers, QA testers, and security often don't work together. And if we can't even get all of the tech people on the same team, think how hard it'll be to get everyone else (think marketing, communications, and the business functions) on board.
Because of that, technical skills alone aren’t enough to be effective. You need to be able to communicate what the problem is, what the solution you’re recommending is, and why it’s necessary — in terms your audience can understand.
And the more you advance, the more important those skills become.
I’ve definitely struggled with this. It’s easy to get caught up in what you’re working on, and forget that not everyone is immersed in the same jargon you are.
I work in security, so for me, this tends to follow the same script every time. Your average user generally isn’t used to thinking about security and doesn’t understand how often companies see attacks.
Often, there’s a tendency for them to think, ‘Well if I’ve always done it this way, and I haven’t seen any problems, why do I need to implement your more complicated system?’
Thus, it’s up to the security team (in this example, me) to explain to them why — how often real attacks occur, why the more complicated way will make their life easier in the long run, and why security is everyone’s responsibility (spoiler alert: anti-virus doesn’t protect against everything).
The same policies apply across technology functions. Good technology requires empathy. You can have the best tools in the world, but if no one uses them, it doesn’t matter. If people see you as a roadblock to their productivity, you won’t be able to effect change.
That’s why soft skills, like effective communication, are key to success in tech. If you can communicate to a variety of audiences in a way they’ll understand, you’ll be much better at your job (whatever that job is).
How can you develop soft skills?
Treat soft skills the same way you would any technical skills. Communication skills might be listed as 'soft' but that doesn't mean they're easy to acquire or that you can't improve them.
First, spend time actively thinking about and working on your skills.
Step 1: Figure out what skills you already have
What skills do you have? What are your strengths? Are you great at communicating with your boss, but struggle to communicate to leadership? Are you an excellent public speaker, but struggle with written communication?
Get very specific with yourself. If you're not sure, try asking trusted friends, colleagues, and bosses to describe what they think your strengths are.
If possible, ask folks who have worked with you closely in the past.
Step 2: Figure out what skills you want to develop
Ok, where do you want to go from here? Think about the job you have, and the job you want next.
What skills do successful people in those roles have? Does the role require a lot of communication with non-technical executives or users? Does the role mostly involve speaking to other technical folks? Do you need to work as part of a larger team, or are you mainly an individual contributor?
Consider your audience. Who are they (the users you want to use your product, your teammates, executives, and so on)? What matters to them ? Think about their needs and the medium you use to communicate with them (written, spoken, small audience presentation, and so on).
Step 3: Reflect on your past experiences
Now think about the last time you exercised this skill. What happened? Did you use jargon they didn't understand? Did you appeal to their needs? Were you successful in convincing them that your idea was worth pursuing?
Think about where you fell short and what you can do better next time. If you're able to, ask others for feedback (ideally a trusted co-worker or mentor).
Step 4: Study, learn, and improve your skills
Time to start studying. What (and how) you should study depends on what you want to learn and how you learn best.
You can try researching the idea by reading a book. Stephen King's On Writing is excellent, as is the Elements of Style, for learning how to write better and craft a story which people will be drawn to (and effective communication nearly always revolves around a story, even if you don't initially think of it that way).
The Cuckoo's Egg and Countdown to Zero Day are great examples of books about very technical topics told in a narrative format for a non-technical audience.
Blogs like Ask a Manager or the Harvard Business Review can help with improving internal communication (writing emails, talking to your boss, and so on).
Don't feel like reading? Try a TED talk such as Julian Treasure's 5 Ways to Listen Better, the Secret Structure of Great Talks (Nancy Duarte), or How to Speak So People Want to Listen.
Step 5: Practice your new skills
Then, practice — research something, and write or speak about it. Medium lets you set up a free personal blog, as does GitHub, both of which give you a platform to try out writing.
Local meetup groups, like BSides, WiCyS, or Women Who Code, may provide a supportive environment for you to give a talk for the first time (or even a lightning talk, which is typically a short talk between 5-15 minutes).
International organizations like Toastmasters are another great way to get practice presenting publicly. You can even practice with your coworkers, your mom, or strangers on the street. Get comfortable explaining your ideas.
Step 6: Improve your process and push yourself
Work on improving. Think about style and presentation. Tools like Hemingway and Grammarly can help you check your grammar and even give style pointers.
LaTeX is a tool which helps to display code fragments in a professional way and embed code into reports.
And try to push yourself outside of your comfort zone. Apply to speak at conferences, give lightning talks, write a blog (or apply to write for freeCodeCamp!). It’s hard at first. Keep trying, and don’t let yourself give up.
Step 7: Get people's feedback
Seek (more) feedback — if someone doesn’t like your idea, ask why (and make an effort to understand where they’re coming from and what they need). Then, use that information to craft appeals directly to them.
Try to find a mentor, and if you're struggling to find one, consider a peer. Sometimes a peer mentor can be just as helpful and you can provide similar feedback to them.
Sometimes all you need is an outside perspective. Often, they can help you identify your strengths and weaknesses better than you can yourself. Ask them for specific positive and negative feedback. It might be painful, but you'll learn faster than you would alone.
Whatever you do, make it a habit. Work on it every day, week, or month. Continue to practice, to seek feedback, and to improve.
Still looking for guidance? Check out these resources: