Skip to main content

Why you should never put a junior in a team that is stressed and bad-mannered

It is nothing abnormal for a team to be stressed. During that times they might not have time for nothing else. The focus of the team is to deliver the business requirements in the IT solution. Unfortunately, this time periods can be longer than expected, even if we know that this is not good.
I saw teams being more than 18 months in a phase like this. After a while in this state, they don’t even realize that they are in this state and what is the impact and project and people level.
In this post, I will try to focus on the impact that such a phase can have at juniors and mid-levels in unhealthy teams.

Why?
When you are a junior you are in moment of you carrier when you want to learn. You know that you have things to learn, you are usually a fresh graduate with good theory knowledge and you want to put this in practice.
I like to compare smart juniors with birds that have big and powerful wings, but they don't know to fly very well yet. They can reach the sky and accomplish many things if you offer them an environment where they can fly and develop.
A similar thing is with a mid-level. Even if they have autonomy, the level of knowledge and autonomy is not 100% and they need the support of the team (not as much as for a junior, but still you need to support them).

Things can go ugly
When you put juniors and mid-level people inside a team where level of stress is high for a long period of time you can do a lot of damage on both sides.
I observed that after a while people that are stressed can change. From the nice person that everybody know they are becoming focus only on projects, with a big lack of time. They are on the run all the time. They don’t have time anymore to enjoy their job and help others to learn. Because of these, the time that is allocated to share their knowledge at projects level decrease and tends to be zero. They don’t have time anymore to offer help.

If this is combined with the wrong mindset at team level and you add some juniors, it is like adding them some stones in the back. This stones needs to be carried together with them all the time.
When you end-up in such situations, you realize that if you requests from a senior 10 minutes is already a lot and 1 hour is an eternity. The funny thing is that they prefer to do the job by themselves than explaining and offering support to a junior that could to that job.
In this way, you end up with a team where most of the senior stuff is not only stressed but they are doing the easy tasks because they don’t find time to explain and help the juniors.
Of course, the juniors are feeling this and start to avoid requesting support from the team. In such an environment, they end up searching for a solution for 1 day even if with the support of senior person they could solve it in a few minutes and learn how to do it.
If the senior people would offer support to the other team members then the seniority level of the entire team would increase, allowing them to be able to deliver more value in a shorter period.
You might lose 1 hour today to explain a flow, but once the other understand it, they will be able to deliver tasks that are more complex in shorter period of time. Not only this, but you – as a senior – will have more time to focus other problems.

Who should take action?
When you observe such a behavior avoid pointing a person. I would expect that the Project Manager or Scrum Master are the persons that observe this behavior and take actions. Even if you would say that, the senior people should be the one that observe such a problem (including Project Manager and Scrum Master) there are big chances that they are to focused on the project itself and to ignore the other things that are happening around them.
In the end, any person that observe this behavior should go and discuss with one of the senior people that is more open and ready to listen them.

What we can do?
Be careful how you attack this problem. Going directly to the team and saying something about this might offence them and create a negative wave between them. You might even end up with a team that splits.
You might want to have different approaches, based on people personality. For some you might want to discuss with individuals about how they might need to focus also on sharing and offering support. Not because it is needed, but because otherwise they will not have time to focus on more important things. For others you might need to go and putting as a task to offer support.

Goal
The main goal should be to have a team where people make time to support and help others. Even if you have a lot of on your head, you need to find a balance between how much time you focus on your own task and how much time you give support.
The right balance is different for each of us based on our roles, skills and projects, but I think that seniority should come with 3 things:

  • Knowing to delegate tasks
  • Offering interesting tasks to others also
  • Make time to support other team members


Final thoughts
Supporting others not only help them, but also helps you!
You shall avoid ending up with a team where people are afraid to ask for help.
Sharing is charring.

Comments

Popular posts from this blog

Windows Docker Containers can make WIN32 API calls, use COM and ASP.NET WebForms

After the last post , I received two interesting questions related to Docker and Windows. People were interested if we do Win32 API calls from a Docker container and if there is support for COM. WIN32 Support To test calls to WIN32 API, let’s try to populate SYSTEM_INFO class. [StructLayout(LayoutKind.Sequential)] public struct SYSTEM_INFO { public uint dwOemId; public uint dwPageSize; public uint lpMinimumApplicationAddress; public uint lpMaximumApplicationAddress; public uint dwActiveProcessorMask; public uint dwNumberOfProcessors; public uint dwProcessorType; public uint dwAllocationGranularity; public uint dwProcessorLevel; public uint dwProcessorRevision; } ... [DllImport("kernel32")] static extern void GetSystemInfo(ref SYSTEM_INFO pSI); ... SYSTEM_INFO pSI = new SYSTEM_INFO(

Azure AD and AWS Cognito side-by-side

In the last few weeks, I was involved in multiple opportunities on Microsoft Azure and Amazon, where we had to analyse AWS Cognito, Azure AD and other solutions that are available on the market. I decided to consolidate in one post all features and differences that I identified for both of them that we should need to take into account. Take into account that Azure AD is an identity and access management services well integrated with Microsoft stack. In comparison, AWS Cognito is just a user sign-up, sign-in and access control and nothing more. The focus is not on the main features, is more on small things that can make a difference when you want to decide where we want to store and manage our users.  This information might be useful in the future when we need to decide where we want to keep and manage our users.  Feature Azure AD (B2C, B2C) AWS Cognito Access token lifetime Default 1h – the value is configurable 1h – cannot be modified

ADO.NET provider with invariant name 'System.Data.SqlClient' could not be loaded

Today blog post will be started with the following error when running DB tests on the CI machine: threw exception: System.InvalidOperationException: The Entity Framework provider type 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer' registered in the application config file for the ADO.NET provider with invariant name 'System.Data.SqlClient' could not be loaded. Make sure that the assembly-qualified name is used and that the assembly is available to the running application. See http://go.microsoft.com/fwlink/?LinkId=260882 for more information. at System.Data.Entity.Infrastructure.DependencyResolution.ProviderServicesFactory.GetInstance(String providerTypeName, String providerInvariantName) This error happened only on the Continuous Integration machine. On the devs machines, everything has fine. The classic problem – on my machine it’s working. The CI has the following configuration: TeamCity .NET 4.51 EF 6.0.2 VS2013 It see