Outsourcing to Argentina – The Definitive Guide

Since 2002 Argentina has greatly evolved as a software development hub. The benefits of outsourcing to Argentina are similar as to other traditional offshore locations like India, Asia, México or East Europe.

Universities are Free.

UBA

In Argentina you will find a highly educated workforce. This is because education is totally free from kindergarten to university. There are many free universities and in the last 20 years many public universities have been created in the most important cities of the country. This allows for people whose parents hardly could end high school, to become university graduates.

According to data from 2014, 4.5% of population attends to university and 3.5% is in public universities.

The most important university in Argentina is University of Buenos Aires (UBA). It ranks #4 as the most prestigious institutions in Latin America and 75 in the QS world ranking.

But there are other important universities in almost every big city in the country; many have been created in the last 20 years.

There are other universities specialized in tech areas like the one where I studied. This is the case of Universidad Tecnológica Nacional (UTN). This university specializes in technology areas like electronics, computer science and systems among others.

Of course there are private universities like Universidad Austral, Universidad Católica or ITBA and specialized institutions that they teach short careers, all with very good level. The number of students in private universities is growing at an average rate of 3.3% each year.

Competitive costs

buildings in Buenos Aires photo

Argentina is not the cheapest offshore location, but you will still find very competitive costs. The costs of living (renting and food) are significantly lower than other big cities in the world. The relation between quality and price will be very good.

For example, you can find freelance developers in Buenos Aires starting at 2500 USD per month. You can still find cheaper, but less experienced.

Costs in other cities could be even more competitive. For example, cities far from Buenos Aires, specially in the North of the country have all very good universities and produce very good professionals.

However, most of the tech companies only seem to look at Buenos Aires, Córdoba and Rosario, leaving a lot of talent undiscovered.

Some cities you should have in your radar are Salta, San Salvador de Jujuy, Resistencia, Corrientes, Posadas or Tucumán. All in very competitive areas and all served with very good universities.

There many many others, but these cities are among the ones who hasn’t been fully discovered yet as excellent tech hubs although they have everything needed to make it happen.

Moreover, many students from cities where there is no University

English

english learning

Argentina has the highest level of english proficiency in Latin America and ranks #19 in the world, according the the EF English Proficiency Index.

Argentina English Proficiency English

Apart from English, other languages are very popular in Argentina. There are very good institutions to study italian, french, portuguese and german, among the most populars.

Culture and Environment

café tortoni

Argentina is a mix of cultures. The country was colonized by Spain in the year 1536. Since then, a lot of immigrants have settled in this country mainly from Spain, Italy, Portugal, France, Germany and many from neighbour countries as well, among others.

Buenos Aires, its capital city is also often recognized as the Paris from South America. Stunning architecture, cosmopolitan atmosphere, the latest fashions and trends and intimate side walk cafes make the biggest city in the country a magnet for travellers as well.

Argentina has other environmental and safety advantages: it is far from war or military conflict zones, extreme natural events like tornados, hurricanes or earthquakes are very uncommon and it is not a target for terrorism.

Discussions and Ideas

If dealing with an offshore service provider you  only hear “yes, sir”, that’s not going to be the most common case when dealing with an argentinean.

Argentineans are passionate and love to have their opinions and suggestions considered. They are more self confident and honest. Unlike other offshore providers, an argentinean will also say “no” when it’s no.

If your current developer always says “yes” and then he is apologizing all the time, you will notice the difference with an argentinean.

Argentineans love to get involved in the planning and discovery process when defining your projects or the features for your project. Argentineans will probably argue with you and propose you different ways of doing things. I strongly believe that’s a characteristic you will always want to find in any kind of worker.

If your developer, from wherever she or he is, doesn’t appear to be like this, it doesn’t mean he will not be good, but you will have to hire someone else to supervise or to help you define your requirements before assigning the work.

If you have any other topic you would like to know about outsourcing to Argentina, please leave a comment below or write to marcelo@centraldev.com.ar.

 

Working with remote teams – The definitive guide

