I will never forget my first day at my first programming job. I was excited, eager, and happy to be there, feeling like I had finally made the big time. I thought, “I am going to get to be a real software developer,” and I was stoked beyond belief.
In the elevator on the way up to meet my new boss, I stood with an older, grizzled and tired looking man. I was chatty and excited, and tried to strike up a conversation. I told him it was my first day.
“F%@! you, new guy,” he said as the elevator doors opened and he strode off into the hallway. I was stunned. I stood there dumfounded long enough that the elevator doors began to close before I remembered to walk out.
Over time, I got to know Mr. Elevator. His real name was Adam and like so many people that we tend to make excuses for, I can tell you that Adam wasn’t so bad once you get to know him. In fact, after some time, Adam became something of a mentor to me technically and I worked alongside him learning a lot as I did so.
Professionalism Isn’t Just in Your Code
My introduction into the world of work and many subsequent experiences all conspired to teach me that acting like an a-hole was absolutely accepted in the subculture of software development. I struggled for years in other organizations when I carried those behaviors to other employers.
Over time, I learned not only is this ridiculous, but that this institutional acceptance of unprofessionalism has contributed significantly to the negative perception many people have of our profession. Tolerance of behavior like Adam’s is pervasive in our industry and is often dismissed as “Oh, those pesky developers”.
You want to turn IT from a cost to a value center in your organization? This is where you start. I learned a lot of terrible behaviors from Adam and it took years to replace them with new ones. The good news is that it can be done and the way to do so isn’t a big mystery.
It’s Like Learning a New DSL
I struggled for a long time before learning that soft skills are, in fact, skills. That means they can be taught, learned, dissected, studied, practiced, and honed. This was great news for me because unlike so many nuero-typicals I know, providing good feedback (as an example) doesn’t come naturally to me. People who share my tendencies toward autistic spectrum disorders often think that soft skills are a magical talent some people are born with. BTW: If you are reading this blog you have a good statistical chance of having at least mild Asperger’s Syndrome (it’s a super power).
Learning soft skills is like learning anything quantitative. For instance, you know how user stories have a little pattern? There are patterns to effective communication, too.
An Effective Feedback Pattern
- May I give you some feedback?
- Here is something you do well.
- Here is an example of a behavior that could be improved.
- Here is the negative effect of the behavior.
- Express confidence in the person’s ability to improve.
- What are your thoughts about this?
Hey, Dave, may I give you some feedback?
You have some great development skills. Your OO skills are particularly good and it would be great if you could provide some design leadership to the team in helping them improve.
Being consistently late to the daily standup is hurting your effectiveness. When you are repeatedly late, it causes resentment in the team toward you. Ultimately, this undermines your own effectiveness as a leader.
I know you can do well at this if you choose to, but its up to you. What do you think about this?
It Actually Works
You may think this example is contrived and over-simplified. It isn’t. I have had this conversation and it really works. Books on the subject provide all kinds of reasons the formula works, but the bottom line is that there are patterns of human behavior and communication just like there are patterns of effective software development.
If you care about any of this (and you likely wouldn’t have read this far if you didn’t) I think the best place to start is to do some reading about communication techniques. The cool part of this is that as you learn new techniques, you get chances to try them out on a daily basis, and not just at work. The world is a huge discovery spike for this kind of thing.
Here are some books I have found helpful.