13 Undesirable Behaviors in Software Engineers: Are You Guilty?
Spot these red flags to become a better team player and boost your career
As software engineers, we often focus on mastering technical skills, but our behavior can just as easily define the trajectory of our careers. I’ve seen good engineers struggle, not because of a lack of technical knowledge but because of these 13 undesirable traits.
Do any of these sound familiar?
WorkOS: start selling to enterprises with a few lines of code (Sponsor)
WorkOS is a modern identity platform for B2B SaaS. It provides flexible and easy-to-use APIs to ship user management, SSO, SCIM provisioning, and fine-grained authorization in minutes instead of months.
WorkOS powers some of the world's hottest startups, including Perplexity, Vercel, and Webflow.
👿 1. Being A Brilliant Jerk
You might be the best coder in the room, but no one will want to work with you if you're condescending. Technical skills may get you far, but soft skills determine how far you’ll go with others.
Watch out for these behaviors:
Getting annoyed at people asking seemingly naive questions
Being dismissive when asked to explain your decisions
Becoming overly pedantic about trivial issues and not giving others independence
I still recall being afraid of someone like this as a junior engineer. So, I care a lot about how I interact with engineers today, irrespective of their knowledge levels.
🤐 2. Faking Knowledge
We've all been there — pretending to understand something we’re unsure of. We often think admitting "I don't know" is a sign of weakness. But it's quite the opposite.
Remember:
Use “I don’t know” to stimulate the discussion and not end it.
If you don’t ask, you will spend hours figuring it out on your own. So ask!
Make a note of things you say “I don’t know” to repeatedly and learn those in your spare time.
It took me years to feel comfortable saying those words out loud, which was a relief. Read the power of “I don’t know.”
✋ 3. Interrupting Constantly
Cutting people off mid-sentence doesn’t just come across as rude — it shuts down collaboration. It conveys that your ideas are more important than everyone else’s.
Here’s what to do:
Wait for a natural pause before speaking.
If you must interject, say, “Sorry to interrupt, but...”
Jot down your thoughts to avoid blurting them out in the moment.
I had no clue I had this annoying habit until a good manager made me realize it. Read more about it here
🔍 4. Not Investigating on Your Own
Asking questions is great. However, bombarding others with all your questions before attempting to solve them yourself can frustrate your team.
A better approach:
Spend time trying to figure it out on your own.
Document your efforts and findings.
When you ask for help, show what you’ve already tried and provide context.
Take a look at my framework to debug anything.
🤐 5. Disagreeing Silently
Staying silent when you disagree in meetings and then complaining later will frustrate your teammates. Sometimes, the cost of changing things later can be high!
To address this:
Share your concerns respectfully in the meeting.
If you’re not comfortable speaking up, follow up offline.
Asking clarifying questions can also be a great way to highlight where you disagree.
🚫 6. Rejecting Every Feedback
It is easy to reject feedback when it feels “wrong” or “vague”. When you do that for everything, you would come across as defensive or hard to work with. Over time, people will not like working with you.
Do these instead:
Acknowledge that the feedback could be true to change your mindset
Reflect on your behaviors to understand how the feedback could be true
Ask for specific examples and suggestions.
🙅♂️ 7. Dismissing Others
Strong opinions are good, but refusing to listen to others is a problem. Note that the goal is to find the best solution, not prove you are right.
How to be mindful:
Listen to the ideas fully instead of assuming what they are trying to share.
Ask questions to validate that you understood their suggestion.
Be open to changing your mind when their ideas are justified.
🏃♂️ 8. Rushing Decisions
Making quick decisions without considering all the factors can lead to costly mistakes. When you do it too often, people will lose trust.
To slow down:
Make a list of factors that might impact the decision.
Seek input from teammates with different perspectives.
Consider both short- and long-term implications.
🤝 9. People Pleasing
Trying to please everyone often leads to vague suggestions and mediocre outcomes. They stem from the fact that some engineers don’t want a conflict, so they play it safe. However, in the process, they get labeled as indecisive.
What to do instead:
Present clear pros and cons for each option.
Make a recommendation based on what you know. Say if you are unsure.
When you get the information you need, take a stand.
I could lead effectively only after I grew out of this behavior.
😓 10. Struggling Silently
Struggling in silence doesn’t make you a hero — it makes you inefficient. When you share your struggles, others may realize how complex your project is.
How to improve:
Set a time limit for struggling alone.
Be specific when you ask for help and provide context.
Share what you have already considered and where you are stuck.
🌞 11. Being Too Optimistic
Optimism is great, but being overly optimistic can lead to unrealistic estimates and missed deadlines.
To be more grounded:
Use data from past projects to inform your estimates.
Build in buffer time for unexpected issues.
Be upfront about potential risks or roadblocks.
💔 12. Lacking Customer Empathy
As engineers, sometimes we focus too much on technical challenges and forget what matters most to our customers. Note that our goal is not to build the best technical solution but to build the right solution.
Do this instead:
Assume good intent when they share their problems
Empathize with their constraints while solving your problems.
Understand the business goals.
I hadn't built customer empathy early in my career. Transitioning from that to making frustrated customers happy was a significant level-up for me. Check out how I made this frustrated customer happy.
🌀 13. Setting Up Bad Meetings
Meetings without a clear agenda often lead to confusion, wasted time, and frustration. Without knowing the purpose, attendees can struggle to contribute effectively or prepare relevant input.
Be better with meetings:
Set a clear purpose. Even open-ended brainstorming meetings should have an expected outcome defined.
Share pre-read for complex topics that your audience will understand.
During the meeting, help people stay on topic.
Read more about tips on how to run meetings like a pro.
Remember, most engineers work in a team. Undesirable behaviors can bring the team morale down. So, we need to identify and manage them.
What other “undesirable” traits have you noticed in yourself or others? Share them in the comments!
If you enjoyed this article, then hit the ❤️ button. It helps!
If you think someone else will benefit from this, then make sure to 🔁 share this post.
That's a good read.