As a digital services provider I have been in both sides of the equation. I’ve hired remote and distributed teams and I have been hired to work remotely for clients of all over the world.

Remote work can definitely work and give you many benefits, but you have to clearly understand how to do it right. It is a process that involves discipline and good communications skills.

So, if you are considering to engage with a remote team or individual, this tips are for you.

 

1. Define your Process

ticket system

You don’t just outsource your project and expect the company or freelancer figures out everything. Either you or the company you hire must have a well defined scope and process to work towards your goal.

If you are hiring a company or an existent team, it is more likely they will already have a process in place. If you hire freelancers or building your remote team from scratch, you will have to spend a lot of time developing and refining the right process.

In any case, experienced professionals will have some experience in popular software development processes. Scrum or some sort of an agile methodology are good choices to start with. It’s a warning sign if the company doesn’t propose you any process or if they simply tell you they will adapt to whatever you want.

A process should define, at least:

  • Meetings: when and how meetings are held. What topics are treated.
  • Communication: how will you communicate and how often.
  • Responsibilities: clear definition of the responsibilities of each team member.
  • Workflow: how work will evolve through different stages from idea to done.
  • Tools: what tools will be used for remote work collaboration, share documentation, work assignments, bug tracking, etc..
  • Billing and Payments: how and how often will you pay to your remote providers.

 

2. Scope

Use case diagram

As in the previous case, you don’t just throw features to the company or freelancer and expect them to do it right.

If you work with an experienced team, they will probably help you define the scope. But some freelancers are just order takers. They will do exactly what you tell them but don’t expect more; they won’t read your mind.

I have learnt over the years of experience that the most important part of the development happens before the first line of code is written. That’s when a feature is defined with as much detail as needed, user interfaces are designed and everything is documented clearly for your programmers. You just need the right professional for each task.

Another sign of concern is with freelancers who just say “yes” to everything. A professional who never questions your decisions, proposes alternatives or better way to do things is probably not being professional. Go for the freelancers who can say “no” when appropriate. However, pay attention if their suggestions are merely to bill more hours.

 

3. Time zone and proximity

time zone overlapping

We use the term “nearshore” to refer to a provider that is close to our location both in distance and time zone.

Always consider to hire a team that can overlap with your time zone a minimum of four hours a day. If there is a bigger difference you’ll lose momentum and any blocking issue or question you have after your team ends their work day will have to wait until the next day to be attended. And when you start your day and see their response they will be less 3 hours or less until they leave again? No good outcome can come from this.

So, if you are based in the West Coast, the East most you should go is GMT -3 (Argentina, Brazil and Uruguay). If you start to work at 8 am, that will be 12 pm in Buenos Aires, where we typically work until 6 pm. That give you 6 hours of overlapping during DST or 5 during the rest of the year (Argentina and Uruguay don’t observe DST).

Proximity and connectivity is also a factor to consider. If you ever have to travel to meet your team, or your team has to travel, is good to have good connectivity and reach the destination with no more than one flight connection and no more than 4 or 5 time zones crossed.

A good parameter to measure is how many regular office hours can you overlap with your offshore team. For example, if you are located in Miami or New York, and your work hours are from 8 AM to 5 PM, you will overlap the full 9 hours with an offshore team located in Buenos Aires during Daylight Saving Time (which is most of the year). That’s because Buenos Aires is only 1 hour ahead, there is no DST in Argentina and the regular office hours there are from 9 AM to 6 PM; so it’s a total match.

On the other hand, if you outsource to East Europe or India, you get almost zero overlapping.

 

4. Communication and Trust

How do you know people are actually working? That is done through trust and communication. You will never have a successful remote relationship if you fail to this one.

Either you are the contractor or the client, you have to be always available, respond quickly and anticipate to the other party needs. Answer your phone or your IM’s even if you are busy or, at least, let the other party know when you are normally available. The communication challenges of a remote relationship must be compensated with an always available policy.

