[Off-Topic] A Vent III, Reflecting on 2007

PT | EN
December 30, 2012 · 💬 Join the Discussion

For the record, this article doesn’t have an alternative version to the TL;DR :-)

In 2007 I wrote two articles on “consultancies” titled A Vent and A Vent II. Give them a read to understand the context. I like to reread my articles to see if I would still write the same thing. The first article is a set of tips for a consultant to improve themselves. In the second I describe the greatest sin in a consultancy. I wrote the articles when I already had a few years at different companies, in different industries, and most recently had been years at a consultancy.

The first article is very simple, and what I recommended at the time is what I still recommend today: continuous improvement. Two points from the original article:

It's no use just changing jobs, for two reasons: a new project won't necessarily bring new things (the chances of being just another form are high). And leaving learning only for when you need it, on a project, is already too late. You'll be overtaken by others who know what you should have already known. It's a good programmer's obligation to know things before, not after: after a terrible quality product goes into production, the result will be bad both for your client and for your reputation.
Stop complaining. Complaining creates a negative mentality, irritates others, and doesn't lead to any solution. Complaining is just another excuse, a noise that hides the real problem. The problem is this: you're complaining about the job, about the project, about the boss, but in reality you'd like to be complaining about yourself. Complaining is just the externalization of the frustration of being what you are and not being able to be more. And that's not a physical inability, it's just mental laziness.

For me, the great advantage of working at a consultancy instead of staying at a single company? It’s being exposed to different projects, different companies, different people, and different ways of dealing with each type of problem.

Look at it this way: a consultant is seen as a “pariah.” A company’s employee, in particular, has no reason to like a consultant because they’re usually called to do their service, in less time, with better quality, and earning more. In practice, if the consultant is successful it’s because the employees were doing a terrible job before. It’s not always like that, but that’s the general view.

From the consultant’s point of view, it’s a hard job because they need to insert themselves into a company context that the employee had months to get used to, discover what needs to be done and why it didn’t happen, do more than everyone else with less authority and less knowledge. A consultant is effectively like a mercenary, we’re called to do the work that no one else could.

Note: anticipating the freedom to interpret the “mercenary” metaphor, let me clarify I mean “one who is called to solve the problem no one else could” and not “being paid to do whatever they’re asked, including the wrong thing.” With the metaphor clarified, let’s move on.

That’s what I like. And that’s why a good consultant can’t make the mistake of regressing to the standard-employee mind — in the same way that a mercenary can’t want to compare themselves with the private soldier, they need to be the soldier and the general. When I was a consultant, what pleased me most was being aware of this position, entering a client knowing I would need to solve the problems the insiders wouldn’t solve. Feeling the pressure of walking on the front line without knowing what I would face in the middle of the jungle. Being able to talk to the subordinates, their bosses, the surrounding departments, and manage to map the terrain to find the best path between the minefields. Being able to disagree directly with my client while offering a better solution than anyone had thought of. That’s the exercise of every good consultant.

The Expendables 2

The second article, A Vent II, is centered on a problem I’ve seen many small and medium consultancies have: poor financial health. That’s “The” main problem:

When a consultancy shows signs of financial problems, it's the red signal: jump out as soon as possible. Don't think twice. If the client decides to throw a tantrum, if the client decides to delay the invoice, if the client decides to stall, none of that is the consultant's problem: that's exactly what we pay this insurance to the consultancy for — so that it places itself between the client and you. The consultant, correctly working the hours billed, has the right to receive on the dates in the relevant contracts.

A large consultancy, with an established name for at least a decade, is capable of having a sale price (rate to client) up to 5 times greater than the buy price (rate to consultant), or more. But in most of the market this is the exception. In my case the maximum is 50% of the buy rate. And of total gross revenue, almost 2/3 is payroll. That’s the reality of the services market. With a tight margin — not counting other operational costs and investments — commercial and financial control is fundamental. You know a consultancy is competent when you haven’t had to complain about your payment even once, knowing it’s a sector where clients never pay on time.

