Outsourcing: Overcoming the cultural gap

By Eduardo Coll – Santex’ Operations Director

In the past, outsourcing was a business dynamic only related to major multinational companies. Nowadays, small and medium firms are able to take advantage of this global trend as well. The software industry is no stranger to this tendency: The traditional approach of face-to-face in-house software development has been shifted to a more virtual nature using cutting-edge communication technologies and applications such as instant messaging, teleconferencing, videoconferencing (Skype & Google hangout) and NetMeeting.

But outsourcing does not end with the sealing of a contract and letting the services run. As the business world becomes increasingly interconnected, a new problem is bound to affect the internal structure of organizations, including software factories: The success of a project is highly dependent on the quality management of the outsourcing relationship and cultural differences are one of the biggest issues that companies stand against when externalizing their projects overseas.

Outsourcing fairy tale stories have led people to think that we all live in a globalized world where distance, borders, place and time no longer matter.  However, according to a study made by Accenture in 2008, more than 60% of all outsourcing deals fail, completely or partially, mainly because of a lack of cultural compatibility between the vendor and the client. Therefore, it is critical to understand that large gaps still exist and they have a genuine impact over performance. Time Zone differences, language barriers, distance, difference in customs, diverse decision-making styles as well as occasional face to face meeting, all add up to a series of intangible challenges that companies must deal with when outsourcing.

A great example of cultural difference can be observed when applying diverse software methodologies: In India, China and Southeast Asia there may be a focus on well-defined instructions and structured processes. Work usually proceeds more comfortably in Waterfall and V-model processes. On the other hand, Latin America and Eastern European cultures are similar to that of Western Europe and the USA, may be a more conducive environment to accept the flexibility, proactiveness of Agile methodologies and direct communication.

Another example that shows the importance of the cultural gap is communication: Software development is a communication-intensive industry, especially during the requirements stage which is relied on to remove uncertainty from the process. Because of language barriers, many times conversations lose effectiveness and critical information is missed. When addressed incorrectly, the problems encountered during this phase can create further delays which impact on the project schedule.

The above mentioned facts prove the importance not only of cultural compatibility but also of cultural adaptability. In order to be successful on this global trend, companies need to develop culturally intelligence, which is a form of organizational capacity in functioning effectively in culturally diverse situations. Today, firms can no longer choose their outsourcing providers and destinations only from a cost-effective perspective; other criteria should be introduced to a company’s outsourcing strategy.

How we address the cultural gap at Santex

Outsourcing involves relying on global virtual project teams where managing across cultures is recognized to be a critical factor and a major managerial challenge that requires significant time and effort.

Initiatives for Staff: Fostering international openness  

  • Team members travel back and forth to participate in different activities and local venues from our different offices in Peru, Argentina and the US
  • Everyone at Santex take English classes twice a week with US native speakers
  • Hold monthly Tech-meetups with our offices in Lima (Perú), San Diego and Iowa (USA)
  • Team Building activities: Sport days, Santex changemakers program (volunteering group)

Initiatives for Clients: Managing expectations

  • Set realistic expectations
  • Provide internal visibility
  • Define a successful and appropriate working framework to facilitate the flow of ideas and various initiatives for maximum added value
  • Communicate effectively throughout
  • Consider a face-to-face configuration meeting to bridge the differences

About the AuthorEduardo Coll is a natural born leader. He used to be a Master Java developer for the company but his communication skills opened him a different professional path as an Operations Director.

Sources

Keys to get a job as a Junior Developer

By Lorenzo Sauchelli – PHP Developer at Santex

What makes a Junior Developer and why companies look for them?

Getting a job when you have no experience can be hard, particularly so in the field of computer science. Usually a company does not look for a ‘Junior Developer’, and not just because they lack the required coding skills to work on a project. The employer has no way of knowing if the would-be employee has the potential to grow into a Senior Developer, have the right work ethics that fit the company, or if they can carry their load on their shoulders without having to constantly ask for help.

Here at Santex we are running a Trainee Program to help junior developers in these areas. There will always be 12 junior developers in the team working on exciting internal projects. The idea is that they get real world experience, evolving into a Full-Stack Developer – basically someone that’s familiar with each layer of development, front-end, back-end, business logic, everything. At the same time, they can work on a product that can be useful for the company.

The skills required for a “Junior” position are completely different than those for a “Senior” one. When we look for Senior developers, we look for people who are not just knowledgeable, but also experienced. Junior Developers, are expected to need a guiding hand.