In my company we schedule every day quick meetings over Hangouts  with clients and team members. We follow a typical Scrum stand up meeting format to answer three basic questions: what we are working on, what’s next and if there are any blocking issues. Apart from that, we communicate all the time through Hangouts IM or Skype. I expect clients and team members to be always available during known work hours.

If you don’t communicate at least every day, you lose momentum, the team member lowers the productivity and everyone lose interest and focus in the project.

Another important action you should take towards a better communication and trust building is to meet with your team in person. It makes a big difference to meet your remote workers at least once although I would recommend to do it regularly. Your team (or part of it) can travel for a week or two and work from your office. Use this opportunities to meet the people better but, above all, keep it professional.

Make it clear in advance what expenses you are covering and what not. You want to consider that even if you pay meals and lodging, travelling has other associated expenses.

Don’t try to be best friends with your freelancers. It’s OK if you want to hang out once or twice after work, but you don’t want it to go further than that. Keep it clean, keep it professional.

If you find it difficult for you to travel or have your team members travel to your location, make sure you make video conferences at least monthly to see each other faces.

Speaking about trust, this is straight and simple. If you don’t trust your remote worker, change it. A remote relationship is based mainly in trust. Specially when your developers are billing you by the hour, you have to trust they are working. You can’t have doubts about this one.

On the other hand, if a remote developer tells the client he is working 8 hours a day when he is not, he’s just killing his business; he is shooting his own foot.

 

5. Price should not be the most important factor in the decision

Price is the main reason most companies start thinking of offshore outsourcing, but sometimes the cheapest is not always the better. Within all your candidates for offshore development, don’t just go for the cheapest; try to discover the most talented professionals out there.  You’ll be surprised how many skilled and experienced professionals are there waiting for you.

 

Conclusion

Hiring a remote worker can be painful. What I recommended here is based in 15 years of working with freelancers and remote developers and designers and even working myself as a remote developer for many companies around the globe. I’ve heard these tips many times during that period but they are hard to assimilate unless you experience them.

Meet the customer

Working remotely has its benefits but sometimes is good for certain projects, to have a closer contact with the customers. In fact, meeting our customers is one of the key aspects of our methodology and we believe it is important to meet us in person at least once, specially for long term projects and relationships.

In many occasions we have travelled to work at the customers’ offices and in other opportunities the customer has travelled down here to meet with us.

In 2005 we received the first visit of a customer from the UK. We were working in his startup idea and he decided to rent a place here in Buenos Aires. It was a very productive move because we had the opportunity to work together for three months with the customer and other of his collaborators on the same table.

Preparing a demo for the customer in our office in Buenos Aires.

Preparing a demo for the customer in our office in Buenos Aires.

We have a long record of travels to Mexico as well. We usually provide services to customers in the automotive industries for their plants in Mexico. So we travelled many times to cities like Aguascalientes and Cuernavaca, places where automotive plants are very important. We travelled approximately 15 times to México for meetings, installations and support to our customers in Mexico. So there you have another skill in our set: we support spicy food like the best!

Trabajando en Cuernavaca.

Working in Cuernavaca.

A punto de entrar a trabajar en Aguascalientes.

All set to work in Aguascalientes.

Working from the datacenter in Mexico.

Working from the datacenter in Mexico.

Other destination we have travelled to many times is Texas. Mainly for meetings, planning and support, we have travelled to Dallas to work from the customer offices. The first time we went there was for a GOT (General Operation Testing) of a project we were building for another customer. We spent two weeks working with the users of the system, testing, reviewing the work done and gaining important feedback.

Travel to Dallas

Travel to Dallas

The latest trips we have done have been to Costa Mesa, California. We are working in a new project for a customer who makes printers so we decided to boost up the project with three weeks of intense work from his office. I travelled there with Jose, one of my partners, and it was very positive because not only could we meet the customer but we could also see the printers we were working with closely, perform real life tests and also visit one of the beta users of the system we were building.

Working from the customer's office

Testing the project at customer’s office.

Our work place in Costa Mesa, California.

Returning home after 3 weeks of work in USA.