Our guide to successfully sail through this outsourcing universe
The scenario is not uncommon — you, a talented developer, are assigned a quest to temporarily join and help an external company grow. This growth might be in terms of organization, process, product quality, productivity or all of the above, but it boils down to something really simple: people want their product to take shape. And quickly.
You are already part of a company that has its own set of values, its own successful ways of performing and, in that capacity, you are your company’s ambassador; you want to advocate for a way of working that aligns with your company’s culture.
It sounds like a fun adventure to immerse yourself in, but you need to consider a couple of things before embarking on this mission.
Regardless of the ornamental prose, this endeavor is common currency. Staff Augmentation is the most standard and convenient outsourcing engagement model among companies to ensure that their projects are rapidly equipped with the right number of resources and that there are no gaps in the skill set needed to reach their goals. It enables flexibility of potentially shifting project requirements. This strategy is extensively used in the IT field.
You’ll find loads of content regarding this model, and most of it elaborates on their benefits and recommended strategies to embrace it from a client’s standpoint — that is, why and how to bring on temporary talent. There is little guidance regarding how a talent like yourself could make this a smooth experience for everyone involved.
Therefore, the following are some useful game plans I gathered to face the intricacies of quickly adjusting to a new development environment:
1 — Be efficient in your communication
Ensure clear communication and learn to identify whom to ask which question: not everyone knows everything. Don’t hesitate to blurt any question you have; it is expected for you to have many doubts at the beginning. Just ask whatever you think is necessary to get unstuck.
Communication-wise, there are also other practices you should start implementing. Being transparent and fluent when speaking to anyone will save time upfront. Learn to actively listen and integrate what you’re being told. Don’t start a conversation with a bias on what you expect to get in return. Just enter it with a purpose and no expectations. This is the most valuable piece of advice anyone can give you, and it applies to other areas of life as well.
2 — Be adaptable and flexible
You are joining a different culture, process, and set of values: adapting to them won’t always be easy. If you come from a software development studio and you work within a successful and defined culture, it won’t be surprising that you have conflicting thoughts on how things are done in this new environment. It’s normal to root for the familiar and get tense when things threaten to change.
This feeling of tension can take some valuable onboarding time from your hands, which could be instead used to be proactive and productive. To tackle this issue, think of yourself as one in-house developer more, an extension to their team. When you do, you’ll be more open to accept and understand why some key decisions are made.
3 — Be proactive
If you still find some places for improvement, you should indeed be proactive enough to propose a change. Every team has rough edges at some point, and you can contribute to what’s missing. Nevertheless, do it bearing in mind that you’re on their team. Make clear, tactful and responsible proposals, which result from a good session of pondering, not just obstinate disagreement or ego-tripping.
Your mission is to help your team grow, and so you need to bring all of your knowledge to the table. You want to identify and fill the gaps that are missing. Offer solutions to problems that no one has identified.
4 — Have realistic expectations
Yet, also remember that your contributions have a deadline (ergo the temporary in temporary talent), and you need to offer realistic solutions that can be achieved. Don’t expect to revolutionize a project because you are not convinced of a different approach in the development process. Small and steady changes will grant a better outcome for an existing project.
For instance, changing the way a team does code reviews, asking for daily meetings to unblock people, supporting the implementation of retrospectives to learn from past mistakes. Even if the team does not comply with an Agile methodology, you can still offer specific Agile practices to move away from certain habits. Whatever the solution, remember to balance cost and benefit before suggesting it.
5 — Embrace their vision
Finally, you won’t accomplish this mission if you don’t share their vision. You simply can’t fake this: there’s a notorious difference between people who see work as a chore and people who have an inner commitment and motivation to improve something. The difference is clear from the results: boosted productivity, better team relationship and trust.
You’re merging your expertise with that of your client’s, you become partners, and you both root for the same outcome. This is actually the starting point.
Staff augmentation considered or not, switching environments and adjusting to changes is a heavy but rewarding process to challenge yourself into. But it’s nothing other than growing pains. You will learn to love the process and come out of it with a lot of valuable insights to share.