Another common issue is that companies have much less reliable ways to tell apart the good junior candidates from the not-so-good ones. With senior developers, we can immediately tell if they don’t fit the criteria we’re looking for. With Juniors? It’s another story. We need to discern some key aptitudes that help us detect the great candidates:

  • Life Experience. Since we can’t really measure their work experience, we need to rely on what they tell us about themselves in other areas. Accomplishments that at first glance have little to do with software development can be telltales about how they might act in our industry.
  • Humility. We’re talking about unproven developers here, so arrogant behavior raises a red flag. And not just in a ‘who do they think they are?’ way, it can be a toxic attitude that breaks teams and company culture.
  • Confidence. While this might sound contradictory when put in a list next to ‘humility’, it’s also important that the candidate shows that they’re capable. If they are afraid to speak their mind or unsure about their abilities, chances are they will never grow. Hiring them has little use for a company that’s looking to nurture them into senior developers.
  • Ambition. While a right mix of humility and confidence is necessary, if the desire to learn and grow is not there, then it’s no use. No matter how smart the candidate is, if they don’t want to learn, then they’ll never be capable of expanding their expertise.
  • Logic. Of course, to code, any developer needs a good head on their shoulders. They need to be able to think about a problem and come up with a useful solution to it. This doesn’t mean they need to know everything about the programming language they use, but they need to be able come up with creative solutions themselves. If they can’t even get past a FizzBuzz, then they’re not likely to get past the ‘Junior’ moniker.
  • Communication skills. We don’t look for people that sit all day long coding, keeping to themselves and never talk with anyone around them. We want people who talk, share and explain themselves. Communication builds teams and improves individuals.

Getting hired
Now that we know about some of the key aptitudes companies look for, we can focus on how to show these qualities to an interviewer. Remember, the company is not just looking to find out what you can actually do today, but what you might be able to do in a few months, and years.

  • Talk about what you know. It’s obvious when someone talks about something they have no idea about. People that do this are wasting the interviewers time and their chances of getting hired go down really quick.
  • If you don’t know the answer to a question, say so. Just saying “I don’t know that yet” can do the trick. It can lead to the interviewer asking the candidate to use logic to come up with an answer. This brings to light how well the candidate works under pressure.
  • Learn from as many sources as possible. Blogs, books, and github repositories help the developers to improve themselves. Remember: You don’t need to know all the corners of the programming language you’re going to work with, but you need to show that you care enough that one day you will.
  • Ask questions, and learn to ask “the right questions”. This is key for any project, since a client might want something but not clearly say exactly what. The interviewer might talk about something that assumes some background knowledge to see if the candidate will ask about it.
  • Practice, practice, practice. If you claim to love your craft, you can’t be expected to not know how to write a single line of code. You will get a coding test or two and you’re expected to solve them. Usually it’s nothing major, but if you can’t solve these, then the employer will wonder how you’d ever work in a real-world project.

Nurturing Passion: The road to the Full-Stack Developer
Okay, so you got past the interview and got yourself hired. Good for you! But it’s far from over. Your goal now should be to continue improving yourself and continue showing the qualities that got you hired in the first place.

At Santex we say “WHERE TECHNOLOGY MEETS PASSION” in big bold letters. And to make that a reality we need to nurture this passion, to help the younger developers want to become experienced. The best way to get a Full-Stack Developer is to take steps forward and grow their passion for their craft.

Passion makes perfection. If you don’t love your work, then you won’t care for it, and if you don’t care for it, it will surely suffer for it, making it of a much lower quality. And in the world we live in, quality is a great divider. Clients don’t look for companies where the only thing that’s valued is how cheap the service they give is, they look for quality – even if they don’t know they want it.

So, to get to that much requested quality clients look for, we need skilled workers. Not just skilled workers, actually, but skilled workers that love their work. People that when making a commit, feel good with themselves for a job well done.

Before in this article, I mentioned the Santex Trainee Program and for good reason. It’s a moralizing idea that helps instill this much needed passion into people. Developers don’t love what they do just because they liked writing little programs when they were kids. Managers need to trust the developers and nurture their passion by creating a great workplace. They also need to identify when someone isn’t happy with what they’re doing. This program aims to help not just the new hires get involved in the field and grow them into Full-Stack Developers, but also help Team Leaders into being actual leaders, and create an idea of team that in turn, helps future hires land on softer ground and grow much quicker.

About the Author – Lorenzo is a passionate, experienced PHP developer who is always in search of new challenges. As a high-skilled developer for Santex, he is always looking for new ways of contributing.