
If you live in the Netherlands, you may know how popular being a consultant is around here. To a big extent, this is due to the fact that the law really is on the side of the employee and not on the side of the business, like it is e.g. in the US. So a popular practice is for consultancy companies to hire engineers and then sell them to their clients on a per-project basis.
There are quite a few of both PROs and CONs about the consultancy business. One of the PROs is that as a fresh graduate, you get to go to different companies and work on various projects, giving you a head start at your journey in IT, you experience different tech stacks in a fairly short time, but of course how much in depth do you get to know each, is a bit debatable. On the CON side, there’s this feeling of belonging we normally want to experience as humans. And this sometimes is a bit lacking as a consultant. And naturally so – you are there for a project, to build something, deliver something, you are not there to stay, so you kind of go there every day and something just doesn’t feel 100% right, you are not exactly part of a.. in my language we have a word “колектив”, and also another word for “team”, but the former implies more feeling of being part of a community, while the latter is just that – a team. Sadly, in English, it’s one and the same word for both. But I’m sure you know what I mean. Consultancies typically have some budget for your self-improvement, you can take courses, learn things on the go, spend time in-between projects to do some studying and/or prepare a training or a knowledge sharing session for your colleagues on interesting topics and/or technologies you’ve experienced, you get a very good overview of how things are going at major companies which are clients of your consultancy. For example, the consultancy where I currently work at, has clients like Ikea, Albert Heijn, NS, Dutch police, Bol.com, Eneco and many others, and through my colleagues I get an idea what is going on within these companies – how do they operate, what sort of issues my colleagues have to face there, what problems do they have to solve, you get to see a lot of the big companies’ problems and be prepared when/if similar challenges come your way. A bit of context for why I also feel consultancy work is a good thing – during crisis periods of recessions, even pandemics like Covid, many companies had to cut down on workforce, unfortunately. But you, as a consultant, even if you are let go of, you still have a job, you still receive your salary. Yes, you will need to interview again for new clients, but the positive thing is that if you were internal at a company and they have to lay you off (this happened to me), you are on the market. And you have to handle it all – back to studying algorithms and data structures, because many companies still require live coding sessions with them (and i will give you a personal example at the end of this). You have to go through applications, keeping track of all your applications, proper research about the companies (well this is still required to do with consultancy, but a bit more chill), you have to even pass the round of just being selected in the first place by some HR person who filters people down based on the presense of absence of certain keywords on your resume (No offense intended to HR as a whole, but some HR really have no clue what they should look for at a candidate, of course most are not like that, but i have gotten, quite frankly, ridiculous messages on LinkedIn). If you get picked for interviews, it could be very exhausting and draining, with 3-4-5 rounds of interviews – HR, live coding, software design, behavioural interview, manager interview/team fit, plus there could be more rounds on technical knowledge. With consultancy, you get maybe an assignment and from then on, once you pass that and you are hired, technically the interview process for clients is more of “is there a click” sort of thing, maybe a few technical questions but mostly not coding etc, since most often than not, the consultancy’s reputation would be ruined if they send someone incapable at their client so they wouldn’t risk it, therefore the idea of in-depth interviewing is more of a relashionship of trust – consultancy sends a competent person and the client trusts thay they are a fit for the project from technical perspective.
And now my personal story – before joining my current consultancy, I was looking for a new job for maybe a few weeks – applying here and there, getting some interviews but since now i had an idea of buying a house, I had to ask for at least the same salary as I had before. However, the company I was laid off from due to economic reasons, was an American company, with quite a different salary compared to the standard salary on the Dutch market. This led to a few things – whenever they would ask me for salary expectations and I gave them my numbers, they would either try to low-ball me a lot, or this would be the first and last conversation. Eventually, I got an interview with a big company – and I was not prepared. I had been preparing for DS and Algorithms, but I did not solve a lot of graph algorithm problems and that’s exactly what they gave me to solve. So, naturally, I failed. (Here, i can speak more about what companies look for vs what, in my opinion, they SHOULD look for, but do not). But in the end of the day, I was cut off from the company. Fast forward to now, this company IS actually a client of my consultancy. Now, if I am ever to talk to them again, I am pretty sure there won’t be an algorithm challenge but rather a technical interview and I would enter the company way easier than if i were applying on my own, which obviously didn’t work, even thought I explain to the interviewer what conceptually I would do, but maybe it was not enough. And when i interviewed for my consultancy, their evaluation was a full-scale project to develop something and make it production-ready. This evaluates your REAL experience and is way more telling than if you know a random algorithm or not, i have been over these things 4 years ago for the last time, and before that again 3 more years before then. The point is, just learning things by heart, never works and I think they should not evaluate people on this, but rather on their actual thought process, code can be learned, an algorithm can be learned – there are millions of resources, videos etc for every single algorithm out there.
Alas, often companies have a standard for giving you a coding challenge. However, some people (ME!) just cannot work under this sort of pressure. My head goes blank, even if i knew the algorithm for that big company, chances are I would still have failed because of having someone I don’t know evaluating me.
But back to consultancy – a consultant typically cost a lot more than the average internal employee. So, to justify that, the client will want you to be productive way faster than if you were an internal employee, they will ask for results faster as you cost them a lot of money. But they still sometimes choose consultants because they have a specific use case they need to implement.. and fast, or maybe they lack the know-how internally on a certain tech-stack that is needed to complete a project. Technically, for their money, they receive an expert for a short period of time. Also, they can easily revoke the contact with a consultant. All of these benefits add up to the price they pay. Internal employees, on the other hand, are often (not always, but often) paid more than the consultants in terms of what you get to your bank account. Even though consultants are super expensive, a substantial amount of what the client pays goes to the middleman company, so you may get less in your bank account compared to that of an internal employee in the same role. (This depends on your negotiations before signing your contract, of course).
On the flip side, however, if the company does not want to lose the know-how, they would give more priority and promote the internal employees over the external ones. This only makes sense. Sometimes, they do want an external employee to become internal, and they will try to “steal you”. Now, consultancies have a clause in the contract about that, but sometimes it is possible to convert to internal if there is an agreement from your consultancy to the client to sell you for a certain amount that would cover their “loss”. It is not impossible, but, of course, it is not preferable for the consultancy. I have been internal and I like it better in terms of feeling of belonging and for the chance of growth, and for the opportunity to take more serious decisions on things like architecture design, process management, setting certain standards etc. On the other hand, if you get laid off, you are back to the market, it’s a bit more complicated to get a new job rather than use the connections of your consultancy and have a new job in a matter of sometimes even a few days. But also being internal means sometimes more stability, if you work for a big corporation and know your stuff. (not always, of course). So my advice is think about what you want to achieve – do you want to learn fast, get a lot of experience fast, or do you want more stability, a feeling of connection, potentially a higher salary, then go internal. I hope this information and my exeperience of the last 7 years do give you a bit of an idea how you can proceed with your career choices 🙂