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 Gabriel Molina

Original Article in Spanish

English version for Perl Monks by: core_dumped

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. Re: The Role of Software Consulting Firms in... the World?

(Canon) on Mar 02, 2011 at 23:02 UTC by JavaFan on Mar 02, 2011 at 23:02 UTC 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. That's actually quite a common clause. It happens outside the IT world as well, and elsewhere in the world too. There are actual understandable reasons for that - the rules aren't there to annoy. It give companies some barrier against competitors that want to hire their personnel. Or to have some leverage if an employer leaves, and goes working for a competitor, taking their customer list with them. Also note that there's a difference between having a clause in the contract, and actually enforcing it. I've signed several contracts like this in the past, but, AFAIK, such a clause has never successfully enforced in court in the jurisdiction I currently live in. It has always been thrown out as "unfair". 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? They'll end up paying more to the consultancy firm than if they hired the programmer directly, but they need less people themselves in their HR department, and they'll spend far less resources in sifting through candidates. Don't forget, candidates you reject cost money as well. Furthermore, (and this obviously depend on the jurisdiction), firing people cost money too. If you hire consultants, it's much easier to say you don't need them anymore starting tomorrow (because you either no longer have work for them, they aren't as good as you expect, or because they have bad BO). Once you have hired someone, even if that's for a limited time contract, it's harder to get rid of them before the contract period ends. Contractors are more costly than people you have hired, but they give you greater flexibility. Which may be worth the cost. 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. Happens outside of Mexico as well. In the country I currently live in, it's usually phrased differently. They'll say we are looking for people who do not have a 9-to-5 mentality, do you fit that profile?. Which is much harder to answer in your favour than a blunt are you available to work overtime?. 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. Now, that seems to be not uncommon in North America. I've had contracts like that as well, but I've always had it amended with a list of projects I was working on (or would consider working on) to be exempt. I don't have a problem if the company claims ownership of anything I write in company time, and/or using company equipment. In my current jurisdiction, burden of proof would lie by the employer, and he wouldn't be able to successfully claim ownership of products created outside of workhours/work equipment/business knowledge. I do recommend to never orally accept a line like "just sign it, it doesn't mean anything". If it doesn't mean anything, or if it's not supposed to be enforced, it doesn't belong in the contract. Re: The Role of Software Consulting Firms in... the World?

(Abbot) on Mar 02, 2011 at 21:21 UTC by sundialsvc4 on Mar 02, 2011 at 21:21 UTC (Fair warning: I’m not about to say, “Hell, Yeah!”) The main reason for hiring through “consulting” (sic) firms, at least in the United States, is that it allows the company to apply a different tax-treatment to the expenditure. The company is purchasing a contract for professional services, not a contract or , and therefore can record it as a capital expense. The onus is upon the contracting company to provide an appropriate worker to fulfill the terms of the contract. Bear in mind that there are many very-legitimate reasons why a company would wish to “buy a service” rather than “directly hire a warm body.” (If you want someone to re-plumb your house, you want to engage them for that particular task and then be able to say, “thank you very much.” You don’t want them to be, so to speak, moving in with you.) Also remember that some companies are very difficult to “get into,” and they impose a lot of requirements on their contracting companies. You see none of that. “They have opened the door for you,” and sometimes this is – by design – the only way that the door can be opened. (“Try before you buy,” and all of that.) You get paid like clockwork, no matter if the customer has paid its invoice (in the last three months...) or not. (It happens. Often.) As much as you might grouse about the difference between their “card rate” and what you receive, believe me, they earn it. All firms are not created equal. Some of them are true consulting firms, in that they possess subject-matter expertise, and they hire (and train) workers with that expertise. Others do not. A few, including some very well-known names, seem to be little more than “body shops.” But I don’t think that it is quite fair, at least in my country, to typecast them that way (satisfying though it might be, if you feel ill-used). Probably the best thing to do is to carefully review how a company that you are interested in working with/through is actually viewed within its industry segment – both by its customers and by its contractors. Ask what benefits they offer. Ask what training they provide. Ask them what they do when you are “on the bench.” Ask them if they know how to spell “Perl.” Be choosy. (Yes, you can be choosy!) If you are not comfortable with the business arrangement or with how they seem to be approaching it, walk away. The most powerful word in any language is “No.” Make it a point to understand how the taxing authorities will view the arrangement from your perspective. (Avoid at all costs a “nasty surprise” from the tax man!!) P.S.: If you signed it, and it’s not directly contrary to the laws of your land, it’s binding . No matter what a slick saleslady said to you verbally... Caveat Consultant. By the way... consulting firms are sometimes viewed negatively by the hiring company, as well. But, in large companies, the decision of which firm(s) must be used for procurement is usually made at a very high level. (Kinda like not being able to book your airline ticket yourself, but you have to go through such-and-such travel agent who has the corporate contract.) You might not have budget authorization to hire directly, even if you wanted to. The CFO’s got the CEO’s ear, and that’s that. If someone wants to hire me to do some work under an “employee-like” arrangement for a finite task or a finite period of time, I insist on being somebody else’s W-2 payroll and for them to carry the primary contract with the client. (In other words, “a consulting arrangement.”) I don’t want to monkey around with (eating beans while waiting for...) invoices, paying quarterly estimated tax payments or payroll taxes (which are due on-the-day whether you have been paid or not), and I don’t want to be seen by the US Internal Revenue Service as a “statutory employee.” The IRS has a set of bright-line rules that it applies, and you $$ don’t $$ want $$ to $$ be $$ found $$ to be on the wrong side of them. Re: The Role of Software Consulting Firms in... the World?

