Bad attitudes

Last month when I was in India, a software manager complained: "Today many programmers go to work with bad attitudes because they know that they can easily get jobs with other companies since there is a shortage of software workers. With globalization, the job market is wide open with more opportunities for everybody but it also changes behaviors of many software people”. I asked him: “What has happened and what did software people do?” He shook his head and said: “Many programmers became arrogant since they are making more money, some refused to follow the project's standards and wanted to do thing their own way. After given orders from manager, one programmer coded according to the standard but change the variable names, function names so no one know what they are. Another programmer insisted that his works was finished; meanwhile he spent time exploring the internet to learn “New Tricks”. When the time came to integrate his code with the rest of the team's work, none of his work was done. He only created some high level functions without testing at all. Another software developer had added number of “Short cuts” that he copied from “Chat room” apparently someone wrote them for him. It seems that programmers are learning so many bad habits from other programmers in the internet or come from poorly trained universities”.

I was very surprised about this attitude in a country with a traditional culture of harmony and honesty so I asked: “What did you do when these things happen?” He told me: “Of course, I have to fire them but there are more. In addition to bad attitudes, there are significant skills differences among programmers who had experience too. It is difficult to find good programmers, most people I hired just barely know how to program accordingly, and they learn a lot of “Tricks” just to make the program work but NOT good enough to maintain them. Many make a lot of mistakes or have high defects rate but do not know how to fix them. It seems that universities did not do a good job in training them at all. I have to personally retrain many of them on basic programming skills. Many are either not able or not willing to follow project coding conventions or design standards. They do not know how to remove defects from their code or create test plans. Many just code and hope their programs work. They can not estimate their work reliably because they don't know when they will even finish. Of course, for software project, NOT finishing isn't an option. For programmers who didn't finish according to the schedule then we have to give them more time to complete their work or someone else would have to complete their work for them”.

During the week travelling from Bangalore to Chennai, I heard more complains about poorly trained programmers. Several managers told me about similar cases of bad attitude and lack of skills. One person said: “If they have top skill and act arrogant then I can understand but many do not even have average skill but still act like they are “somebody” and demand more money or else they will find jobs with another company”. The worst thing is many managers are not willing to resolve poor performance problems as they are so busy making money. As more foreign businesses are pouring in, managers are busy negotiating deals and are unwilling to deal directly and effectively with internal problem. One person told me about one programmer arrived at work late, went to lunch early then took a long lunch time, then after few hours at work, he went home early. The team complained to project manager and he asked the programmer to be on time, the programmer complained about the lack of teamwork, unfair treatment then threatens to quit. One engineer said:”Few years ago, we are lucky to find good jobs with good salaries but today there are so many jobs so people change jobs often for better salaries. Because the job market is booming all over India, many software people do not care about quality or work ethic anymore as everything is driven by money. The more developed countries outsource to India, the more software jobs they create and the more people are eager to make money the fast way. It is a crazy world with so much money to be made and people change their behavior quickly”.

When young people have so much money, they spend on things that are not available few years ago. In every big city, you can see bars, night-clubs, restaurants, karaoke, massages and many more. Violent video games are very popular and western movies are replacing traditional Indian movies with more violence and sex. Unfortunate young people do not know the difference between what happens in movies and reality so they adapt many bad attitudes and they reflect on the society. Divorce rate and heart disease are increasing among young people but these things can be expected as more people are under stress but the most surprising to me is how fast the culture can change from good to bad.

One manager told me: “There are more software jobs available than software engineers so many people go into software field, including people who do not qualify but schools still graduate them and companies hire them anyway. In every company, there are unskilled people and people with bad attitude. They cover up their ignorance by staying in the jobs for a short time than change jobs before managers find out that they can not do the works. They do not want to learn and actively resist having other team members review their designs or code. They are very aggressive and arrogant with an attitude such as "No one can touch my code as I am too busy now, but I will get to them next week." They prevent team members from reviewing their works and complain about teamwork decisions. Some of them are violent and ready to pick fight so today many software companies have to hire security guards to keep things in order."

It is difficult to imagine things could get worse like that in a traditional culture like India. I do not know where it starts or how it could get that way so in meeting with the Software Management Association, I advised: “Attitudes are hard to change. If the problem is caused by lack of skill, you can add more training but if people have bad attitude it is harder to fix. The longer you keep a disruptive person around, the more problems that person will create to the groups. More works will be affected, more code that person responsible for will create more defects for the whole team. It is important to screen people when they apply for jobs, you need to spend more time in the beginning then you will not regret later. The best way of detecting bad programmers is having more design and code reviews. If they do not meet your standards, deal with them immediately. It is not difficult to identify team members who do not want to share their works or do not accept manager suggestions. As managers are busy negotiating business and making more money, it is important to understand that this is short term thinking. Quality and commitment are very critical in any business. Today India is successful because of the service excellence in the past but if Indian companies do not stay focus today, tomorrow will not be the same. With so many countries enter this lucrative business, competition is high and if you do not fix the problem today then in a few years, India may not be the prefer destination for software business anymore. Tolerating bad attitude could hurt the productivity of other good people and the future of your companies”.

I never like to write about negative things. However I was very surprised about this social issue in such traditional ethical society. Overall, I believe management is responsible for allowing unacceptable behavior from happening in the workplace as they are too busy making money but actually the root of it stems from an education system as it failed to EDUCATE student in moral, ethic, respect, loyalty, benevolent and humanity. By massively producing more software people just to meet high demand but do NOT concern with quality and skills is not just wrong but unacceptable.

Sources

  • Blogs of Prof. John Vu, Carnegie Mellon University