Skip to main content

Improve employees skills - in working hours of in their free time?

I see in many companies the culture where people should improve their technical and soft skills by they own, especially in their free time. This is not a bad thing but not all the time the skills that needs to be learned by the employee are the same with the one that the company prefers.

 Let’s assume that the employee would like to learn JavaScript and Angular.JS, but based on the company vision and forecast, you need to increase the skills on desktop application. In this case, people will be oriented to learn and increase their knowledge in the area where company needs.
Until now, we could say that we are fine, the need from the market needs to be full field by the company. Because of this there is a direct inters for it, for company and people that are working in that company.
In an ideal world, the company will invest the time from normal working hours to improve and increase the skills on desktop applications or the area where they need.
In reality we all know that the employee will need to accept a ‘win-win’ situation, where he will need to invest from his own time to improve this skills. We could say that this approach is good, because the skills of the employee increase – and this is in the interest not only from the company perspective, but also from the person.
But let’s look at the problem from a different view. The company needs to increase the skills on a specific area. There is a direct interests to do this – in the end we are talking about business and money. To be able to full field the marker demand, increase their business or even to remain on the marker they need to increase the skills on a specific area. Once they do this, they can deliver project using that technologies and/or skills that will generate automatically revenue and business.
From this point of view, a company has his own interest to increase people skills and they will see a direct revenue from this action.
In this context, should people invest their own time to lean and improve the skills based on the company needs?
There is no perfect answer. The problem is complex and we could discuss around it for days.
From company perspective, it needs the right people to deliver a project or a task. If this people will improve their skills they will gain automatically different advantages that will be seen in time in their benefits package or opportunities.
From people perspective, they will learn new stuff and their value on the marker will increase. But what is happening if you have 3 kids at home and you don’t have time anymore for learning. What if in their free time they study and play with AI and they don’t want to learn the company target skills in their time.
In the end, is their time and we need to respect it.

My opinion about this problem is in favor of people. Yes, as a company you will have different objectives and interests. You will want to have only the people that have passion and are involved 100% in their job. But, in reality, we cannot have a company with 100 or 1000 people formed only from people with passion. It is not because you don’t want to have this, but because you will not be able to find so many people with passion, gather them under the same roof and make all of them happy.
Less than 10% of people are dedicated to their work and IT. You will not be the only company on the market that wants to recruit this kind of people.
In this case, because in the end you are making a business you need to accept two things:
  1. Not all the people will want to learn and improve their skills from their own time.
  2. It is your own interest to increase the skills, because of this you should invest, not only requests (in this case invest = offer time to learn).
The learning context that you should offer during working hours should be with a clear MGO (Mission, Goal and Objectives), otherwise you will not be able to accomplish what you want.

Finding the ideal situation is hard, the perfect win-win situation for long term is even harder. Because of this a company should invest in people (in the business hours especially). And trust me, people with passion and commitment will invest from their own time (based on how much time they have). But never judge a person based on that he is doing in his free time, especially if he prefer to do other stuff then your vision.


  1. "If this people will improve their skills they will gain automatically different advantages that will be seen in time in their benefits package or opportunities. "

    If people learn other things not in the interest of the company, but in the interest of the (general) market, it still opens up opportunities for them, possibly much more (a new job or even a new career). So I see quite little advantage in learning on your own time things that are not interesting to you.

    1. 100% true.
      At home you should learn and do what you enjoy.


Post a Comment

Popular posts from this blog

How to check in AngularJS if a service was register or not

There are cases when you need to check in a service or a controller was register in AngularJS.
For example a valid use case is when you have the same implementation running on multiple application. In this case, you may want to intercept the HTTP provider and add a custom step there. This step don’t needs to run on all the application, only in the one where the service exist and register.
A solution for this case would be to have a flag in the configuration that specify this. In the core you would have an IF that would check the value of this flag.
Another solution is to check if a specific service was register in AngularJS or not. If the service was register that you would execute your own logic.
To check if a service was register or not in AngularJS container you need to call the ‘has’ method of ‘inhector’. It will return TRUE if the service was register.
if ($injector.has('httpInterceptorService')) { $httpProvider.interceptors.push('httpInterceptorService&#…

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 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.51EF 6.0.2VS2013
It seems that there …

Run native .NET application in Docker (.NET Framework 4.6.2)

The main scope of this post is to see how we can run a legacy application written in .NET Framework in Docker.

First of all, let’s define what is a legacy application in our context. By a legacy application we understand an application that runs .NET Framework 3.5 or higher in a production environment where we don’t have any more the people or documentation that would help us to understand what is happening behind the scene.
In this scenarios, you might want to migrate the current solution from a standard environment to Docker. There are many advantages for such a migration, like:

Continuous DeploymentTestingIsolationSecurity at container levelVersioning ControlEnvironment Standardization
Until now, we didn’t had the possibility to run a .NET application in Docker. With .NET Core, there was support for .NET Core in Docker, but migration from a full .NET framework to .NET Core can be costly and even impossible. Not only because of lack of features, but also because once you…