As someone that has been on the hiring side, I always prefer to build a full time team, even if that means paying for someone in my team to learn something new.
The part that consultants don’t talk about is that you have to pay them to learn your code / company too. Nobody can just jump in and add value immediately. So you’re paying for onboarding hours, you’re paying for other employees to educate the consultant, and so on.
Likewise as an engineer, I think the most interesting projects and companies err towards primarily full time people. So if my goal is to work on the most interesting projects, I’d want to work full time.
A lot of consultants, for example someone helping with SOC2 compliance, is mostly copy pasting a large document with recommendations and moving some paragraphs around based on interviews with the team.
Not different from your average lawyer helping with an estate plan or will. The reality is that for many things you do want the cheapest lawyer, because the project is simple and repetitive. It’s the uneducated that pay more. So yes for a murder trial I want to pay a lot for a lawyer, but for small things I don’t, and you shouldn’t either. I simply don’t buy the analogy.
Finally, while consulting might be good for cash flow to hours-worked efficiency, it’s not clear it will make a person wealthier than other forms of income. I’ve met rich employees, founders, but not so much independent consultants.
I've been on both sides of the table for both full-time and consultants. The first rule of humans is that they vary widely within categories (even if there are statistically significant differences in population average), so I urge people to take all of the anecdotes on this page with many grains of salt.
That said, here are some of my own, condensed across experiences:
- An executive wanted to use ML, couldn't get enough political capital to build a full-time team (and didn't have the knowledge to interview candidates anyway). A very small consulting firm, sourced from high personal trust networks, got an MVP going. That led to a FT team getting built. Code was a mess but started the flywheel and after several years everyone agrees it was a great ROI
- A large company had a tiny team using a technology that would be standard for FAANG but they had no support or training. Zero progress for about a year. Not important enough to throw huge money at but that link in the chain was becoming a bottleneck for the core product. A consultant came in explicitly as a multi-week trainer, and but the team just never got up to speed. Consultant's code examples grew until they were just direct bugfixes, and though nobody was happy, at least the crisis was resolved.
- A product finally reaches product market fit. Executives decide to hire only after the team is drowning in tech debt. But it has to be full time, and it has to be junior. It takes months, then requires training. Tech debt is twice as bad as the original crisis level when the new hire becomes value positive. For some bizarre reason he leaves after exactly 2 years.
Many consultants have a branding problem: Their biggest victories are fixing a disaster that their clients would rather not talk about publicly. Hard to put on a billboard, if you ever want work from that client again!
I nearly always got a job offer at the end of my contracts. I never accepted them because the terms were always poor, they couldn't match my rates. Not only that but being a contractor offers some distance from the internal politics.
Usually the internal staff knew the business well but were weak on the technology they were using. No amount of training seemed to fix that.
The only downside for me was the travel which was why I used the downtime between jobs to pivot to developing my own product.
ah man, this so much. I've had the honor to work with very good freelancers and couldn't imagine they would've stayed as long as they did if I wouldn't have firewalled them off. I hope someone will do the same to me when I venture into the freelance world.
B/c internal politics is where it constantly breaks for me. I can only play along for so long.
Regarding the last point: maybe you're based in the US and you know some rich employees there, but I don't know a single one where I live. Consulting is very hard - for the reasons you mention, and others - but in some places it has a much higher ceiling than being an employee.
For those who don't know - aerhardt lives in Spain.
The US seems pretty distinct in that you can be a laborer and have quite high incomes. It's not unheard of to see people in major cities within the US having 7-figure incomes and still being an individual contributor in their field. Most of the "consultants" I've heard of outside of the US are only "rich" in that their incomes are high for their region (charging HCOL US rates while living in a place that is LCOL) or they're not doing labor anymore because they own a consultancy firm. In the US, I think consulting isn't worth it unless you are extremely lucky. You're more likely to see high income by trying to join FAANG.
I've been one of these people with the 7-fig incomes in the US. Unsurprisingly, you'll see a lot of data points like mine here because HN is primarily focused on the US audience since YC is a US (primarily silicon valley) company.
> Nobody can just jump in and add value immediately.
That depends on the project and how much domain knowledge the consultant/contractor has. I've certainly been able to contribute on day 1 on several of my gigs.
> I’ve met rich employees, founders, but not so much independent consultants.
May depend on the market, and what you mean by 'rich'. Consultants rarely get stock, but they often make out far better than employees. I've met very few employees that got anywhere near 'rich' but consultants in London (for example) can certainly become quite wealthy.
> As someone that has been on the hiring side, I always prefer to build a full time team, even if that means paying for someone in my team to learn something new.
> The part that consultants don’t talk about is that you have to pay them to learn your code / company too. Nobody can just jump in and add value immediately. So you’re paying for onboarding hours, you’re paying for other employees to educate the consultant, and so on.
as somebody who's been on the team, i agree on this. in my previous job my skip-level management insisted on handing off some crucial infrastructure work to external consultants.
results:
1. we on the (internal) devops/sre team did not know how parts of our infrastructure worked
2. when changes were needed, the first lenghty step was to figure out what was built by the consultant, and how (the manager did not like to pay the extra hours, of course)
3. when help was needed to troubleshoot something along with developers, we (devops/sre) ended up playing the role of messenger, and stuff that could have take anything from 2 hours to two days ended up taking up to two weeks
It was a frustrating job, so of course some people (me included) ended up leaving the company.
I still see the value of consultants as people that can bring the knowledge you need when you need it. However if they're going to work on something long lived, the manager must be enforcing some proper knowledge transfer during the consultant employment and at the end of it.
> The part that consultants don’t talk about is that you have to pay them to learn your code / company too.
Why should they? That's a given. Of course they don't know your code. But it's likely they've seen more code than a typical employee and therefore have more experience to contribute. A consultant is a serior employee sans the commitment.
To your point about time, consultants don't need 1 v 1s, quarterly / annual reviews, etc.
I understand why your cynical. I've seen some half-ass'ed consultants as well. But I've seen just as many stale, complacent, and complicit employees.
> So you’re paying for onboarding hours, you’re paying for other employees to educate the consultant, and so on.
You also pay for the psychological friction and pressure that the consultant has to suffer from the fact that customer expects them to be geniuses with magical powers and the project managers planning the time line according to that.
Yeah, it's tough to know who can actually deliver.
I know one guy (a consultant now) who I would trust to Navy SEALs parachute into almost any technical problem and come up with a real solution. Any part of the stack, from building a physical hardware test bench, debugging firmware compiler bugs, desktop software development, to a scalable web stack. These people exist, and they're not cheap.
However, it's worth noting that no one with skills like that works at Deloitte.
Deloitte does not hire great people. They would have to pay them great and corporate managers would rather cut themselves an arm than paying well a good employee, it is a matter of principles.
Exactly. The guy I'm thinking of has a small number of very happy clients and he can choose who he wants to work with. It's funny that at the high end, it seems like things get easier. You don't have to haggle over an hour or two. You name your price and deliver super high value to people who are happy to pay.
It makes me think of "The Wolf" from Pulp Fiction.
"It's about thirty minutes away. I'll be there in ten."
If you're lucky and the consultant is experienced and has narrow scope, they can provide a lot of structure. They will also push back where applicable. If they have a wide scope and/or they don't have much experience, you are 100% correct that they have to figure it out like anyone else.
> Nobody can just jump in and add value immediately.
Hmmm, I do this all the time. I've taken a bunch of bad data analytics, ML code from my clients and quickly given them insights that more than paid for my work.
A true expert can often come in and "fix" things quickly.
The problem is that in today’s climate, FTE is not really what it means. A FTE can also vanish at anytime, except it actually will ask you to pay more. And when a core tech leader left, there are also very few people can actually do any nontrivial code change to the repo.
Sure, sure. I think the comment was meant as FTE as strong evidence of continuity. As an employer, you shouldn't rely on any one FTE employee staying indefinitely or giving you very long notice before leaving. You need to think about which employees have key knowledge, experience or skills and what it would mean for your group if they were to leave. As an employee you can't rely on the group existing indefinitely or keeping you on indefinitely. Keep your network, skills and resume in shape accordingly.
Consultants can get that if they work for a firm. I get a 401k (+match), employee healthcare plan, and bonuses, for example. The firm doesn't have any stock for the other though.
You know the truism about how the best leads are often reluctant ones?
Feels like there's a parallel in consulting. The best ones will coach you to replace them with full-time hires. That being said, there are a lot of occasions where reality means that contractor may be the better option and a win.
I was a consultant for nearly a decade and far preferred fixed-price contracts, on the rare occasion we could get them.
When you are paid hourly, you work at the customer’s whim, and are often treated like an employee, or worse. You are essentially just a body for rent.
When you have a fixed price, you retain full autonomy. It’s up to you to decide the schedule, as long as you deliver on-time and within budget. The customer can’t change scope without your agreement. You feel like an actual human being.
Renegotiating a fixed price is generally a much harder conversation to have. You're effectively having to say "I can do this for $12,000...well, I could do that for $12,000 but you just changed the goal, so its $15,000 now."
With hourly it has always been an easier conversation for me. The estimate is pegged to time, and if change requests come up its easier to see what happened. With they said, I'm pretty generous on actual hours worked if the client doesn't ask for anything different and I simply under estimated the work needed for a job. I'll bill fewer hours when its obvious they my estimate was just wrong.
This was the exact opposite, in my experience. Clients that want fixed-price contracts always have ridiculous deadlines and expected me to work 24/7. When I charge hourly, clients think very carefully before I work on something.
The 12 hour days to meet some crazy deadline also disappears pretty quickly when you are paying for all the hours. I won't even accept fixed-price contracts anymore.
Also my experience after 15 years of contracting. The fixed-bid contracts were the worst because they attempting to squeeze as much as they could for that cost. After a few of them I stopped even discussing them as an option.
If someone loses their autonomy as a contractor that's all on them, not the contract. I was always very clear that it was a B2B relationship with my clients.
Hourly rates also meant that if projects went long, or other work became avail, I would usually just continue to work on it, which can become quite lucrative. Fixed-bid contracts always gave the client a reason not to sign another contract. Time and Materials contracts meant a 3 month contract could easily turn into a 9 month contract, no new contract necessary.
I only do fix priced contracts with a lock solid list of tasks. Usually it's smaller in scope and clearly defined. I spell out that any deviations are costs outside of the original pricing.
As another poster mentioned, you very much have to be selective. A lot of time our first contract will be a fixed price with a client to show our ability to deliver, so in that instance we lose a little to gain a client. It's a balance and it's not an easy life for anyone.
Consultants can be beaten and battered on behalf of an internal team and those that are good realize that in many instances that's what you're hired for.
The advice I’ve heard in the general contractor world, is fixed bid only works if you charge appropriately, and are very quick with change orders. As soon as it looks like the scope is changing, be it a request from the client, or some new thing is exposed (often literally). I’d expect the same is necessary for software consulting.
The bigger problem I don’t hear discussed in any of these threads, is that you can only estimate jobs you’ve done before. So, to do fixed bid profitably, it really requires that you are specializing in some set of deliverables. This, actually has some interesting benefits as well, one, is that you can charge a lot more over time, and you can become very efficient as well, which leads to a high profit per effort ratio.
I worked at a company where they'd switched from hourly billing to fixed costs not long before I'd joined. The incentive for the client was that there was no reason for the company to inflate job hours. The incentive for the company was to encourage longterm contracts for ongoing work. Seemed like a win for that particular environment. A bit different from an individual consultant, but an interesting case of comparing two models.
I've found multiple times companies switch back from fixed price as soon as managers realize it is a very easy way to extract a lot of money from their employer via their cronies.
Fixed price sounds like a great idea, but if you can't trust management, even middle management, it will rapidly turn into a disaster.
I'm not a consultant/contractor, I have a fixed salary and have been an employee here for over 20 years.
But wouldn't it better for both consultant and customer to agree regular "gates". Agree on $100k of work for 10 units of work or whatever, but agree that it's paid in instalments of $10k every time each milestone is passed, ensuring that any misunderstandings are understood sooner.
The customer would benefit in that they don't have to wait 3 months to get a waterfall delivery which perhaps meets the spec, but not their requirement
The consultant benefits in that they don't do 3 months of work and don't get a penny until the customer is happy
A smart consultant will include milestones like this in the contract: not just milestones for what they are expected to deliver, but milestones for when the client is expected to pay them, as well as milestones for when third parties (and/or the client) are expected to provide additional input/data/opinions.
The contract should also describe what happens when those milestones are not met, e.g. for every day that milestone X is not met, then milestone Y will be pushed back accordingly, or the cost for Z will go up by some amount.
A well written contract should make it almost irrelevant whether you're getting paid hourly or for a fixed cost, because you (and the client) are covered either way.
I was always extremely wary of clients that wanted a fixed price contract. It seemed the more they pushed for it the more hidden issues there were waiting to bite you.
Having said that sometimes it can work in your favour. I did one project for a pharmaceutical company where I just happened to have several pieces of knowledge that they needed and they were losing a lot of money waiting for a solution. The first thing they said to me when I walked in the door was "we are so glad you are here, we have been looking for a solution for ages and are losing a lot of money every day". Eight days work kept me going for the whole year.
My experience is different. I have full autonomy whether I am paid hourly or a fixed rate for the job. Often I'll prefer hourly if it's hard for me to get an idea how long it will take.
Can also do both (kinda). Hourly and specify budget range. "I think it can get done with this many hours", then charge 30% up front of budget estimate and the rest of the hours on completion.
My experience is funnily enough the opposite. When on fixed-price, it was always an argument about if something was a bug (thus I had to fix for free), ambiguously specified or a change from original requirements (they would have to pay to change for the last two). I felt we always were adversary to each other.
With an hourly contract, we're on the same team and try to use me for the most valuable stuff as long as you have me.
>The more they spend, the greater the kudos they’ll get from upstairs, and the bigger their budget will be next year. After all, the division with the most expensive problems must be the most important one in the company.
I heard this is true in government, and it was presented as an example of why government has the wrong incentives, and private companies are much better: in a private company you get a bonus for being efficient and saving the company money, whereas in a government you get punished and they shrink your department. So I was surprised to see it presented here as a thing that happens in big companies too (but I've only worked with very small companies).
> Like much common wisdom, the idea that companies are efficient (and specifically more efficient than government) is a myth.
The claim as I've understood it is more that a private company puts control over efficiency more directly into the hands of the people whose money is being wasted.
A government entity is typically nominally accountable to the taxpayer, but that accountability is through so many layers of indirection that it doesn't actually do anything. A privately owned company with a small number of owners will in theory be more responsive to monetary pressures. I think where this breaks down is with ridiculously large publicly traded companies where stock price has more to do with shareholders betting on the irrational behavior of other shareholders than it does with the actual performance of the company.
When the owners of the company make money when the company makes money, it will typically straighten out its inefficiencies. When the owners of the company make money by buying and selling abstract financial instruments, not so much.
I think there's another explanation as well, and it's also the reason why "running the government like a business" makes no sense even if private industry can be more efficient.
Companies are profit driven entities and at the end of the day can look at net profit and see if it's positive or negative. This doesn't guarantee efficiency, but it gives you a pretty simple success metric that you can then work to tie everything else back to. This is a major oversimplification, but government doesn't even have that basic starting framework. Government functions cost money, but generally produce no direct monetary profit that can be measured against their cost. Of course government produces other outcomes, but since those outcomes are not monetary, you run into a units problem if you compare inputs and outputs. You can say how many crimes the FBI solves per million dollars of budget, but there's no easy way to measure a "break even" point where you have a net benefit. You can measure relative efficiency (solving more crimes for a given budget), but you can't say what the right target value is.
Even if you could measure government efficiency the same way, the other issue is that companies can improve their efficiency by just stopping inefficient activities to focus on the efficient ones, while government agencies generally do not have that choice. The FBI could probably increase their efficiency by ignoring hard to solve crimes and focusing exclusively on the easy to solve ones, but that's probably not the right thing to incentivize.
The worst of both worlds is where the US has landed. The public private cooperation is government bureaucracy and accountability coupled with a private company that knows there's basically no penalty to overshooting a government contract "What are they going to do, leave the road unfinished?".
There are natural monopolies that exist, road building, water, sewer, power. All these things shouldn't be controlled by private entities.
Companies can be just as inefficient as the government, sure. But unless they have a monopoly, either natural or government-enforced, inefficient companies will go out of business while inefficient government agencies can linger on for a long, long time
I don't agree, though I guess it depends on how long long is. There are certainly some examples I can think of but I would argue most of them are actually natural monopolies in disguise, usually benefitting from network effects
I 100% grant that large organizations by their nature are less efficient than small organizations due to lossy communication. And some companies have a minimum size due to the nature of their work, which places inherent limits on their efficiency. But they're still subject to competitive pricing from other, similarly large companies.
> I don't agree, though I guess it depends on how long long is.
HP started the Grand Experiment two decades ago to determine how long it takes to destroy a large company if every decision is either incompetent or malicious, with little assistance from network effects… and the experiment is still running.
Some large companies acquire the characteristics of government (spending becomes remote from the source of funds; political cover from being too big to fail; lack of meaningful competition). So when large corporations become malign or inefficient, it can be because of how government-like they have become, and some kind of competition & markets authority should step in.
I would argue the pruning function becomes way more important (and way less used) the bigger a company gets and so there are very few large companies that are efficient, not none. Twitter comes to mind since they just had 70% plus of their workforce pruned as a likely efficient company (at least at serving social media pages, not at making money so far).
I also think this is why government is the most dangerous power structure (they almost never prune anything and they have theoretical claim to 100% of the country's GDP through taxation. It would be better for us all if they were heavily restricted or just figured out how to prune effectively instead of just raising taxes all the time to support inefficient program spending)
Government is just a makeup of workers who serve the population at large. The trouble is that the population at large can never come to agree on what to prune. I want this, you want that. You want me to give up this in the name of efficiency, I want you to give up that in the name of efficiency, but neither of us want to give up what we want so in the end we agree that if I can keep this, you can keep that, thus nothing gets pruned.
That reminds me why corporations have an easier time pruning, They're not democratic, they are basically feudal.
Like, there's a king on the top, he has his board of nobility, VP dukes, knight middle managers and the peasants who do all the work and own nothing. Whatever the king and nobility say is law, they're accountable to nobody (except for the pope/national government).
They are democratic, but usually of the weighted variety. Typically, he who owns more shares has greater say – although occasionally you will see other weighting methods. Government is more likely to consider each individual an equal shareholder, although not always.
Corporations likely also benefit here from the owners generally having more care for the organization and a greater desire to see it succeed. If there is something that needs to change they will work to ensure that it gets changed as soon as a problem is identified. Most government shareholders would rather sit back and just hope that things work out.
Right, this applies more to private held firms and late game startups than public corporations, but I would still expect that the higher you typically go, the more shares one owns on average, so the weighted average of that won't be too far off compared to the actual structure, minus external shareholders. We can imagine those as foreign kingdoms that the king owes money to :P
Plus there is upwards mobility, whereas in typical feudalism there is none, but it is still funny to think about the suspiciously odd similarities.
It is certainly not suspicious. It's all just people being people. It's questionable if it is even similar and not the exact same thing. Government isn't something magical. It's just a particular kind of business.
I feel like I should try and do business with you because you would be easy to take advantage of..... Workers serve their own interests and are contracted to serve a purpose mandated by government but the only guarantee they do so is the quality of their manager (who has the same problem). Once you get through the matryoshka doll of managerial layers you eventually hit a politician or committee of politicians who also serve their own interests (but more often than not lied to your face about supporting your personal interests in order to get elected). The reason nothing gets pruned in government is because the points in the decision tree that require pruning almost never get hit because there is low interest from a majority of politicians on addressing old problems when they have some new nonsense they are personally invested in that they want to push and they have growth in the economy (and the opportunity to raise taxes if there isn't enough growth) to fund the new nonsense. On top of that, it's harder to prune government workers because they usually have a strong union (because again, no one pruned that nonsense in the 80's and 90's when private enterprise mostly jettisoned theirs due to shareholder and competitive pressures).
> I feel like I should try and do business with you because you would be easy to take advantage of.....
Yet for some reason you haven't... You must, deep down, be worried that I will end up taking advantage of you?
> Once you get through the matryoshka doll of managerial layers you eventually hit a politician or committee of politicians who also serve their own interests
Of course, the cool thing about government is that you can literally tar and feather anyone who violates the wishes of the owners. That's usually a lot harder to pull off in a private business.
But you need people who care. That is a rare quality when it comes to the owners of government. It's a miracle when someone shows up just to hire the worker, let alone stay in contact with the worker after they have the job.
Inefficient companies _may_ go out of business. The problem is that this only happens if there’s more effective competition and clear market pressure across the board.
Consider Google: they’re highly inefficient in many areas producing entire applications which are written off not long after release and failing to capitalize on areas they had substantial edges in (e.g. AI), (arguably their last successful product launch was in the 2000s) with the net result that they employed a ton of people doing things which were not really tied to satisfied customers. This didn’t matter because they had a few business areas where they had massive profits despite not having a government-enforced monopoly which more than made up for those losses. Most of the tech giants have variations on that theme where they have many people who can report absolutely absurd internal inefficiencies but until that’s broken out on a balance sheet it’ll probably never change.
Government is unique in two ways: the first is that it’s more public (which is good, but e.g. you’d be shocked if Comcast was audited at the same level) but the other is that much of that inefficiency is mandated by the same people who complain about it in public. For example, benefits programs are often structured to require expensive validation processes which cost more than the savings, and there’s intense pressure to contract everything out even though that process requires significant overhead.
Yep, a classic case is governments have to serve all their citizens, including all the really problematic and expensive ones. Businesses don't have to do that.
this is far too often the case -- i.e., they are the only business providing X in Y region; or while technically not a monopoly their market share is so large it takes a very long time to be displaced (i.e., Google)
This is a claim without evidence and simply not true. There is no argument that private organizations are perfectly efficient. Rather, that there are built in feed back loops that drive towards efficiency. This includes bankruptcy as ultimate conclusion in some cases.
Government on the other hand, has no such feedback loops and misaligned incentives which produce enormous fraud, waste, and abuse. There is no example of government being more efficient at any activity. Pick one, and there is a counter example in private industry doing it better for less.
> Like much common wisdom, the idea that companies are efficient (and specifically more efficient than government) is a myth.
There is a book - Recoding America - that gives a behind-the-scenes look into government IT and the more recent changes that improve efficiencies and outcomes. It was published in the last 2 or 3 years and your local library almost certainly has a copy.
FYI - the first chapter or two seem to imply developers are to blame for things that are truly the fault of leadership; power through that section and the rest of the book shows developers in a different light: perhaps she was setting up a strawman to make the change look even better.
I believe the argument for privatization of services is that you can switch providers in a marketplace, that should provide efficient options. So you can switch payroll and billing systems from ado to new without laying off a whole division and software rewrites. However in practice it leads to vendor capture and more interface layers of project and program managers and auditors.
My dad worked for at&t and he got a budget for treating clients to lunch and such during meetings. He only got as much as he spent, so if he had $1000 left over, he would get $1000 less the next year. Each year, he would send someone out on his team to just buy a ton of gift certificates for the most common restaurants they take clients to and blow their budget in one day
The logic here is: If a budget wasn't spent in its entirety (or they didn't go overbudget), they didn't need the money and thus less money can be allocated next time around. If they keep requesting more money than they ultimately spend, less weight (if any) should be placed upon their beancounters in subsequent allocations.
It certainly makes sense, but the behaviour that logic incentivizes leaves much to be desired.
It does not make sense. It never made sense. It is patently stupid and it should only take five minutes to realize why.
If I go to the store today and buy groceries, it’ll cost X. If I go tomorrow as well, it’ll cost Y. The two numbers are barely related to each other. And only because I don’t need the things I bought yesterday.
And yes, that’s day to day. What about year to year?
Last year, I did not need any repairs to my house. This year I do. A few years ago, I needed a new roof. Three different year, three radically different home repair budgets.
The entire exercise is a refusal to due diligence of any sort. If you say $X/yr, then you don’t have to ask why. You don’t have to scrutinize reasons. Then everything becomes about adjusting this number without ever asking what it is being used for.
You're looking at everything as one budget that you control.
Consider instead that you're part of a co-op and your responsibility is to buy the groceries always. Someone else does the home repairs. Someone else keeps all the cars fueled. Someone else pays the utility bill. There are fifty different people with responsibilities. Sometimes there will also be "You must spend $100 on supplies for an event on July 17th."
On January 1, you get all the money that you will get for the year to buy groceries. How much do you ask the co-op board for?
Government doesn't see it as one big account, but rather "this is how much we get, this is how much we allocate to the different accounts."
Home budgets work differently. There's one pool of money and if you have an expense you can skimp on another part of the budget. Had to get a plumber? Hold back on going to the movies for a few weeks. You can't do "we had a natural disaster so we're short on money and not going to pay the prison guards for a few weeks."
I don't disagree that it results in broken incentives and otherwise undesirable outcomes.
But to take the example of your roof - in a business scenario, you would amortize that expense over the number of years you expect the roof to last. 15 years means you'd take 1/15 (and probably multiply by the inflation rate to account for rising costs) and put that into your annual budget request.
> And yes, that’s day to day. What about year to year?
Actually year of year it makes more sense because anomalies are averaged out over time.
I also think you’re being unduly unfair about the system. Yes it’s a garbage system but a lot of what you described is wisdoms that’s learned in hindsight. However when you consider that most of budgets are relatively static (eg salaries, cost of goods at a smaller scale, etc) it’s easy to fall into the trap of thinking that the costs of running a apartment could be relatively static year on year. In fact the idea of dynamic pricing is a relatively new concept.
This doesn’t mean that the idea of budgets being relative to spend is a good one. Just that it’s easy to see how it was once perceived as a viable methodology.
I don't have a background in accounting, but my understanding is that assets, and the depreciation of assets, should be included in the budget. So, the way to frame you examples would be that your costs are the food you consume from your fridge and pantry, not the transition of money to groceries; and the cost for your roof was its depreciation due to age over time, not the transfer of money to a new roof. (I'm not making a claim as to whether this is actually how budgeting is done, in practice).
That's fine for most budgeting. This isn't one of them. Why? Because the monies being spent are taxes.
There is a moral imperative to not waste a single cent of taxpayer monies, which means you as the guy writing the budget must ask what every single cent is being spent towards and must claw back (and subsequently refuse to budget) any pennies that are either unaccounted for or are unwarranted.
(Yes, tax dollars are wasted and deliberately so in reality. That is another subject of debate.)
Another aspect that critics miss is that the company wants the money spent. If you only spend 50% of the budget, then you aren't "investing" the allocated capital in the project. Maybe you could have added another feature, etc.
Yes, I agree that incentives can get strange, but that's the mindset to understand from executives.
If you want to convert someone into a cut-all-government right winger or libertarian, send them to work in government for a few years.
If you want to convert someone into a communist, send them to Wall Street for a few years.
Any sane person exposed to any human institution will typically walk away thinking "burn it all to the f'ing ground."
All human institutions tend to be loaded with self dealing, perverse incentives, and incompetence. We are not good at this.
The only thing that checks it is companies going out of business or the government analog, which is struggle between agencies for funding and accolades. But as others have said large companies can muddle on for a long time and large anything can amass a lot of political and cultural cache and become too big to fail.
Democratic government has an incentive to serve its constituents, while a company has an incentive to make profits for its owners. Even if companies are more efficient than government, they are more efficient at the things that only benefit a few people (the owners), and sometimes at the harm of everybody else. At best, a company is indifferent about public good.
For management in companies, the key resume drivers are team sizes and budgets to show how “experienced” they are. There are definitely adverse incentives. A lot of empire building goes on as managers try and grow how much they oversee to move up.
Government orgs have public financial transparency that businesses don't. For example, when I worked for a public university, my salary was available on a publicly accessible website. Government budgets get a lot more outside scrutiny and pressure to avoid waste.
It's not perfect. There's plenty of wasteful spending, but I wouldn't be surprised if research showed government and large businesses are similarly wasteful.
Yup, but that is to mitigate the large scale incentive issues - it doesn’t remove them correct?
You generally don’t see corporations doing - or having to do - those things because their incentive structures are different. For gov’t, Society (as an outside party) has to explicitly apply pressure to stop it from getting out of control.
For a big corp, when they waste money, that is money that the organization itself has incentives to not waste - their problem is more at that scale, it’s hard to ‘know’ what is a waste and what isn’t, and to untangle owner/agent issues. Especially when the owner is ‘the public’ via public markets.
But there is still pressure, in the form of stock price, etc. so a company which hasn’t managed to get and hold onto a monopoly is going to be applying pressure to itself regardless. Hence, for example, the large scale layoffs going on in the US. Even if the company can’t tell what is critical and what isn’t, they still need to satisfy shareholders and cut.
One of the reasons expensive consulting agreements, especially those backed by strong brands, are so prized in large companies is because they offer career insurance paid for by the employer that covers the employee. If you are an employee who has decision rights you have far less to gain from 20% less cost than you do 10% more certainty and a strong name to hide behind.
In most large companies, they often talk about entrepreneurial spirit, efficiency, ruthlessness innovation, and all of the other behaviors that made the company great, but the reality is that the incentives are much different once the founders have left and career managers have moved in.
What’s left is a lot of people who make enough to not be hungry but are not rich enough that they will be okay if things blow up.
If you want to grow in middle management your best bet is lots of headcount, a large operating budget, and lots of promises that will take years to be validated.
This is human behavior. It doesn’t matter if it’s private or public, when people get together in groups to do business there tends to be similar behavioral patterns and outcomes. This is why almost none of the stories of differences between governments and corporations are true; people are people. Also there are plenty of government cases of being rewarded for efficiency, and cases of corporate employees being punished for saving money. I’ve heard bunches of stories here on HN of programmers complaining about being demoted or fired or flatly ignored when economizing business processes.
> In a private company you get a bonus for being efficient and saving the company money
Private companies get bonuses for wasting money and besides the money wasters don't care because it is not their money.
The unspeakable money burning that goes on in my workplace is insane. Infact, I have seen first hand that, people who wasted most money(despite no useful outcome) get promoted quickly by several ranks, which means anyone wishing for a promotion now finds elaborate ways to waste more money.
At some size a corporate and government have a lot of similarities. Much more then small vs big companies. Only difference I've seen is that companies do a big clean up every now and then, which helps although doesn't solve everything. Governments just keep pestering on.
> in a private company you get a bonus for being efficient and saving the company money
You're more likely to get not much more than a pat on the back, and then be expected to work with the lower budget for eternity, even if your savings were a one-time overhead hack.
Government contracts are a snake pit. It's the first thing that disillusioned completely from government efficiency. It has an insane degree of collusion and overbilling.
At least with cost plus the producers have an incentive to dedicate enormous assets to build the thing.
Government contracting is murderously complex, and factorially moreso when it involves the military.
Being off a few percentage points of the initial cost estimate can mean the difference between a profit or an 8 figure loss or more. If the profit insurance wasn’t in place, fewer contractors would take the risk.
As someone who used to work in the industry, whole reason for Cost Plus is with more traditional contracts, there was a ton of paperwork showing the government wasn't getting ripped off which is obviously crazy expensive as well. So whole point of this fix rate system is government puts out "We are going to pay X for Y with profit of Z, take it or leave it"
> It really is. You have to actually be good at what you’re doing too, of course, or the whole scheme falls apart. What the client’s money really buys, though, is that delightful feeling of making the thing somebody else’s problem. You know, we’ve turned it all over to a top-tier expert, and now we just don’t have to think about it anymore. The more that person charges, the more reassured the client feels.
Do you keep a gardener on staff? Or hire one every couple of weeks? Or do you do it yourself? It all depends on the size and frequency of the job, your skill set, how much your time is worth, how old you are etc.
The same applies to nearly every economic transaction on the planet. It’s always more expensive to have someone else do it. IT contracting shouldn’t be any different. Sometimes there’s a job that it makes no sense to try and do yourself, or have permanent staff do.
My understanding is this preference is a little known schism in Britishisms and American English.
In American English, a scheme is an unscrupulous, nefarious plan villains make. Often accompanied with riotous laughter.
In British English, it's more general. Like a plan, but with superficial consensus and often spreadsheets. Trees die, but people don't. You see this neutral usage in government discussion regularly.
It also reminds me: Europeans speaking English often use 'simple' before they start demonstrating things. Often painfully non-obvious things. Really boxes my ears. If it was simple I wouldn't be asking for an explanation and now you're insulting me.
Exactly this. As a British English speaker that works a lot with the US it was an early learning.
In British English a "scheme" has no negative connotations. It's commonly used in all kinds of legitimate places - for example the company you work at will have a "pension scheme".
In U.S. English it has a connotation that it is nefarious in some way.
I agree. Scheme sounds like its some kind of evil plot, but truly it’s just a matter of mutual respect between the consultant and client, and – crucially – the consultant’s self respect.
Poor word choice aside, the advice really is solid. I’ve been a consultant for nearly 20 years, the last 10 as an independent, and it took many years of screwing this up before coming to mostly the same conclusions.
I felt the same. I took that as a bit of the author’s impostor syndrome showing through (perhaps feeling, even after all this time, that charging what he’s worth feels dishonest somehow).
The references to Land Rover and Doctor Who make me think the author is British. In British English, "scheme" does not usually have negative connotations.
Fixed pricing put lot of risk on the creator, but hourly pricing there is no risk. I prefer a proper balance of partially fixed, with a limit and out clauses, and then maintenance and further development on an hourly basis.
Could you give some examples of out clauses and limits? This sounds very appealing to me as someone who has gotten bit by the “one more thing” loop but has had a hard time selling hourly.
The missing piece is retainers. They are IMO the cheat code of consultants because you can stack them and they are more stable. Being "available" has a price that way too many consultants don't charge for.
it's an interesting point, could you please go into a bit more detail on how you structure the retainer (certain amount of hours per month)? How many you can stack and so on?
i managed to change a multi year engagement that was billed hourly or by day into a fixed retainer. not knowing what to charge i simply asked the client to tell me what it was worth to him. he chose the amount that i earned with him in the past year. i accepted that, figuring that i would renegotiate if the work got more, or simply not be available for more work than what the retainer was worth to me. what happened in practice was that the work got less. this is circumstantial of course. it happened mainly because we both moved cities and were no longer able to work face-to-face. arguably that made my work more efficient as i no longer had to spend time to travel to the office and i could parallelize multiple things that i was working on. my effective hourly rate ended up being somewhere around $300-500. you can't charge that when billing hourly. i happily would have worked two or three times as much without asking for more.
I've had concurrent retainers, but I'd avoid over-stacking them. Retainers are a liability, you could have multiple clients ask for hours simultaneously, and you'll suddenly be very busy. Weekly retainers are better than monthly because they smooth out the hours.
Personally, I divide my availability into contracts and the more concurrent contracts I have, the more I pad for overhead. So one 40 hr/wk contract vs three 10 hr/wk contracts.
It's possible to stack more, as often retainers aren't fully used, but I think it risks the relationship with clients, which is worth more than over scheduling yourself.
> What the client’s money really buys, though, is that delightful feeling of making the thing somebody else’s problem. You know, we’ve turned it all over to a top-tier expert, and now we just don’t have to think about it anymore. The more that person charges, the more reassured the client feels.
The way it was phrased to me was "they're paying for your confidence". Confidence that you can just come in and get the job done without too much trouble for them. That was pretty much the best advice I got as a consultant. His advice about doubling what you think your rate should be is also good, and when my company started doing that, we didn't lose clients, instead we moved up-market and actually ended up working with better clients on much more interesting projects. I think both nuggets of wisdom are of a piece: act like you're an expert that is paid commensurate with your success rate. Of course, you have to back it up, but isn't that an implementation detail?
This all sounds very appealing on the consultant side but I am not very convinced on the buyer side. The argument that with hourly you can get rid of consultants faster might work on people with medium to large budgets but fixed pricing has the guarantee that at least at the end I have X or I don’t have to pay. People with small budgets often don’t even have the money to burn testing out a consultant with nothing to show for it.
I don’t know how it’s typically done but if I’m taking a fixed cost project as a consultant I’d ask for some portion up front. If you can’t even put up a portion or pay for the first few hours then how are you gonna pay for the actual project? If (not when) it starts making money? Might as well look for a “cofounder engineer” willing to work for equity.
> Clients who want a discount always turn out to be the worst clients, if you cave in to them. By offering you less, they’re really saying “We don’t think you’re worth what you’re asking.” You don’t want to work for someone who sees you that way.
Sometimes it's the job of someone, like in Procurement, to try to get a better price from a vendor, regardless of what value the company thinks they're getting. But unless they think you're a commodity that they know they can get from another vendor, they can't push back too much.
Other times (IME as an independent technical consultant), the executive/manager hiring you, who has some sense of your value, has to make a case to someone else, about why your rate is worth it. This can be due to sticker shock, or can be something they have to justify on government contracts. So they might ask for help with this case, subtly or directly. Like putting together a bio, itemizing some credentials, or answering specific regulation-based questions to make sure you qualify for some grade or exemption. IME, that's never been a negotiating tactic, and always worked out, getting the work with no discount of rate.
(Just anecdata; I don't claim to be an expert at the business of consulting. I generally delivered very high value, like few people could, and some clients got a great deal, while I also turned down a lot of work where the client thought they had commodity needs. I could've addressed this by growing a consulting firm, hiring "associates", who I supervised and mentored as a "partner". But, rather than sell difficult-to-value billable hours from a distance, I'd prefer to build tech startups as a founder, where I can be holistic on an entire product/business, and reap bigger rewards if successful.)
> A fixed-price deal sets up the wrong incentive structure. It’s in the client’s interest to agree the lowest price possible, and then to squeeze the consultant for every drop of juice they can get. So that sucks.
>
> On the other hand, it’s in the consultant’s interest to do the quickest and cheapest work necessary to get the client to sign off on the job. After that, they have zero incentive to fix any problems that arise. It’s just bad news all round.
I don't agree with this at all. If you give a fixed price contract that includes bug fixes for a period, then your incentives are well aligned.
- You want to release robust code (to avoid warranty bug fixes), and your client wants that too.
- You want to finish quickly to get final payment sooner, and your client wants it finished quickly too.
- You set the price to what it needs to be and you'd be happy with, and if it's too rich for the client, you just don't take the job (does require you to be in a situation where you can reject underpriced projects, and requires you to be good at quoting).
- Client shouldn't care if you took half the hours you estimated, and they don't need to know. You both agreed to a price that works for you both, so ideally both sides have had a winning experience.
I have had experience with a client that tried to squeeze every drop of juice, and that sucked. They had no choice though because their budget was completely unmovable (came from grants). My thinking is that it's probably best to prune such clients when you can, and stick with those whose expectations align well with your way of working. Not every client tries to squeeze every last feature out of you.
Hourly is easy for the seller, but it's a sucky experience for the client. It builds distrust, and unlike fixed price, I think it's actually hourly pricing that misaligns incentives. I also don't like the social aspect. E.g., where people question how you're spending your hours, or you have a chat about the weekend don't know whether to make it clear that you're not billing for that time, etc.
Fixed price works great if the client's expectations are easy to meet and you've done the work many times before in a fraction of the time that others would take by the hour.
“And, so they know what they’re in for, I’ll give them a careful and realistic estimate of how many hours it’ll take to deliver what they’ve asked for. That gives them the cost control they need, but doesn’t commit them to the whole sum right away.”
Do you get paid for estimating? To properly estimate takes a good deal of time.
>> You know, take it slowly, invent problems and delays, anything to rack up a few extra hours
I think this is a potential moral hazard with agile / scrum / mob programming, etc. It can have a tendency to minimize risk for the consultancy while maximizing billable hours.
Fixed pricing can be fine, but requires a lot of due diligence with both parties, and much more detailed contracts and crucially – scope. Expectation management is key. (Btw, what you’re describing sounds more like a retainer which isn’t quite the same.)
My experience is that fixed price only works for very short (days and weeks, not months) projects that can be scoped very strictly. Even then, there’s a lot of risk of miscommunication and uncomfortable discussions. My rule of thumb is that if I’m doing a fixed price contract, it can’t be longer than two weeks. This usually amounts to very targeted fixes, upgrades, research projects. Things that are typically not so hard to time box.
We do tons of fixed contracts. I find that we pretty much hit expectations and we can do change orders. I think its reasonable for a project that's 3 months. But we scope up front and build that into the fixed bid.
Also, if you really want to maximize what you earn, specially if you work part time, is to charge fixed price. Because pricing not only depends on how much work needs to be done, but also how much the client wants it/how fast they want it, and the ability for client to pay. Some client care too much about pricing, some clients doesn't care at all. Even in second bunch, its hard to inflate hourly price. But for fixed pricing, there is almost no limit on how much you can charge.
I've done fixed pricing, but I also have an hours cap on that fixed pricing. I communicate how many hours are left in the project.
Its less a fixed price deliverable, and more pre-buy some hours for a discounted rate.
If the project is delivered and there are hours left, I came out ahead, if the hours run out, but I'm only a few hours from delivered, I will throw those in for free just to finish out the project.
The part that consultants don’t talk about is that you have to pay them to learn your code / company too. Nobody can just jump in and add value immediately. So you’re paying for onboarding hours, you’re paying for other employees to educate the consultant, and so on.
Likewise as an engineer, I think the most interesting projects and companies err towards primarily full time people. So if my goal is to work on the most interesting projects, I’d want to work full time.
A lot of consultants, for example someone helping with SOC2 compliance, is mostly copy pasting a large document with recommendations and moving some paragraphs around based on interviews with the team.
Not different from your average lawyer helping with an estate plan or will. The reality is that for many things you do want the cheapest lawyer, because the project is simple and repetitive. It’s the uneducated that pay more. So yes for a murder trial I want to pay a lot for a lawyer, but for small things I don’t, and you shouldn’t either. I simply don’t buy the analogy.
Finally, while consulting might be good for cash flow to hours-worked efficiency, it’s not clear it will make a person wealthier than other forms of income. I’ve met rich employees, founders, but not so much independent consultants.
reply