Hacker News new | past | comments | ask | show | jobs | submit login
If you need the money, don't take the job (bitfieldconsulting.com)
270 points by gus_leonel 9 days ago | hide | past | favorite | 157 comments





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.


> being a contractor offers some distance from the internal politics.

This is the best advantage. Being an "outsider" in the sense of having a special role (age, status, etc) can be a huge aid in avoiding bullshit.


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.


Hard to fault the customers for expecting that when that's how most consultants sell themselves, especially the shit ones.

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.

so, where do they work?

Small consultancies, usually self funded. They tend to eschew flash for substance. They're usually experts in their niche and stick with it.

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."


take it easy, pal. consultants at least those in corps don't sell themselves they are being sold.

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.

It depends on the country, even region. For the US west coast, FTE has been gone for a long time. More than a generation.

FTEs get stock packages, ESPPs, 401ks, employee healthcare plans, and bonuses.

Consultants/Contractors do not.

This is why consultants/contractors have to charge higher hourly rates.


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.

Better benefits than my previous FTE job.


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've been on all sides of this)


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.


I've found that whether I prefer fixed price or hourly depends heavily on the client.

When the scope is clear and I have a feeling that the client won't be the demanding type with frequent, unplanned changes I often prefer fixed price.

If the scope isn't clear though, or if I get a feeling there will be a lot of incoming change requests, I'll go hourly.


> I get a feeling there will be a lot of incoming change requests, I'll go hourly.

Why not a new fixed price for each change?


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.


Because the scope isn’t clear. What’s a change for one side is at best a clarification for the other side.

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.


Yep it's very much based on a consistent repeatable scope.

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.


Lots of consultants do this. They call them retainers.

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.


Customers always prefer fixed-price and it doesn't protect you from being treated like an employed or worse ...

You also have full autonomy by the hour. If some manager gets confused send them a copy of the contract.

>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).


> So I was surprised to see it presented here as a thing that happens in big companies too

It happens at small companies and medium sized companies too. I've seen it as both a contractor and an employee.

Like much common wisdom, the idea that companies are efficient (and specifically more efficient than government) is a myth.


> 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

Only inefficient small companies go out of business.

Inefficient large companies can also 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.

One might argue there is no such thing as an efficient large company. They're just somewhat structured chaos, the larger, the more chaotic.

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're not democratic

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.


> 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.


You guys are talking about the operational efficiency you can see in the trenches. The important efficiency has bubbled up to a bigger domain.

Shrinking all the while, until they go out of business.

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.


Governments have to do things business won't touch because those things are too inefficient.

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.

Especially after they’re done with them. (/s, kinda)

Scale and inertia matters. It can take a very long time for a large companies inefficiencies to be exploited by others.

> unless they have a monopoly

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)


Also consider oligopolies, for example the shit show that is Canadian telecom.

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.


It happens when the guys above can't accurately judge the problem below.

So Many times it's due to having never dealt with the problem themselves, but not always.


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.

> in a private company you get a bonus for being efficient and saving the company money

Ah ah ah, good joke. A manager in a company get promoted because more peoples work under them, not because they managed to keep the numbers low.


> in a private company you get a bonus for being efficient and saving the company money

In a company, the bonus you get for being efficient is "thank you" (if you're lucky) and the CEO buying a new lamborghini.


> in a private company you get a bonus for being efficient and saving the company money

haha, good joke

every time I've saved company money and made them more efficient my reward was: more work for the same salary.


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.)

Hence why the incentives are the way they are.


You’re thinking of it from the perspective of someone who cares about reality.

At the scale most governments work, reality is impossible to actually care about. It’s too much detail, and too confusing.

Instead, they allocate money, and then punish people when ‘the wrong things happen’.

Dealing with the reality is someone else’s problem, further down the hierarchy.

Also known as ‘shit rolls down hill’.


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.


I heard this once from a finance guy:

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.

Large companies start to become indistinguishable from government. At a certain size it’s bureaucracy all the way down.

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.

A lot of the stereotypical mistakes that governments made are also made by large businesses, but it's definitely to a lesser extent.

Having only worked at large businesses, I'd be keen to see some data on this. I would think that the incentives in large organisations are similar?

Large organizations have to at least pretend to try to make money - the gov’t has no such restriction.

Also, the gov’t has a large scale, legally enforced monopoly.


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.


In the US, governments frequently use the lowest bidder.

For professional work there is often a rate table.


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.

> 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).

Many companies are internally every bit as centralized and dysfunctional as the Soviet Union.


The government is usually the largest company in a country that has a monopoly.

Worst is defense industry Cost Plus contracts with guaranteed profit

https://www.smalltofeds.com/2014/09/fixed-price-versus-cost-...

No matter how bad you are, you end up making profit. Combines worst of socialism and capitalism.


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"

>So it’s about being reassuringly expensive.

> 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.

Great advice.


> making the thing somebody else’s problem.

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.


I don’t know why, but I wish the author had done an sed s/scheme/concept

Edit: to be clear, it’s a fine word choice. It just jumped out at me.


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.


Yeah, this always throws me off. In American English I’d always use the word “program” instead.

Neither concept nor plan are appropriate alternatives for scheme. Let's not argue with the inventors of the language on word choice.

I have no desire to argue. I like understanding things and I was hopeful to understand why I felt the way I did when I read that sentence.

I learned a lot! I’m really grateful that people-who-weren’t-you read my question impartially and contributed their experiences.


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).

Schemes are inherently dishonest IMO. That’s the entire reason.

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.

Looks like I’ve outed myself as a provincial rube! Fair point; thanks

At least in the UK people use it to describe things like pension plans. I don't think it's inherently unsavory.

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.)


The image at the top of this post led me to believe this would somehow be related to Golang?

Editing to add: I did enjoy it regardless. Informative and well written.


> 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.

I own a software studio that exclusively does fixed-price engagements. In fact, it’s a selling point to most of our clients.

Hourly-billing benefits no one.


“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.


>Unless you really can’t survive without that client, don’t take them on. Jerry Weinberg also says “If you need the money, don’t take the job.”

Don't those 2 sentences contradict each other?


If my 2002 Land Rover Discovery II is vintage enough, I will gladly pay you to tinker with it, the next time you're in Oregon USA that is!

That's exactly how companies that sell consulting work. No bargaining, you have to pay millions of dollars for enterprise software nonsense.

meh

sometimes fixed pricing makes sense

i’ve paid fixed pricing and i’ve taken fixed pricing it depends on the situation

my favorite way to charge is on a per month basis

if they start to abuse you, push back, if you can’t or they are good at manipulation leave

also different people have different preferences for some the tracking of hours is painful, for others it’s comforting and fair

meet the client or the consultant where they are at


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.

true it’s retaineresq

i’ll roughly give you ~20 hours a week for the next 3 months but if you don’t use it you lose it

granted if their utilization drops off too much the contract gets re priced or paused

the most money i’ve made is when i can be comfortable having an uncomfortable conversation up front with occasional nope thrown

and all that matters is that you deliver *visible* value


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.


yep fixed with an implicit or explicit cap

In the context of the article, fixed pricing means pricing per project.

Charging per month of work is not that.


They didn't suggest it was. They offered it as something that is neither fixed nor hourly.

TL;DR: If money is an object for a client, look for another client.

So you wrote the horrible career as book and pivoted to writing career :P



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: