Note: I published this article first on my LinkedIn profile on May 23. Here is a link to the original post: https://www.linkedin.com/pulse/my-thoughts-contract-work-developer-pool-companies-adrian-sandu/. It is also available on Medium and it was automatically imported here.
I have been working as a front-end developer contractor for the last 6 years and some. Sometimes I was on-site, at the client’s offices. Other times, I worked remotely. Some contracts have been longer (or renewed), while others have been shorter. I managed to work for a wide range of clients, from big-name companies, down to someone’s personal business.
The only constant of this time has been my status of a contractor. I did join one place as a full-time employee and the team got disbanded a couple of months later. The irony :) I think it was the Powers that Be telling me that I’m not made to be a corporate employee. I developed too much of a like for change and variety.
The contracting model I had to follow when working on-site has all the drawbacks and responsibilities of a regular employee, with very little of the benefits. Yes, on a longer term, you might be paid more money. But that can easily throw you into the next tax bracket where the extra income makes a lot less difference. You don’t get paid time off or paid sick leave. One place had a dress code for everyone, even though we never got in contact with clients. The official reason was “solidarity with those employees that operated face-to-face with clients”. I’m on the plus-plus size so I can so rarely find a shirt that sits well on me. I needed to have at least four (we did have “casual Friday” at least). I really don’t like dress codes.
Then there is the downtime. You are subjected to the same notice period as a regular employee. But you are working on a three-month contract that can be renewed or not. And the renewal decision might as well be dictated by factors outside of your control. The first contract I had in Ireland was not renewed after the initial three months, due to a change in the corporate policy asking that the contracting costs should be cut down. In a full-time position, a three-month span is often just the trial period. So you have two weeks to find another contract before you move into the “famine” phase, where you don’t bring money home but you survive on the savings. And often there are policies that prevent you from taking outside gigs or do freelancing. This means most of the time is no alternative source of income.
I found a better alternative in remote working. It’s still contracting, as I still get paid by the hour. There’s still no paid time off or other similar bonuses. But I get control over my schedule, over my work environment and a lot of other things that can seem unimportant to many. Usually, you can work at your own pace and whenever you want, as long as the work assigned to you is done properly. There might be periodic events like scrum meetings that will have fixed times, but you should have a lot more wiggle room for everything else.
The downside is finding the actual contract. For my on-site contracts, I was relying on the local recruiting agencies, as that was the norm for the market in Dublin, Ireland. Going remotely is another matter. There are a number of job boards that post remote positions. But now you are competing against people from all over the world. The employer most likely is swamped with tens, hundreds or even thousands of applications. If you don’t really stand out, you can be easily discarded.
So far I got one contract from a job board that lasted for a year and a half. I did have a big advantage though. One of the requirements was to make a short 4-minute video explaining why I think I would be a good fit. I guess that 99% of those that passed the first step gave up when required to make that video. Their loss, my gain.
I think this is where having visibility really helps. The more active you are in the industry and in social media, the greater the chances you will stand out when applying to such a remote job.
I have also noticed another trend over the last couple of years: the emergence of what I call “developer pool” agencies. As remote work becomes more of a common thing, finding talent is no longer restricted to the area around the physical location of one’s offices. These agencies try to collect as much talent as possible to offer the best services for their clients. I’ve checked a number of such agencies and here is what I found about the process:
The developers apply for inclusion, there is usually a light interview phase and if everything works out for all parts involved, they are invited to join the pool. Depending on their area of expertise, they get notified when the agency has a client with needs matching their skills. If they express their interest in the project, the client receives their applications, usually conducts an interview of their own then the developer joins the project. The agency remains the intermediary between client and developer, handles the financial transactions and pays the developer once all the formalities are observed.
Like everything else in life, there are pros and cons about joining such agencies. For many developers, this can be a happy medium between the freedom of freelancing and the stability and security of a full-time job. One thing I would recommend above anything else is to read carefully the Terms of Service, as that is usually the contract that governs your relationship with the agency. Pay extra attention to any clauses and conditions that can trigger the severance of the relationship. It’s like the driving code: know what counts as a “bad thing to do” in their books and avoid doing that. Or step away if the restrictions are too strict for your liking.
The most important benefit, in my opinion, is that you don’t have to worry as much about finding clients. There is no guarantee about how fast you will land a project. But if your area of expertise comes in high demand, then you should have a fair chance of finding work fast enough. Also, you don’t have to manage the relationship with the client, no need to chase invoices or call the client about late payments. The agency does all that for you.
The largest downside, though, is the lack of a meaningful long-term relationship with the client. As a freelancer, your best sources of more projects are repeat work from an existing client and new clients that were referred by current or past clients. There will be no such thing when working with an agency. The Terms of Service explicitly forbid you to take a direct relationship with clients outside the agency framework. This is valid for a long enough period of time (usually a year or more) that the relationship cools down and you are not in the front of their mind anymore.
Another possible sensitive topic can be whether you are allowed or not to include the projects you worked on in your portfolio/resume. Make sure you clear this out first before mentioning a client on your website or on social media.
Overall, working with a developer pool agency can be very beneficial in the short to medium term. It is a solution that fits best those developers that are content working in a corporate environment but want a bit of extra flexibility.
On the long term though, I think the developer becomes dependent on the agency. If they go out of business or they decide you breached somehow the terms of service, you can find yourself adrift. But that can happen in any workplace, isn’t it? Make sure you know what you are getting into and have an exit strategy in place if things go south.
I guess the most important lesson is that one should never stop learning and should maintain control over their image, reputation. Your personal brand. Don’t give up all your rights to any third party, whether it is your employer, an agency, or LinkedIn.