After some years of experience in software development and programming, I often find myself diving into learning new languages, frameworks and technologies. There are few things as exciting to me as setting up a new empty project in my IDE, installing some new environment, and seeing my first “Hello World” in some new language, before diving in to all the exciting new features that technology has to offer, and imagining all of the new opportunities that could be opening up in this learning process.
But I have also learned that employers are less and less concerned about the number of languages or frameworks one can list on their resume. This is especially true for developers who have been around for a while. As one who has acted as a lead and managed teams of developers, I have also noticed that when a new hire doesn’t work out, it’s never because they didn’t have a sufficiently long list of known languages and frameworks. In fact, it’s rarely because of any lack of technical knowledge at all. It usually comes down to their lack of ability to be an effective team member.
You might be wondering, why am I recommending a book on soft skills written for managers on a developer’s blog? Wouldn’t my time be better spent on the latest JS framework? My answer to that is, you are studying languages and frameworks because that is what you believe will set you apart from every other candidate. But there is always someone with one more technical skill under their belt, one more year of experience with a particular database or build process. However, many of them lack in soft skills in some area. The trade-off between soft and hard skills is natural – we excel where we place our focus.
Patrick M. Lencioni’s The Ideal Team Player is a favorite of managers in the tech industry for this very reason. The author distills the traits of an ideal team player into three virtues: Humble, Hungry, and Smart.
The first one, Humble, really struck a chord with me in particular. It can be challenging to appear humble to others, even if you have no problem acknowledging your own shortcomings to yourself. But self-awareness is just a start. Most of us in this line of work occasionally suffer from Imposter Syndrome, because there is always something we don’t know. We sometimes get caught up looking for a complex problem that later turns out to be a very simple thing, and it can make us feel inadequate. It is natural to want to defend or deflect mistakes or shortcomings, because we rarely feel sure that colleagues or superiors will be forgiving.
Being able to accept criticism is a key trait that every developer must have. How else could any of us survive constant peer reviews and rejected pull requests? Or bug reports from QA that we must fix? What about when we make a mistake that causes a delay and throws off our initial estimates for the task? Any good manager will expect these situations. But what they will not expect — or want — is a lack of candor or honesty that causes further delays. Then you compound a technical error with a soft-skill deficiency. It also insults the intelligence of your colleagues, because the cause of the problem will ultimately come to light. This takes everything figurative out of the expression “adding insult to injury”, and turns it into a purely factual and literal statement.
Speaking of humility, I won’t pretend that I can teach these traits any better than Patrick Lencioni! I merely want to draw the connection to how the subject of this book can be useful for developers, engineers, QA, and anyone working on the technical side. Knowing what helps your managers do their job helps you to help them, which can only mean good things for your career. This also helps you to demonstrate the key features many managers will be looking for when applying and interviewing for a new job.
Score: 5/5
Link to purchase:
The Ideal Team Player: How to Recognize and Cultivate The Three Essential Virtues