(Archbishop) on Mar 02, 2011 at 20:54 UTC by tilly on Mar 02, 2011 at 20:54 UTC If intellectual property laws in Mexico are anything like they are in some areas of the USA, I think that the bizarre contract clause should be taken very seriously. Re: The Role of Software Consulting Firms in... the World?

(Prior) on Mar 03, 2011 at 18:40 UTC by ELISHEVA on Mar 03, 2011 at 18:40 UTC The kind of "consulting firm" you describe here is what we used to call a body shop: it is basically an out sourced HR department for temp workers and anyone working for them needs to keep that in mind. As one of their "bodies", it is wise to think of them as an outsourced marketing arm rather than an employer, whatever the formal legal relationship. They do the client search for you so you can have more time to do the actual technical work you enjoy. You always have the option to find someone else or even develop your own marketing and business skills so that you are not so dependent on them. To me an "employer" has a responsibility not only to pay you a salary, but also they often have a career path in mind for you. Since they can't fire you easily, their best option is to develop you. A temp firm/body shop can easily fire you so it has no motive to develop you. If one works for such a company one has to take the initiative and plot out a career path of one's own. No one needs to be a victim if one does that. Spend some time looking the market and industry power dynamics. Brainstorm about what would give you more negotiating power. Is it skills, professional network, exposure and self-branding? You aren't going to get quarterly reviews asking how you've grown professionally from a body shop, so you'll have to do it yourself. I think it also worth pointing out that there is another very different kind of "consulting firm" that does actual software consulting rather than shopping out people. There is often a special area of expertise or methodological approach that colors the company's projects. The company looks for projects that are large enough for employees to work together as a team. There is usually training and knowledge transfer. Even though most of the work time may be spend on site at various clients, there is still a sense of company and team. Employees who are not on a project usually get assigned an in-house task. They don't get fired just because they are "on the beach". My own work experience has largely been with this second type of consulting firm. I've been both on the service provision role (working at client sites) and also in the management role in such companies. I found a lot of advantages to this sort of environment: projects are constantly changing so you are always getting exposure to new ideas and technologies. You also get to experience a lot of corporate environments. At the same time, you have a group of people who care (somewhat) about you and your professional development. They come in large and small sizes. I've never worked for Accenture, but I believe it operates that way. That would be an example of a big firm (a very big one). There are many boutique firms that also work this way. If one wants to work for such a firm, it pays to network aggressively. The boutique versions of these firms aren't the sort to take out big ads in the weekly tech employment section of a newspaper. Re: The Role of Software Consulting Firms in... the World?

