I am currently running a team of 5 VB.Net developers and have decided to make a switch to C#. The team builds and maintains around 20 different applications that run our whole platform, so the code-base is fairly moderately sized.
There are several factors for making the switch, but the biggest is to overcome recruitment issues. VB.Net developers are hard to come by in our region and over the course of this year we will be recruiting 3 or 4 more. I work with several recruitment agencies to find talent and the feedback is fairly overwhelming for this point. All of our developers already have C# experience, so I have no concerns there.
My question is not so much about the viability of switching to C#, as we are already certain on this, however what I need advice on is the approach. The way I see it there are several options:
- We use the team to convert the entire code base at once and then work in C# moving forward.
- We factor in time to convert smaller chunks of the code base during project development.
- We outsource the conversion to another agency
- We employ a new C# developer and get them started on the conversion whilst slowly migrating the team over
I'm sure there are companies who have had to make this switch in the past, so really hoping someone has advice from experience.
The question (for clarity): What is the best approach for migrating a team from VB.Net to C# with all of the considerations above?