Weak Soft Skills: Why you are stuck at the Senior engineer level
Weak soft skills can prevent engineers from advancing to Staff Engineer. Mastery of communication, adaptability, and management of challenging situations is essential for career progression and effective collaboration.
Read original articleWeak soft skills can hinder engineers from advancing beyond the Senior Engineer level to Staff Engineer. Mastery of soft skills, particularly communication, adaptability, and challenging situation management, is crucial for career progression. Communication encompasses writing, speaking, and nonverbal cues. Effective writing involves understanding the audience, being succinct, and regularly practicing to develop a personal style. Engineers should focus on clarity and organization in technical documents and seek feedback from stakeholders. Speaking skills are equally important; engineers must present ideas clearly and confidently, engage the audience, and structure presentations effectively. Nonverbal communication, often overlooked, includes body language and tone, which can significantly impact interactions. Observing others' body language and adjusting one's own can enhance understanding and connection. Overall, engineers aspiring to move up should prioritize developing these soft skills, as they are essential for bridging the gap between technical expertise and effective collaboration within teams. The article emphasizes that all Staff+ engineers have mastered these communication skills, which are vital for career advancement.
Related
I have observed that a Staff engineer has mastered these three skills: Communication, Adaptability, Challenging Situation Management
Normalize being just a really productive IC. Not everyone wants to spend their energy on these facets of a job; some folks just want to build awesome stuff -- and that should be fine.Soft skills are a commodity. I can go to a small town used car dealer and find more soft skills than the entire C-Suite at most tech companies. If you're a good engineer, embrace the unique value you actually bring to the table.
The number-based systems at the super large tech companies can be hard to understand from the outside, and they might introduce potential confusion when trying to calibrate between different companies with incompatible systems, but they at least allow for a more clear trajectory for an individual contributor (although whether this actually determines how promotions happen in practice is a crapshoot; internal company politics can't be fixed by nomenclature). I don't think that software engineering is somehow different enough from other professions that levels can't be classified with descriptive names rather than numbers, but clearly _something_ needs to change when we can't even all agree on what "senior" and "staff" mean.
Stanford has Pfeffer's Paths to Power, Harvard had the Negotiation Project, and I'm sure the other ivy and oxbridge colleges have something similar. you are up against pros who train on this.
Learn this stuff. we need more people with domain competence in _something_ in positions of power because I think there is an essential moral quality to competence that mitigates its excesses. the basic problem with specialist professional management is the goal of all professions is to sustain themselves first, whereas domain-competent people who manage can offset the crap from ones who just like power over others for its own end.
It turns out that an important soft skill is knowing how to make these kinds of drafts work in your favor, especially with internal stakeholders, by doing drafts that are annotated with where you want help and input.
As one example, "We want to work on the foobar because [get exact wording from team] to improve throughput [%]. We will request [#] team members for the next [n] months. We're working on decision records for our top 3 options which are [1, 2, 3]." Share these one-on-one with each stakeholder, gather feedback, and hone the draft.
For technical work as described in the post as "write a technical spec for engineers in & outside of my team", I recommend trying an architecture decision record, and sharing drafts early/often with stakeholders.
https://github.com/joelparkerhenderson/architecture-decision...
As a more experienced engineer that is actually extremely passionate about my work, the difference in the way I'm treated when I adopt a calm, cool persona speaking with a calm voice vs being excited, passionate, and appearing happy is significant.
I can communicate the same idea effectively using both personas but being detached, calm and cool just seems to garner respect more easily.
Stuck? Hardly. I protect my mental well being by working on mid size companies where where science and politics are important and yet, separate and equal concerns.
Tips like these are becoming increasingly less applicable in the advent of remote only jobs.
Edit to add:
None of this advice really holds. At the end of the day, your technical ability is what matters. If you're gunning for a promotion, figure out what your manager needs to achieve their annual performance bonus, and make sure you are instrumental in helping them achieve that.
Otherwise, find a staff level position elsewhere, and apply for that.
Soft skills aren't what holds engineers back from advancing.
A great and experienced programmer is gold and what we need more of. Brownnosing ladder climbers are a dime a dozen.
What companies need to do is to ensure that a person who is who is great at their job and loves the role are compensated for the great job they do. and the value they bring to the company.
If necessary, create senior programmer (1,2,3,4,5,6,7,8,9,10,11,12) if the company feels it essential to change title to get more money.
Up or out is just dumb.
It’s a comparison to “hard skills”, usually meaning technical skills.
And these interpersonal and communication skills are extremely hard. Calling them soft devalues anyone who has cultivated them.