(Abbot) on Mar 03, 2011 at 20:59 UTC by sundialsvc4 on Mar 03, 2011 at 20:59 UTC As far as overtime, specifically, is concerned, well, I have written about that before. If your contract says (for example) that you will be paid time-and-a-half for overtime, then you might (or, might not) decide to accept a little bit of it. If it does not, then you are simply being asked to work a bunch of hours that you are not getting paid for, and you obviously know what you should say in response to such an absurd proposition. ( “No tickee, no shirtee...” “Not only ‘No,’ but ...”) But bear in mind: you do have to say it, one way or the other. As they say in those in-flight magazines, “in business, you don’t get what you deserve – you get what you negotiate.” The mere fact that someone asks you to say “yes,” does not mean that you are obliged to do so. The mere fact that a company puts such a question into the initial dialogue is certainly a red-flag sign to me, because, as a businessman, I know that the rule of the game must be “you get what you pay for, but you must pay for what you get.” If a prospective client (direct or indirect) tips me off that he considers extra unpaid hours to be de rigeur, I immediately want to know, “why?” My response is usually something along these lines: “I understand that this project is seriously off-course right now, but I fully expect to be able to set things on a much more even keel in very short order, such that the overtime expenses will be eliminated altogether, not just for me but for the entire project.” (You are not only indicating your refusal to accept overtime without pay, but you are turning it into a positive reinforcement of your value-proposition: a professional as stunningly capable as you are, doesn’t find it necessary to work overtime.) If you are dealing through a contract-agency that is not willing to make statements like that one, perhaps you need to reconsider. If you place yourself in a situation that needs negotiation, but you have no bargaining power, that can be a serious matter. You have to go in, if you do, with eyes wide open. Some companies hate to negotiate so much that they will suck-up and say anything they think their client wants to hear. (Goody for them, but do not get caught in the middle of that.) If you have no bargaining power, you will find yourself obligated to fulfill in good faith whatever working arrangement your employer did (or didn’t) bargain for, and you will have little or no power to change it. Caveat Consultant... A project that is in trouble, but that is working its way out of those troubles and that is determined to get out and stay out, is one thing. A project that thinks it has found a wonderful way to save on direct-labor expenses, is quite another. Sometimes you have to follow your gut on these things, knowing that you might be turning down a gig that will pay your rent for the next forty-leven years (or that might be six months of unmitigated hell), and that you might never know for sure if you did or did not make the right decision. Pay attention even to trifles.

– The Art of War Re: The Role of Software Consulting Firms in... the World?

(Monk) on Mar 03, 2011 at 06:32 UTC by fluffyvoidwarrior on Mar 03, 2011 at 06:32 UTC In the UK public sector gross incompetence and fear of making a decision is the norm.

One reason they hire consulting firms is so they can say they "took best advice" and if it all goes wrong (as it often does) they can point at someone else.

The UK government recently paid $18bn for a computer system that doesn't work, has now been scrapped and the project abandoned - yes that's eighteen BILLION US dollars.

I'm pretty sure the people in charge didn't get fired because they followed procedure.



Another reason for hiring consultancy firms rather than employing people is that employees don't give kickbacks to get a contract.

I know of instances in the UK of government departments paying 10 times the going rate by using a consultant for procurement of services. I can make a very good guess as to where some of that money is going.... Kickbacks! it simply doesn't make sense until you follow the money. Re: The Role of Software Consulting Firms in... the World?

(Abbot) on Mar 03, 2011 at 09:52 UTC by dHarry on Mar 03, 2011 at 09:52 UTC consulting-firm = pimp I fully agree! Consequently we are the whores. Underpaid, lousy insurance, bad working hours etc. etc. Most software consulting firms in Mexico play a good number of tricks to maximize the profits This is universal corporate behavior. It's called capitalism;) "Are you available to work overtime?" In my experience this is normally phrased like JavaFan did. Belief it or not, during the intake/interview you also have power. It's not one-way traffic. I normally respond something like, "of course I'm more than willing to do overtime", "it comes with the job" etc. But, and this is important, you add that this does not mean doing overtime STRUCTURALLY without getting paid. Of course you have to phrase it politically correct. My contracts always had a specific clause on doing overtime. It has become fashionable to impose absurd and doubtfully legal contract clauses In my experience this is more the rule than the exception. But there is a big difference between putting something in a contract and being legal. They might violate laws themselves, it is worthwhile making inquiries. To give one example, a friend was not allowed to transfer to the customer and do the "same kind of work". It turned out that just changing his job title was sufficient to avoid any legal problems. Keep in mind that clients are not too happy when their employees get sewed. Normally the threat of not hiring people from the consulting company anymore settles the issue;) You can always change pimp! Re: The Role of Software Consulting Firms in... the World?

(Vicar) on Mar 03, 2011 at 07:01 UTC by zby on Mar 03, 2011 at 07:01 UTC It sounds like a Market for lemons for both the hiring firm and the consultants without the mechanisms that would counter the trend. Back to Meditations