by David Xiang
For example, turning your entire body towards your counterparty has a huge positive impact on an interaction.
There are certain basic rules to good conversation. For example, make sure you pause at least two to three seconds before responding. This shows that you have digested what has been said, thought about it, and are actually responding to the other person. If you speak too soon, or cut someone off before they’ve finished, it suggests that you were itching for an opportunity to get your point across. It makes it obvious that you were never actually listening in the first place. Even if you were, you’ve made no attempt to understand the speaker. Often, your mind will arrive at a response within five seconds of a conversation starting. Your thoughts can wait. Be respectful, be patient, and let them finish.
Another easy conversation life-hack comes through the art of the paraphrase. Paraphrasing your counterparty’s words is a sign of respect, demonstrating that you are trying to understand their perspective or argument. It gives them a minute to reassess their position. It gives you a moment to solidify your own understanding, while considering a measured response.
The premise of good conversation is a mutual respect between all parties involved. For this to happen, you must—must—follow the rough guidelines of acceptable human interaction. I’ve seen a lot of developers with undeveloped social skills who find themselves constantly rubbing people the wrong way. They are all nice people at heart, but their lack of social awareness causes them problems in their professional life. Stay conscious of this; you will receive no formal training in the art of conversation.
Most people learn the hard way, but the simplest things make the biggest differences. For example, turning your entire body towards your counterparty has a huge positive impact on an interaction. At the same time, quickly checking your phone or dozing off during your colleague’s presentation will quickly put you in someone’s bad graces.
Once you are comfortable talking to others in the workplace, you may dig deeper into the art of persuasion. Remember, there is no true reality; everyone interprets the world differently. Persuasion must be built on mutual respect—you listen to the people you hold in high regard. More importantly, never attempt to be persuasive without having a foundation of respect. It never works and can easily come off as aggressive.
Don’t underestimate this aspect of software development. Psychology, body language, and the tiniest of habits are all contributing factors in your ability to communicate effectively. Read a few good books, watch some YouTube, and consciously practice for a few years—you’ll be all set.
Avoid Being Passive-Aggressive
Passive-aggressiveness reigns supreme among non-productive and frustrating behaviors. It benefits no one. The core reasons why people revert to passive-aggressive behavior are very personal. You will never truly understand the root cause of someone else’s behavior. It could be their upbringing, a weird high school friend, or maybe a traumatic experience with a demanding boss—you can’t expect to fathom it. Whatever the situation, your own behavior is always your responsibility. Passive-aggressive behavior can be extremely counterproductive; you should try to avoid it at all costs.
Passive-aggressiveness is difficult to define. If you have a friend who has worked in HR, he or she may be an invaluable resource in this arena. I’ve found that it is best understood through experience. Symptoms include lack of eye contact, poor body language, purposeful avoidance, and unpleasant subtleties in language. It never feels good to be on the receiving end of these.
These signs are easy to spot in others, but harder to spot in yourself. You may unwittingly be exhibiting passive-aggressive behavior. Re-analyze your past interactions with others that didn’t quite feel right, and reevaluate your actions. What could you have done differently? Did you inadvertently cause tension? Were there any micro-aggressions? How might your body language have been perceived? You can’t diagnose passive-aggressiveness in others if you can’t diagnose it in yourself first.
Once you are armed with the knowledge and experience of this type of behavior, you must actively remove it from your personality. Passive-aggressiveness can ruin your reputation and rapport with all of your colleagues. If you don’t address it soon, it will be ingrained in your behavior. The longer you leave it, the harder the habit will be to break.
Bookmark Conversations
As developers, our job requires us to have numerous concurrent conversations running throughout our day-to-days. You might be involved in a software architecture discussion, a UI back-and-forth over the latest landing page with the designer, and a road-mapping discussion with your PM. For each of these conversation threads, you will inevitably need to context-switch between them and it can be jarring.
An effective communication hack is to actively “bookmark” each individual conversation. Remember to save the context of each discussion. How did you last leave it? What was unresolved previously? What new information can you bring to light in this conversation? People actively do this for meetings, but you can do it for every single interaction.
No one likes to repeat themselves. It’s a pet peeve for everyone on this planet. As a clear-headed developer, you must be on point with all of your conversations. If you forget to bookmark, it implies that the previous conversation slipped through your memory, or, even worse, you didn’t even consider it important. Pay attention to conversation bookmarking and it will put you ahead of the curve.
40: Wrapping It Up
The simple act of sharing is severely underestimated; just one simple, relatable story can help someone out tremendously. I hope you found some of that here in this small sampling. To end, let’s recap.
Whether you’re software-for-life or just dipping your toes, put in a sincere amount of effort to hone your craft. Writing software, and writing it well, are the roots. On the technical side, revisit foundation, pay attention to details, and be open to new ideas. On the softer side, understand psychology, interact effectively with your fellow developers, and be respectful towards everyone.
The simple act of sharing is severely underestimated; just one simple, relatable story can help someone out tremendously.
Never compare yourself with others. Accept that there will always be other people, on their own timelines, who are ahead of or behind you. Just focus on your own progression.
Everything in life must have balance. You are not going to become a one-hundred-percent, 24/7 software developer—actually, you won’t be one hundred percent anything. Make sure you keep up your relationships, your hobbies, and your health as you pursue your goals. There is a yin and yang to every level of life. Balance your front-end skills with your back-end skills. Stay late in lab on the weekdays, then go outside and get some exercise on the weekends. Learn some accounting; take some breaks from coding. Balance is the key to longevity—nothing hinges on a singular outcome. Don’t be attached to the idea of becoming the perfect developer. It won’t happen and it’s not healthy.
You must set goals. Many of us—myself most definitely included—can’t articulate our true passions. Even though our life purpose is elusive, setting and achieving goals is tangible. The best archer in the world can’t hit a target without knowing where that target is. Your goal could be to work alongside Elon Musk, or it could be just to finish that React tutorial. Keep them in focus and don’t take on too many. The presence and clarity of your goals will provide your day-to-day progressions, and those all add up.
Set up clear expectations for yourself. What do you want out of software? Is it going to be your new life’s work, or do you just want to gain some leverage at your current job? What do you want out of this job? Is it to accelerate your experience, grow your pedigree, or make money?
Set up clear expectations for the people around you. What do you expect from your subordinates? What about your boss? What about your friend you’re about to hire? Be explicit about your expectations and communicate them early.
Expectations set up your mindset and influence
your path. If you truly want to make a career out of this and get paid to write code, the journey you take will be very different from one in which coding is just your side hobby. Keep your expectations crystal clear.
Everything needs personalization. No matter what self-help books you read or what inspirational YouTube videos you watch, remember that your context is your context alone. You know your mind, your personality, your responsibilities, and your financial situation. We don’t need someone else to tell us that. Find mentorship in different places, and use role models for convenient doses of motivation. You will never—ever—get a perfectly individualized solution from the outside. There is no perfect programming language, framework, or solution. Get used to internal reflection, cultivate self-awareness, and avoid absolutes.
Finally, all your work-related issues are nothing in the grand scheme of things. It could be a fight with your coworker, a dispute with your boss, or a flurry of passive-aggressive code review comments. Whatever it is, every obstacle you encounter will inevitably become a story in a few years. No matter how bad a situation may seem, there is always some good that you can uncover. Stay grounded and don’t let these temporary fires get to you. This is the key to having a long-term healthy mindset.
Thank you for reading this book. Enjoy your journey and please feel free to reach out with any questions! My email is [email protected].