At some point on a developer career it's possible that we'll get an offer to work for a foreign company as a remote developer, with a contract, from our home, in maybe a different language. And as a company it's also possible that you'll be thinking on hiring some remote Senior developers.
We all know in what we are thinking when talking about a remote position: sell/buy some hours, receive/assign some tasks, deliver/expect some code, repeat, whether you are the developer or the company.
As a front-end developer who worked as a Technical Leader in a local company, I was afraid to make the jump into a remote position because my main fear was to get stuck on coding only, without the possibility to bring something else to the table, just putting color on some buttons and nothing else for the next 5 years.
Well, it doesn't have to be that way, and thinking that a remote position it's only useful as the way I described before it's just lame thinking.
It's not simple, and it's up to the company
As a remote developer we can try to get out of the pre-formatted remote role model, but basically is up to the company we work for to give us the space to do so, to acknowledge the advantages of having us as one more team member and not as "the remote developer".
Companies usually set aside the remote developer from the development decisions (ironic, I know), despite the fact that sometimes that remote developer possesses a higher seniority than the local people, or more experience on the particular subject being discussed.
When a company turns to the idea of hiring a remote developer it's because they're searching for a Senior in terms of coding, because they have a tight deadline or the current projects they're having are becoming more complex day by day.
Your local team will need 3 weeks to finish a task so you hire a remote guy who'll get it done in 1 and allows you to remove pressure from the local team so then they can focus on something else... and repeat. Sounds familiar? It also sounds like a software factory, and that's fine if that's what you're aiming for, but don't expect team work on a software factory, don't grumble when you got stuck in quality, and don't blame the dev team when they not improve the delivery times.
For the same price you're missing somebody who can bring more, who can grow the team in terms of quality, delivery times, complexity of the tasks that can be carried out by the whole company, etcetera, just because... you're afraid?
Afraid of what?
You're afraid of giving full permissions to a guy you "don't know"? Are you afraid of giving decision power and all the company's credentials to somebody you've never seen before just because he can disappear from one day to the other?
I've seen local team members actually disappearing a day or two without notice, also people walking out of a meeting because of drama, developers working on a freelance project while being on working hours at the physical office.
Don't you have that kind of people at your office? If so don't give me that I've-never-met-the-guy excuse.
If the developer is going to be an asshole, it's going to be that either sitting on your office wearing a suit or in pajamas at home. If he's going to procrastinate, if he's going to spend 7 out of 8 hours in Facebook, he's going to do so either under your watch at the office or from the bed at home.
Come on, you're already know that, I'm just stating the facts.
I've seen developers on-site expending 90% of the day at YouTube, right in front of my nose, and I've seen spectacular remote Project Managers, Business Analyst, and developers, of whom I don't care if they are at YouTube or not because they deliver. Because I've trusted them.
I bet you can relate, I bet you already have some remote people who perform better than some local team member, so I also bet that you're starting to realize that this idea of not making the remote developers a real member of the team it's all just about unjustified fears.
But chat it's not the same?
Along with those fears stated above comes the "communication issues" also known as: just more excuses. Of course, it's not the same to have a face-to-face meeting than having to call somebody over Skype, but is it really that big of a deal?
I really don't stand this excuse, and I don't think we should spend too much time debunking it when we're living on a society where my +60 years old mom knows how to call me over WhatsApp, where my 20 years old sister knows how to share a video over Facebook while adding her own thoughts about it.
So, if 20 billions human beings can found a match on Tinder and potentially start a relationship or just have sex... I think we can overcome the "communication issues" when working on a Magento 1 to Magento 2 migration.
Turn on the camera and you'll see how all that remote things disappear. I'm being real, that helps a lot when you are trying to add the human factor to the communication process because it's not the same to say thing to a mic than to a face even when inside a monitor.
A developer sitting away at a 15 hours flight from your office can still give the same as the one sitting on your local branch. In this globalized world these excuses don't have a chance.