There are several advantages for a consultant to work alongside a good consultancy and not as an autonomous or freelancer. Being compensated on the correct dates is one of the main ones. Because if you’re going to be paid unstably or sometimes scammed, the freelancer option becomes attractive again. So when I decided to start my consultancy this was one of the main concerns and a rule never violated was: everyone receives what’s agreed in the contract on the stipulated dates.

And after more than 1 year, one of the most unstable periods in a services company, that rule prevailed intact.

But that’s not all a good consultancy offers. The word “consultancy” is a big umbrella, unfortunately distorted by its misuse. I divide the definition into at least 3 big niches. First, agencies: in this case the consultancy is specifically about marketing and advertising — at most — and the software part is usually of low value in the total budget, sometimes delivered more as a “freebie,” and execution is of low quality because the pieces are volatile, temporary, and don’t need to last long. That’s why anything different from this done in agency style rarely works well.

The second niche is the infamous software factories, and in this case the vast majority of people aren’t “consultants,” they’re just “procedural executors.” That’s because a fundamental characteristic doesn’t exist: direct contact between the programmer and the client. They work in a defined process, where they receive work orders, need to fulfill a fixed amount of hours, and their only task is to fulfill tasks that have already been detailed in advance, in fixed roles. There are variations, but in general factories are driven by a process that tries to be deterministic, and for that the types of software tend to be limited: forms and form flows, especially in company intranets or integrations with back office.

The third niche, “consultancies,” where there are actually “consultants,” are rare. It’s assumed that the type of professional at a consultancy is superior to that of an agency or a factory.

To understand this niche, we need to understand what the disadvantage of being a freelancer is. A freelancer needs to be a mini-consultancy — they need to do their own personal marketing, establish robust relationships and commercial network, know how to correctly negotiate values, scopes, deadlines, close good contracts (and most freelancers close verbally because they don’t know how contracts work), issue invoices, etc. Oh yes, and in the middle of that they still need to program. Their compensation tends to be higher because of this overhead, but also for that reason their productivity and quality tend to be lower. And by not executing this overhead correctly, it means low-trust deals closed verbally — as should never be done.

A good consultancy removes this overhead and does it in a superior way. It’s a service exchange, my ideal concept of “voluntary exchanges for mutual benefit”, because the alternative of not being at a consultancy is acting as a freelancer or becoming an employee at a company whose core business isn’t necessarily software (even a tech startup, I’d say the core business isn’t always the software — actually I’d say in rare cases, reflect on that). “Services” is a free market where exchanges are essentially voluntary: an exchange of services for compensation, as it should be.

There are companies where software is the core business, like software consultancies. And others where it isn’t, like commerce companies, where software is accessory and not the main business. Or hosting companies where the core is unquestionably infrastructure and operations.

That’s another aspect I learned being a consultant: identifying the core business. If a company considers software as “profit,” that’s where it will invest, that’s where there’s a future. If it’s considered “cost,” that’s where it tends not to invest, to replace what it has with cheaper alternatives. And that makes sense. Why invest in software at a company whose core is sales? Or whose core is finance? Software and programmers are costs just like Word or Excel licenses, it’s no different. If the goal is to grow professionally, you should look for companies where software is part of the core. If you want a peaceful job, few activities, routine — but with the invisible risk of becoming rapidly obsolete and subject to cuts — look for jobs at companies whose core isn’t software.

Going back to the difference with a freelancer, a consultant doesn’t need to worry about marketing, contract negotiation, legal, billing, cash flow, HR. Like a good mercenary, they receive a mission and should fulfill it. More than that, a consultancy is able to close projects that would never be accessible to a freelancer — it’s able to offer delivery security that a freelancer can’t offer. Besides, a good consultancy doesn’t terminate a contract with its consultant because a project ended — that’s another thing a freelancer has problems with: at the end of a project there’s a sales cycle that usually takes time. A good project can take 1 to even 2 months of negotiation to close, from initial contact, proposals and adjustments, to the final contract signature. A consultant doesn’t need to worry about this — they just need to worry about delivering projects with consistency and quality, while the consultancy handles the overhead of maintaining a healthy pipeline of projects always coming in.

