Managing code of egos
Today is not a coherent post, it is just stream of consciousness on a topic...
Developers love to write brilliant code. Ask them, they are often happy to tell you how brilliant their code is. I often see developers belittle other code that may work just as well, but since it is not their own it is not adequate. Unfortunately, almost every corporation has more than one developer. That causes a challenge to manage... subversion, tfs, github, etc... all source controls have one major flaw, they require humans to use them. :-) People overwrite each others code, certain merges cause other areas to break, people refactor things to make it better, but they don't consider the ramifications. Not that the code or build is broken, but that someone's ego may get hurt. Ahh, the managing of egos. My code is better, don't make me spend time explaining it, just trust me it is better. I love that quote by Maya Angelou "I've learned that people will forget what you said, people will forget what you did, but people will never forget how you made them feel.". It is true. You can't remove emotions from business, from work, or from anything that involves people. We all have our own strengths and weaknesses.
How do you build a strong team without ego-crushing individuals? There are several small things that help. The first is having people listen, not interrupting, not contradicting, not competing, just listen. The next is to identify the stress points. Who doesn't like who? Why? Who feels overwhelmed, Who feels bored? What are their strengths? What are their weaknesses? That is why Meyers-Briggs or other personality quizzes help you identify the personalities you are dealing with. The problem with that, is most engineers fall into a certain personality type. So the egos will continue and often clash. Another thing that I have seen work is have a common goal that everyone is on board with. Give people time to relax together. If I work 80 hours a week, I'm never happy and often frustrated. If I work 30 hours a week, I often enjoy life more and produce better code and enjoy my coworkers more. Don't plan an event at 5pm on a Friday to build morale. At the 9am standup, tell everyone no updates today, let's go grab breakfast and talk about some new ideas, and take everyone out to breakfast. Don't talk about the current work, but what new technologies are they playing with, what movies they saw, let them talk about themselves. You will be amazed how much a simple surprise breakfast OFFSITE could help everyone simply feel better about the stressful work environment. The environment hasn't changed, only their perspectives.
So simple solution to the topic: Listen, Set standards and REQUIRE THEM to be followed, Surprise them with an offsite event DURING work hours. I would much rather spend 2 hours off site a month knowing I would have an employee for 2 years, than burning them out and losing them in 6 months.
Keep your employees happy... it is not difficult... it just take a little shift in priorities... Let them be who they are and watch what they produce.