( read )

Doing outsourcing the right way

Topics: Behind the scenes

Having started my career at a product company feeling like a part of a team wasn’t really an issue, even though the teams were distributed with developers being mostly in Romania and product owners, sales and other departments in Holland.

Even in those days people felt that there’s two different types of developers, ones that feel at home in product companies and ones that feel at home doing outsourcing. Since I consider myself a “try and see if you like it” kind of person I vowed that after the time in my first company would end, I would go and work for a company that does outsourcing.

As time went by and I felt the moment came to move to another company I stayed true to my promise and got a job in a company that mainly did outsourcing for two big US companies. I remember that since day one I heard the word “clients” a lot. Previously when I heard this word, I usually thought at the end users. But no, the clients were now other developers, product owners etc. I said to myself; ok, I would have liked to call them colleagues but I’m new to this whole thing so what do I know.

A few weeks passed by and I noticed something else, whenever we needed to make a decision (not even a major one, one as trivial as setting a weekly meeting) we would need to see how the client would feel about it and then adapt to it. This feeling of estrangement continued throughout the duration of that project but I said to myself: we’re only a few developers and they have a whole team of developers and other people so we need to adapt to them. I’ll finish with the project and move on to a different kind of project and set-up, one in which we would have a whole team in the company where I would work and the client would have their own teams.

After the project finished, I made the move I thought would be the best one for me and my career. I moved to a company to work for a UK client which had two applications, one that was being developed by a team consisting of British developers employed by the client and one that was being developed by a team in Romania. Suddenly things were better. Even though the product owner was on their side we felt like an independent team, a team that was equally valuable as their own, we were stating our opinion and we felt like it was being valued. Even though I felt great and we saw the other developers as colleagues I can’t say that we had much visibility on their company and on their plans, not much visibility beyond the project we were working on.

Fast forward a project or two in and a new opportunity arose. My manager came to me and said, we have a new opportunity, a new client, they have an exciting product, complex with a lot of new technologies. A lot of boxes were ticked in my mind so I said, sure, let’s go for it, go ahead and set up the interview with them. The interview day comes and I meet two of the developers, all is good, they seem to be very experienced, first impressions are great but then comes the thing I didn’t want to hear: ”we’re going to integrate you in our teams (or pods as they call them) and be just like one of our developers”. That was the thing I did not want to hear but since I think of myself as an open-minded person, I said I would give it a go.

First day came and strangely enough the onboarding process was unchanged from the one they had in place for when a developer would get hired at their physical location. We also had a few onboarding meetings with colleagues employed by DrDoctor. I remember liking that but remaining cautious about what the future would have in store for me. More onboarding stuff came, setting up the projects, the actual meeting of the people we would work with. In every meeting that took place we would always get asked, is this ok for you, this is the first time we’re doing this with a remote person please give us feedback so that we can improve it. These kind of things make you feel like a valuable part of the team but unfortunately most companies experienced with outsourcing don’t do this.

Good first impressions are great and all so I feel lucky my day-to-day at DrDoctor has continued to be positive. Like every other developer that works for DrDoctor, I honestly never felt the “client – external developer” thing and this is certainly not because they knew how to do it perfectly from the very start. They were completely new to this! I feel that they had and still have a lot to learn. What DrDoctor do well is they always look for feedback from us and they actually take that feedback into consideration. The DrDoctor team are very open minded and accommodating with the needs of all of their team members.

If I was to give advice to other companies that want to go down this route and seek external help, I would say that, like DrDoctor, you should treat remote teams exactly like you do the teams that are physically present. Always ask questions because what works for the people you hire locally might not work for everyone. It's especially important to take cultural differences into consideration.

The magical thing about DrDoctor is the people, because a company is all about its people. Working for DrDoctor is like working with senior developers with a world of experience who also have the enthusiasm and curiosity of a junior developer (who's writing their first line of code). My personal experience has shown this to be very rare!