Now this is the key point: “like a mercenary.” That’s the most undefined part of the model. I believe a good consultant doesn’t need an “operational boss,” the traditional “manager,” who defines work orders, assumes communication with the client, does politicking in the company, and tells each “employee” what to do. Of course, there are senior and junior consultants, and juniors will always mirror and learn from seniors, but that doesn’t necessarily make them their “bosses.” A good “consultant” is like a good “mercenary” — either they know what needs to be done, or they’ll figure out how to do it — the right way.

“Autonomy” is the key word everyone learned to repeat like a cuckoo clock. Everyone only remembers the “freedom” part of the word, but conveniently forgets the “responsibility” part.

“Oh, but I am responsible.” No, you aren’t. Your name isn’t on the company’s partnership documents, where if the company has a loss, goes bankrupt, has to deal with its debts, you also have to pay along. As a hired consultant, there’s no such risk. So, legally, you’ll never be responsible, until you become a partner — which is a real possibility for those who become excellent seniors, a possibility that exists in my company and has been recently exercised with the entry of 2 new partners.

So, if the consultancy gives you the “freedom” to deal with a project the way a “consultant” needs to, without intermediaries, without an operational boss, without a short leash, it’s because there’s much greater trust than any other company would ever give to an employee. Because if something goes wrong, the consultant has zero risks — the consultancy bears 100% of all the risks. And this is another crucial factor some don’t understand: it’s like buying insurance — would you drive a new car without insurance? That’s another function of the consultancy, to be the consultant’s insurance where they can train on projects where they technically have no “responsibility” and still acquire knowledge, capabilities, networking, with zero risks.

That was what I most liked about the consultancy where I worked between 2002 and 2007. I entered there as a junior programmer, practically a trainee, even after already having at least 5 years of previous experience — for me everything was new, and so it was taking a few steps back to learn. And I learned. On some projects the challenge was purely technical, implementing software on platforms, tools, or languages I had never used before. On other projects the challenge was coordinating work with my colleagues in the best possible way. On others, the challenge was communicating with the client to find out what they needed and executing the best solution. Finally, the challenge became selling, convincing the client of the correct solution.

I never had a title of “manager,” “pre-sales,” “architect,” but I acted in all these positions, alternating from project to project according to what the situation most needed. At one moment I was the only developer allocated for a short period to solve a technical problem no one could. At another I was the one putting together a team of 10 people, hiring and coordinating. In all of them I did what I knew I should do: solve problems. Because a consultant who creates problems isn’t a consultant — they’re just another employee.

A consultant’s compensation is also different from an employee’s. Part of why employees grow more slowly is because their compensation increases almost automatically, nearly independent of their individual performance. Even the best-equipped companies, with formal reviews and everything, will always be at the mercy of those who instead of working toward growth, work to find holes in the system to work less. Public servant profile, pejoratively. Annual raises come automatically, scheduled position changes, anyway, a bad environment for those seeking professional growth. A consultant, like a freelancer, grows by performance, by action, and by how much more the clients themselves understand that the consultant deserves more. I’m tired of knowing excellent consultants who, when they changed consultancies, the client went with them because of exceptional performance. Today I don’t see this anymore — only unethical ex-employees trying to negotiate with the consultancy’s client on the side, only in speech. And what good client falls for the sales talk of an ex-employee who clearly doesn’t deliver results?

Chuck Norris

The biggest problem at a consultancy is when a consultant tends to regress to the standard-employee stage. The symptom: instead of seeking results, they’re seeking excuses not to execute their work as they should. There’s a big difference between someone who complains and continues delivering good and consistent results — which is what they committed to when signing the service contract with the consultancy — and someone who complains and delivers less and less and with low quality — technically already going against what was agreed when hired. Especially when “unionization” movements start (in quotes, pejoratively, because unionizing in a non-monopolized and non-cartelized market makes no sense), it’s the one who produces little and starts stirring people around to create “movements,” the strategy of creating smoke screens to take attention away from themselves; where they begin to spread slander, insult, and defamation about colleagues, clients, and the company they work for. It’s easy to identify — it’s always the one who wants to “speak for you, for the good of the group.”

