Here in Mexico we have an opposite view of this: The majority of developers have spent their professional life doing "consulting" jobs in outsourcing firms. Few devs have experience developing a product and taking care of it 2 or 3 years later.
The difference shows in the type of code they do, the "ownership" and engagement they have: Those with a consulting mind will do something and then have the notion that once its "done" they don't have to care about it. Those that have been bitten by their own code from the past have a better notion on how to write maintainable code.
Based on my own experience as both an employee (~10 years) and consultant (~5 years) in The Netherlands, I'd say in The Netherlands generally the more experienced, more skilled workers tend to go into consulting. Most consultants I worked with did deliver better results and seemed to be slacking less.
I attribute this to the following with regards to work culture in The Netherlands:
- developers mostly interested in job security or promoting into higher roles within a company stay employees
- developers who feel that as an employee they are underpaid with regards to their skills and abilities, these developers tend to move into consulting as it gives them more control over their income, since as a consultant they choose their own rates - these kinds of developers are likely not interested into management roles as well (or they might opt into consulting as PM, SCRUM master perhaps)
Just to be clear, you're talking about freelance consulting in NL, correct? I can believe that. Based on my conversations with peers, the big consulting firms seem to be the exact opposite however:
- Spending endless time on useless reports.
- Technically ancient development practices.
- Delivering "courses" or workshops to clients on topics they only themselves learned about 2 weeks earlier.
- Extremely low starting salaries, with long working hours, and a ladder culture that's been described to me as very corps-like (dutch name for fraternities).
As a relatively fresh FTE, the "big consulting shops" have given me the strong impression that it is where technical prowess goes to die.
I guess when I think of a consultant, in my mind it's implied a contractor. I think most people in The Netherlands would think the same and maybe it's a language or culture thing.
Employee and contractor/consultant/freelancer aren't necessarily mutually exclusive -- they can be "layered".
There are "management" companies that will employ you full time, and draw up contracts with other clients, who pay them directly, then they take a cut of their fees, withhold income tax, and pay you the rest.
But they don't find clients for you, and it's nothing like working for a "big consulting company" (i.e. outsourcing shop): it's up to you to find the clients, and to agree with them on the work and the rate.
Of course you need to have an agreeable client(s) before they will hire you: they won't help you look for work, and don't interact with your clients beyond drawing up contracts, sending them invoices, and taking their money.
I've worked as a full time employee of the Dutch branches of a couple of international "payroll management" companies (Segment BV and TCP Solutions), in order to qualify for the Dutch "30% Ruling" for highly skilled migrants (which makes 30% of your gross income tax free, which is game changing especially in the higher brackets, and it has other benefits, which more than offset the management company's fees).
30% tax ruling in the Netherlands.
Get to know the benefits of the 30% reimbursement ruling for highly skilled migrants and see if the tax advantage applies to you:
TCP Solutions bills themselves as doing payroll services, HR services, fast payout and pre-financing, and recruiting and working abroad, and they help out with compliance with Dutch laws, taxes, and regulations.
I initially applied for a full time job at TomTom in Amsterdam, but since it's hard to fire of somebody with a full time contract in the Netherlands, they first hired me as a consultant through Segment BV for a three month trial period, to see if I was a good fit.
After the trial period went well and they were happy with my work (which gave me a lot of leverage), they made me a decent offer for a full time employment contract, including relocation and hiring bonus and a good salary.
Although the full time salary TomTom offered was great for the Netherlands, it was actually less than the net amount I was being paid through the management company as a consultant. However TomTom's relocation and hiring bonus and full time benefits and stability made up for that, something a management company doesn't give you.
The key role the management company served was to hire me full time as an employee of their Dutch company, which qualified me for the 30% ruling (successfully applying for which requires some specialized governmental bureaucratic expertise that TomTom wasn't good at), so Segment BV handled applying for the 30% ruling, my residence permit, did my taxes, and other stuff like that. TomTom paid them directly, they took their fee from that, and payed me the rest. When TomTom finally hired me, the 30% ruling was smoothly transferred from Segment to TomTom, with their help.
But then I left TomTom after a while, because I got an offer I couldn't refuse to work from home as a contractor for a US startup on an exciting project for more than TomTom was paying me, but I still wanted to stay in Amsterdam and benefit from the 30% ruling, so I still needed to be employed full time by a Dutch company. And I also wanted to work for another old client at the same time, who wanted me to work on some code I'd written for them years ago (and still am maintaining).
So I found another management company in Amsterdam (TCP Solutions) like the one TomTom used to hire me, then they hired me and wrote up contracts with my new and old clients, transferred and handled the 30% ruling, and I worked directly for TCP as a full time salaried employee (and indirectly for several other clients) for many years, until the 30% ruling finally expired (after a decade, but it's shorter now).
TCP Solutions required me to have one "main" client that payed me at least a certain amount of money regularly, and then I could have additional side contracts on top of that, so the salary varied over time depending on the number of contracts and the hours I worked. They did charge a hefty fee for drawing up each contract, though. But the 30% ruling made it worth it.
There's nothing shady or sneaky about the arrangement -- just the opposite: they're a "compliance" service that makes sure I follow all the Dutch rules and regulations and pay my taxes. They operate in the sector of "organizational consultancy firms":
>The activities of Segment BV (among others) take place in the sector: Organizational consultancy firms. The main category in the SBI subdivision that the Chamber of Commerce uses is: 'Consultancy, research and other specialist business services' and in this case is further subdivided into: 'Holdings (not financial), group services within own group and management advice', subcategory 'Consultancy in the field of management and business operations'.
But at the point the 30% ruling expired after 10 years, I no longer needed to be employed full time by a Dutch company to qualify, so it made a lot more sense to start a Dutch Eenmanszaak (sole proprietorship) and actually work as a freelancer instead of a full time employee. Now I can deduct my business expenses, which I couldn't do as a full time employee, and I can draw up my own contracts, and have a lot more freedom and less overhead.
> There are "management" companies that will employ you full time, and draw up contracts with other clients, who pay them directly, then they take a cut of their fees, withhold income tax, and pay you the rest.
This sounds partially similar to how barristers' chambers work here in the UK. The chambers' clerks manage the barristers' contracts but also find them work, unlike in your example. In turn the chambers takes a cut of the barrister's fees (and the clerks, traditionally Cockneys with sales skills, can earn well into the middle hundreds of thousands: https://www.bloomberg.com/news/features/2017-05-23/the-exqui...). Pupil barristers who are still in training are paid a salary of £50-100k or so, which comes out of the 'pot' that the fees go into, but after that point they have no guaranteed earnings. The barristers are obliged to take any contracts they are offered (https://en.wikipedia.org/wiki/Cab-rank_rule),
I think that would be an interesting model to adopt for software engineers. You would join a 'chambers' which has a good reputation, and, by accepting you as a member, they would signify that you're a talented engineer. They would do the work of finding clients - which after all isn't a natural part of an engineer's skillset - and take a cut in return. Essentially the chambers is being compensated not only for literally finding a contract, but also for the reputation which they built up over many years, which is valuable both for clients (who know they can find good professionals) and professionals (who know they can get good and steady work).
And that is why (as a Dutch citizen) I’m not working in the Netherlands any more.
It’d be pretty nice to move back there, but my taxes would shoot through the roof and as a citizen I’m not eligible for 30% deduction.
So those jobs they lack Dutch citizens to fill? Yeah, that’s because all those people are emigrating to places where they’re more appropriately rewarded.
Based upon my own experience in the area - having a whole two weeks to learn something before being presented to customers as an expert is actually pretty good.
It was pointed out to me early in that phase of my career (happily long ago) that for most clients - talking with absolute confidence is far more important than talking based on actual hard knowledge.
Most developers at the consultancy I work for work a normal work week, don't make reports, have normal (meaning neither ancient nor state of the art) dev practice. And there is nothing fraternity like about it, nor is there a climb the ladder idea. It's super boring. You're right about it not being amazing for those who want to work on interesting technical problems. Clients tend to be big, technology tends to be firmly in the legacy category. I think they mainly hire consultants because employees can be expensive to fire under Dutch law for institutions that are financially secure. Which makes it different from consultancy in other countries.
It depends a bit on the consulting firm, but most are indeed "serial hired hands" like the blog says.
Most are fine to be for 2-5 years though as a fresh grad. You'll get some experience. Most good people move on to freelancing or something else after a while though*, I wasn't too impressed with most of the people who were there 10+ years.
* The company I worked for has an exodus of about 10-30 employees starting their own small company every ~10 years, since they reckon they can do the same with less overhead and bullshit for more pay. They're probably right.
Isn't that the difference between consulting firms who just do strategic consulting and the others that sell a wider range of services including delivery?
In Finland also the trend is that most "T-shaped" and experienced devs seem to be either in consulting freelancing or working for smaller consultancies (50-1000 ppl).
The big shops focusing on India outsourcing like IBM, Accenture, Deloitte etc. are a completely different thing.
Freelance consultant in NL here. The consulting-firm rates can be much higher, but usually freelance consulting is much cheaper than employees. One of the reasons I went into this is I was working in both academia and in companies at the level where I was hiring for projects, and the ridiculous money that just gets eaten by overhead and middle management is absurd. If you hire a PhD and pay them close to ~40keur/year (NL is comparatively higher salaries for PhD than other places), you need about ~100k per year for that person. University bench fees, or corporate overhead, computing resources, insurance, pension. If you go up from PhD for 1 FTE senior engineer in a company it gets worse, they get ~60k before income tax, it costs closer to ~200k for 1 FTE (this is a real recent example for a project I am involved in). On top of that you need to give them a contract, so if you hire a lemon (which will happen at some point), you are stuck with them at least for a year. For me, and I think for some experienced project leaders, it makes much more sense to hire someone as a contractor per month, if they keep delivering, then keep them, if not, don't. If you keep them, maybe you pay 80k for the year. Another aspect is that the cost of a external person is just a cost, like buying computing resources/equipment for a project, it can be easier/simpler to factor into a project (as its not a continuing cost commitment) and depending on the arrangement, can be deducted from the companies VAT. Freelance consultants do their own admin, handle their own expenses, work from home (though so does everyone at the moment) so the hiring company just pays directly for results. To a new manager/project leader, prospectively, it can seem like a higher cost up front but that's only if you compare 80k to 40k which isn't fair or what you will see when you look retrospectively at the project cost. Consulting firms lose most of this benefit because they still have all those extra costs/commitments involved. Business is strange.
> they get ~60k before income tax, it costs closer to ~200k for 1 FTE (this is a real recent example for a project I am involved in)
That’s a pretty ridiculous overhead percentage. Even given all the taxes in the Netherlands, I have no idea how you could possibly arrive at that (given legally mandated stuff, obviously you can make it as crazy as you want).
Absolutely ridiculous indeed. That example is from a month ago for a medium-sized, research-oriented child company of a much larger tech company. They get a lot of funding from grants and collaborations so one could argue it as a way of funneling money from grants back into the larger company's pocket.
I have been trying to find/join/create a organization or group structure for research that would be more open/fair and less susceptible to corruption/waste but it's not visible enough of a problem to get support for it, and too new or odd sounding to get granting body to take a gamble on it.
A non-profit with everyone's salary visible, who work on delayed-release but open-source projects, seems like a good start to me, after all most of the research grant money is public money, it should be visible where it's being spent. Bounties for researchers/the pubic to fix active bugs. And a mandate that the code (or other work) gets released after ~2years no matter what. Commercially-paid early access and support. Harder to make a business around for sure but the amount of projects I have worked on, that don't get released as they are not profitable or the company/university are too lazy to make a profitable license/product around and refuse to just release the IP. I had one project that was patented and then the company is just sitting on it (for almost 10years now) waiting for a competitor to release something similar so they can seek licensing from them. It's heart breaking seeing all that work/energy/money just get locked up in a private gitlab repo to die when some of it can literally save lives or kick a field into the next step.
Can I ask you some questions about being a freelance consultant in NL? I'm a Dutchie myself. If you're up for having an online chat or IRL coffee [1] my email is in my profile.
I've been to a few of these "Hackers and Founders" meetups in Amsterdam before Coronavirus hit, and ran into interesting people who know about stuff like that. I love their strict anti-douchebag policy!
Café De Doffer or the Hacker Building might be a good place to meet up, once that kind of stuff is happening again. But I don't know when that might be.
>We were originally a group of friends who co-worked from different places across the city. We dreamt about getting our very own building so we could create our perfect work environment of likeminded people. So when the moment was right, we made that happen.
>Our group is pretty tight-knit but very welcoming to newcomers too. We have a strict anti-douchebag policy, which means we only have friendly people here who are open and welcoming.
Did both and consulting rates are indeed higher at face value but that is compensated by the risk. As an employee you will be paid if there is actual work or not, me as a consultant will be terminated the minute my work is done.
So if you are good in a field where there is demand, and you actually like doing negotiations & finding opportunities, doing your own bookkeeping and not forgetting your pension funds: go for it!
Someone that actually manages things and takes away a lot of the communication between devs and users/customers.
Someone that has a broad overview of things and keeps things in line between devs in different teams, QA etc.
Someone that tackles existing or future problems hands on, by clearly communicating them and prioritising and assigning them to the right people.
Someone that makes sure, that requirements/backlog etc. are always in a workable shape.
Most managers that i work with lack in one or multiple of these areas.
Some managers i worked with do none of these and just report numbers and budgets, while avoiding to do anything useful towards the actual project/product.
I guess in this saying what "consulting" means is some vague "Agile, SAFe" BS consulting. What is being talked here is a software consultants who actually create software.
I'll second this. US SWE who spent a good portion of his career either doing consulting or working for a consulting company. It left me unable to care about the products of the companies I eventually settled down and started to work for. I have a very problem-centric attitude where I need to be fed well defined tasks and can't seem to care about the overall product, with it's various problems and features.
Don't get me wrong, I think consulting is a good thing for people to do, but don't let it distort your thinking. It's also easy to start to see everything in your life in terms of your hourly rate, and you start making weird choices regarding how you spend your time.
In response to the other replies, I'll say 'consulting' entails both work for hire(I was a core member of the platform team in a major media device company for 6 years) and full project design('We have a rough idea and we need to to architect, code, test, deploy and sometimes maintain a system'). It is not just working at a body shop doing shit work for hourly pay(although sometimes it is, depending on the economy).
I'm a consultant right now after doing software engineering for almost two decades. I owned a lot of my code before which got me to appreciate caring for maintainability.
I generally work as an advisor rather than a coder but if I do end up coding, one of my primary goals when working for a client is ensuring the code is high quality, maintainable, self-documenting and that any workarounds and cut corners are clearly marked as such and highlighted to the client.
You can just do this because you want to be proud of your work. Because you don't want to hate your life. Because you didn't spend 18 years of your life learning to end up writing unreliable diarrheas just to save yourself 30 mins a week.
And those dev shops in eastern Europe / asia are not consultancies. They're freelancing agencies with a sales pitch. Consulting implies expertise.
The article specifically excludes outsourced development from its definition of consulting:
I’m not talking about becoming one of those contractors who are billed out by their companies as “consultants” but are really just serial hired hands. I’m referring to a true consultant role, where you are paid to bring expertise, give advice, and drive technical change.*
When a major company "brings in consultants" they generally mean exactly calling up one of the major consulting firms and bringing in a bunch of outsourced short-term people (those "hired hands") and not e.g. freelance experts; and while these "hired hands" contractors are quite different in practice from "proper consultants" as the article describes, they usually are advertised as the same thing.
I've spoken to multiple consultancies to try and figure out if the career path would work out for me.
All of them made it clear that their MO is to provide asses in seats to build software quickly, then hand it over to the customer to whatever they liked with it - generally hire a bunch of outsourced developers to keep it barely alive, maybe add a feature or two per year.
Now TBF this is Switzerland, where salaries are always very high, but employee stock options etc. are pretty much unknown (outside of Google). Generally that means that companies are already spending shitloads of cash on software developers, so they might as well hire them as employees, not contractors.
By "serial hired hand" I think the article is taking about someone who is technically a contractor but gets repeatedly contacted by the same company for the same project over a period of years. They end with (almost) the same level code ownership as a regular employee. That's not what the parent comment was taking about.
Right, but nobody hires code monkeys for their bargain outsourcing sweatshop. They hire "experts" with "years of experience" for "consulting" to produce "custom solutions."
There is a category of consulting agencies that actually specialize in high quality developers, charge accordingly, and incentivize talent to stay by giving them a solid percentage cut of the customer fees.
That's outsourcing for the employer, but consulting for the employee. If I consult for a US company while being in South America, I'm still a consultant. They are the ones outsourcing.
A consultant is an advisor, that should have some specific technical or domain knowledge to advise people with.
In reality, everyone can call themself a consultant and i bet you can charge better money calling yourself consultant, even if you don't possess any specific knowledge and just work as a regular dev.
No, there are non-US companies that sell consulting services to US companies. If you are employed by one of these companies, you work as a consultant for a US company (usually as part of a team with several compatriots), and you are not a freelancer since you are employed by your company. If the contract finishes and you're left without a project, you're still employed and drawing a paycheck, and it's your company that finds you a new project to work on.
There is "cheap outsourcing" though and actually hiring a deeply talented expert for that one thing you need done, and done right preferably. And anything in between.
>The majority of developers have spent their professional life doing "consulting" jobs in outsourcing firms
I think the issue here is your correct use of quotes on consulting. Contracting is not consulting; the latter you're usually getting paid a premium for your expertise, not as a cog in the wheel of code production.
The difference shows in the type of code they do, the "ownership" and engagement they have: Those with a consulting mind will do something and then have the notion that once its "done" they don't have to care about it. Those that have been bitten by their own code from the past have a better notion on how to write maintainable code.