Leveraging Professional Strengths to Overcome Personality Differences
CTO at Innovative Research Technologies
I once was presented with the task of spearheading a design/R&D effort to develop a brand-new, public-facing API that would drastically change our public API offerings to-date and allow us to innovate in the market. I was given a team of four developers for a period of one week to see what we could come up with. The deliverable was to be an API specification, and some functional-but-incomplete PoC code to demonstrate usage of the proposed API.
This team I was given consisted of:
- One very senior abstract thinker who could debate designs all day, but didn't tend to really get much code written;
- One senior cowboy type who didn't participate in collaborative discussion much at all, but would walk away from meetings and write a prolific amount of code (which often didn't align at all with agreements between the other team members);
- One mid-level engineer who had a lot of product experience and insight to offer due to his exposure to customer implementations, but was too intimidated by his perceived lack of experience to join in the debate;
- One bright young man, mid-career proficiency-wise, who was not afraid to voice
his opinions, was very good, and was plenty self-assured; but simply didn't have
the product experience to back the things he'd disagree on.
All four were incredibly bright. As you can imagine, for the first two days not much was accomplished. The first individual came up with part of a specification on his own which was entirely at odds with the parts we had reached some consensus on. The second individual above came up with no spec, but volumes of code that either didn't align with overall project goals or were in opposition to the parts we'd agreed upon. The third paired with the fourth but was afraid or unwilling to contribute much of the product experience which the fourth sorely needed. The fourth came away with a mostly-complete spec that didn't solve the fundamental customer needs and didn't take some of our guidance into account.
Two and a half days in, it was obvious that we would have no deliverables if something didn't happen, and quickly! My assessment was that, unless there was something to focus the discussions around, we would get nowhere. I took that afternoon and evening to put together a nearly complete draft specification that accomplished the project goals in the way I would do it. The next morning we met and - after making it abundantly clear that this was a starting point around which we could center our discussions - walked through the spec, we debated, and I opened a PR. Finally, we were getting somewhere!
- The first individual now had concrete points to argue, and would not waste entire meetings debating abstract concepts which may or may not even be applicable.
- The second had something which captured our working decisioning "on-paper", and so he put his talents to use writing volumes of code which were (mostly) in line with what was there.
- The subsequent lessening of super-advanced, animated technical debate in meetings - when coupled with the "nudging" I was giving him - made the third individual less timid about jumping in and contributing his product knowledge.
- The (focused) code which the second individual wrote, gave the fourth individual a better understanding of how the product worked, and - together with the draft spec I put together - gave him a concrete view into where and why some of his strong disagreements were "wrong" - namely, impractical in the scope of our product.
We were able to provide the deliverables, and a year later the production implementation took place. Not one of us could have devised something as sound on our own; but once the “sweet spot” was found which would augment weaknesses while leveraging strengths, we became very effective.
Connect and Learn with the Best Eng Leaders
We will send you a weekly newsletter with new mentors, circles, peer groups, content, webinars,bounties and free events.