Exactly because of this, every consultancy has a turnover rate higher than normal companies. And they need to have it. It’s the dilemma of every consultancy. Understanding that service companies have their intellectual capital in people. Letting go of an employee, much less a consultant, is losing an important asset for work, relationships, and everything. That’s why when a services company lets people go, it’s a conscious strategy whose only goal is to admit a mistake (of hiring) and take a step back to take two forward quickly. Part of this I described in the article Net Negative Producing Programmer.

The only situation where there are dismissals that harm a company is when it has already shown signs of financial weakness in the form of delayed salaries. Anyway, not everyone was born or wants to be a “consultant,” and some only find this out over time — it’s all a matter of perspective. To start with, a good consultant knows how to speak for themselves, they don’t need intermediaries. They should also know that everyone knows everyone in this market. Reputation and credibility are currencies. Just think: what kind of company would want to hire someone who defames the previous companies they passed through?

Sometimes a consultant doesn’t understand the advantages of their position. More autonomy always comes with more responsibility, and more responsibility always means more challenges and more difficulties. Everyone asks “I want more challenges,” but few are the ones who take on those challenges when they appear saying “let me handle it.” Many seek a job as an “employee,” in the sense of deferring responsibilities (the famous “I just work here”), and technically there’s no problem with that — not everyone was born to become a problem solver. Some prefer to work on one thing, to relate to a smaller group of people for a longer period, to limit perspectives because they don’t want to cultivate — and maintain, because it’s not enough just to know — a large network, to feel at least a “false illusion” of “stability” — a word that lost its meaning in the 90s after outsourcing and globalization movements. Or a “false illusion” of “purpose,” adhering to an “idea.”

I can make a whole article about “adhering to ideas or ideologies,” but I’ll summarize by saying that mostly it’s a false expectation due to lack of experience and exposure to a broader perspective. As I said before, the advantage of a consultancy is enabling this time of exposure to different types of ideas, people, situations, and perspectives that serves to trim the rough edges of illusions, teaching us how the real world works. But there’s that annoying factor called “time,” and most young people today increasingly have less patience and are more immediatist than I was in my time. And the irony is that my seniors in my time called me impatient, and even so for me it was always natural to take one step back to walk two forward.

About those who want to open their own business, many try to justify themselves with phrases like “I’m going to work for me and not for others.” That phrase is a huge false premise. In practice you “never” worked “for others.” Have you ever worked for free? Without any compensation? If you received compensation, a payment, then by definition you worked for yourself, trading your capacity and quality of service for money. When you open your own company, again you’ll trade your capacity and quality of service for money. The earlier and more inexperienced you do this, proportionally greater will be the chances of it not working out. It shouldn’t be a hard phrase to understand, but again, understanding comes with knowledge and experience, not with imprudence.

And what defines a “consultancy” for me? Philosophically I like to think of it as a “meta-company,” a company that has parts of other companies and needs to be better than them. It doesn’t mean it will always be better, but that this is the “mission” to be continuously pursued. A career in general is exactly that, but being a consultant is taking on that mission more explicitly.

In the end my goal was always not to repeat what I described in my 2007 Vent article: to constitute a financially healthy company, win clients and close contracts a freelancer couldn’t, with security for both parties, create a routine that doesn’t require working more than 8 hours a day and 5 days a week, create teams in the form of exclusive cells for each client without the intermediation of an “operational boss,” giving each consultant the opportunity to learn all the non-technical functions I mentioned above.

2012 was a year of learning and experimentation, with many more problems than I could anticipate, but fortunately my years in consulting gave me the foundation for these problems to be resolved. Honestly I can’t imagine myself, in 2002 — when I started in consulting — managing to deal with the same situations of today and making the same hard decisions.

If I had opened a consultancy in 2002 — or any company — I would have closed it, unless I had had “luck.” But betting on games of chance isn’t what makes a good consultant.

Happy New Year! See you in 2013.