|Perl: the Markov chain saw|
The Role of Software Consulting Firms in... the World?by core_dumped (Acolyte)
|on Mar 02, 2011 at 19:40 UTC||Need Help??|
In recent days, an article was published in a blog in Spanish, reflecting on the role of software consulting firms in Mexico. Needless to say, the situation does not apply to that country alone, and the comments keep on coming, about it being the same here and there. I wrote an English translation and decided to share it with the rest of the Monks. Hope you find it worthy of meditation.
The Role of Software Consulting Firms in Mexico
About a year and a half ago, I was working as a developer for one of the many consulting firms existing today. This particular firm bragged about having been listed in "Great Places to Work" for several years in a row, although I do not share the opinion of whoever it is that rates these places. In the case of software consulting firms, it seems to me it is impossible to say whether the place you are working in can be considered a good place, most of the time, this workplace is with "the client".
I remember well that at the time I commented with a colleague my intention of changing my workplace, saying I would ask the firm to assign me to a different "client" or, ultimately, switching to work for another firm. Reflecting about what I was saying, I realized I was in a similar situation to those who see programmers as interchangeable pieces: I looked at consulting firms as something interchageable, to choose according to salary and work benefits. Thinking about it, in my mind came up the comparison consulting-firm = pimp, since consulting firms recruit programmers on demand for the clients and in a similar way they are discarded when the project ends, if the clients no longer need their services.
Most software consulting firms in Mexico play a good number of tricks to maximize the profits they obtain from a "resource" they hire. Most evade tax payments with contractual variants that include payment through a professional services receipt, payment through a cooperative and many other weird schemes in which, besides not having to report to the ISR, they free themselves from expenses incurred into due to bad planning or poor software development. Under the premise that IT projects are characterized by extenuating work days, firms make clear to the employee he will have to "adapt" to the clients schedule. It is a virtually assured question in job interviews that of "Are you available to work overtime?" immediately followed by disapproving and angry looks if the answer is negative.
Although the programmer's salary can be higher than average in Mexico, it is still far from being competitive. Consulting firms' abuses do not end there, as it has become fashionable to impose absurd and doubtfully legal contract clauses. One of these is preventing the programmer from being hired by "the client" for a given period of time after having left the firm. This period may vary from three months to two years. Some go further and prohibit working for another consulting firm.
I witnessed the most extreme case of bizarre contract clauses last year. I was given a contract to sign, where I found a clause stating that "anything" built by "the resource", inside or outside the office, which could be considered exploitable as intelectual property, while he/she was contracted by the firm, would become the property of the company. I remember I asked the Human Resources employee who handed me the document if that was not an exaggeration. Her answer was that this was a mere formality, that what the contract said was never actually done, that it was only because someone wished to write it up like that and that I should just ignore it and sign it.
But the strange role of a software consulting firm does not end there, since the programmer is not the only one affected. Let us see the case of the clients. Many companies with software development departments require temporary resources and hire them through consulting firms. Companies theoretically avoid the expenses of recruiting and selecting, although they end up paying more to a consulting firm than if they hired the same programmers directly. What is then the advantage of hiring a consulting firm? In an ideal world, it would be that of paying for highly qualified personnel who have the necessary experience for the development needs of the company. Does it happen so?
The recruiting process in most consulting firms can be summed up in three steps: an interview with Human Resources at the firm, a brief technical interview or an exam and an interview with the client. In the end, what the firm looks for is not the best programmer, but simply one that "passes" the interview with the client, who, at this point, has the option of completely trusting the firm or do the recruiting and selection it wanted to avoid. Frequently "resources" are sent to interview with several clients, in the hope they will fit one of them and stay. The people attending these interviews cannot be regarded as employees of the firm, since in general, they are only hired until one of the clients has given the go-ahead for them to work at their installations.
If you think about it, the job of a software consulting firm is to find candidates and take them to the clients. If the client agrees, the firm hires these people and its sole responsibility is to pay them a monthly salary, much lower that what the firm is receiving. Again I return to the comparison consulting firm = pimp because it seems to fit well with these firms' work model. The sad thing is, that according to this comparison, programmers are in a very bad place in Mexico's software industry.