Leading an international team – The beauty of it and the wonders
During October, one of our Senior Java Developers went on a trip to Rome, Italy. He went to work on a huge project with an international team that we are taking over. We asked him to share his insights regarding the challenges he faced during his time in Italy. Keep reading to find out what he had to say.
When you hear the words Software Developer, the first thing that probably comes to your mind is a picture of a man sitting in an office in front of the computer, writing code. People often connect those two ideas: software developing and sitting in an office the whole day. Do you agree?
‘Unfortunately, this is often the reality, but jobs that demand a lot of sitting in front of a computer has its huge advantages. For instance, almost all tools, examples, youtube courses and tutorials we can possibly need, can be found on the internet in a few seconds. That is because we are not linked to a certain location but rather to a strong network of connections from all over the world’ – Srdjan
Can you tell us something about the team? What does the workflow look like and what is your role in the team?
‘Well, the team consists of developers from Italy, Germany, and India. We are working according to the Kanban methodology. We have daily meetings and use Microsoft Teams for chat and Jira for defining tasks and Confluence for defining stories. My role was to substitute the person who was working as a project manager for a long time until I came. The biggest challenge was to gain the trust of the team. All team members helped me a lot to align with the project and technology they are using.’
What about the technologies?
‘I have been working on the project developed using Microservice Cloud Platform, Spring Cloud Netflix (Service Discovery: Eureka, Circuit Breaker: Hystrix, Declarative REST Client: Feign, Router: Zuul, Configuration Server, Authorization Server (OAUTH2). For security, Spring security is used. There are some microservices that use Camel and Spring Integration for batch processes and one microservice with Elasticsearch embedded. The microservices are deployed as docker images in Azure Cloud or installed in standalone mode in Linux and/or in Windows OS.’
Can you tell us some good coding practices you are implementing on the project?
‘We are using some IDE plugins that help in code writing regarding code style checks, finding bugs and performing suggestions and readable logs. Also, the code is much better covered with tests.’
Do you think that we can achieve the same success and efficiency no matter the location we are working at and the surroundings we are working with?
‘Often, some of the people in the team are working remotely while others are working within the same office space. Even if we can work from any location, there are a lot of challenges in the communication between the people in the team.
On the other hand, when it comes to the technical stuff, people in the team are more independent. As long as all of them have well-defined tasks. But in the end, it all comes down to the core – Management!
The crucial challenges occur at the level of management. Planning, organizing, scheduling, resource allocation, execution, tracking and the delivery of the software product are the main points that need extra attention. But thankfully, we humans are not alone so we use a lot of cool tools that help us get the job done!’
So in conclusion, what are your thoughts regarding onsight work?
‘Nothing can substitute working with people side by side, face to face. Meeting new people from different parts of the world is an amazing opportunity for getting to know different cultures and different points of view.
For instance, a sense of humour is an integral part of the job that people don’t really talk about. Live and honest contact is what makes the bond stronger within the team. Never forget that!’