I'am assuming you are 'just' developing solutions.
Your customers are only interested in a product - not tech side.
So, your goal should be: "How I can develop (and maintain) this product in the most efficient way?".
Step 1 : Get stable grounds
Pick a language that can solve most of common challenges that you will tackle.
Make yourself proficient in it.
You need to minimize time spent on thinking "how I can do it in X language?".
(You've got Java/C# skillset so most of your web skills should be around here).
Step 2 : Optimize
You've got another web project? That's great!
You just need to pick up template with all boilerplate (like: logging, monitoring, deployment, auth etc.) from last project and fill missing features.
Step 3: Extend
Now, you can finish most of your projects in seconds.
It's time to find new clients. Search for new domain - like: mobile, embedded or machine learning.
This time you can decide if your existing toolset is enough for new problems or rather, adding new one will be more beneficial to you.
Like: You can do a lot of ML stuff in C# but Python is the place where all important stuff happens.
PS:
IaaS vs PaaS
Here is question for you:
Do you like to do more admin stuff for low cost hosting?
Or do you like to focus on coding and spent a bit more money and let cloud do most of admin work for you?
It's a your time vs money optimization.
Personally, for small (scale) project I'am running with IaaS - but I already have knowledge how to do it.
For big ones - it's better to stick with PaaS - even very skilled DevOps can't single-handedly deal with big scale.
For you I would advise using PaaS since you don't have experience with neither PaaS nor IaaS.
PaaS is a lot easier to learn and you can always migrate your code to IaaS as a Step 2 :)
I am not working directly in gamedev but I have some insights.
I've seen growing interest in automated testing from mobile apps.
Basically guys were writing regression testing with framework like Selenium (UI testing) that goes throughout most common scenarios.
(I think that was described by huuugegames.com on some presentation)
The main idea was to let QA focus on "exploratory" tests. (Testing rules of the game, design decisions or performance)
TDD & BDD can be used gamedev but not in places you will think of first.
I will simplify it vastly: programmers make tools for designers to use.
Tools are made by programmers - tools can be done with TDD and/or BDD.
Games are made by designer - they use tools to make rules, systems etc.
Therefore gameplay is make mostly out of data (designer's parameters set in engine/tools) - you can't test your data with TDD/BDD.
I am not working directly in gamedev but I have some insights.
I've seen growing interest in automated testing from mobile apps.
Basically guys were writing regression testing with framework like Selenium (UI testing) that goes throughout most common scenarios.
(I think that was described by huuugegames.com on some presentation)
The main idea was to let QA focus on "exploratory" tests. (Testing rules of the game, design decisions or performance)
TDD & BDD can be used gamedev but not in places you will think of first.
I will simplify it vastly: programmers make tools for designers to use.
Tools are made by programmers - tools can be done with TDD and/or BDD.
Games are made by designer - they use tools to make rules, systems etc.
Therefore gameplay is make mostly out of data (designer's parameters set in engine/tools) - you can't test your data with TDD/BDD.
So, your goal should be: "How I can develop (and maintain) this product in the most efficient way?".
Step 1 : Get stable grounds
Pick a language that can solve most of common challenges that you will tackle. Make yourself proficient in it. You need to minimize time spent on thinking "how I can do it in X language?". (You've got Java/C# skillset so most of your web skills should be around here).
Step 2 : Optimize
You've got another web project? That's great! You just need to pick up template with all boilerplate (like: logging, monitoring, deployment, auth etc.) from last project and fill missing features.
Step 3: Extend
Now, you can finish most of your projects in seconds. It's time to find new clients. Search for new domain - like: mobile, embedded or machine learning. This time you can decide if your existing toolset is enough for new problems or rather, adding new one will be more beneficial to you. Like: You can do a lot of ML stuff in C# but Python is the place where all important stuff happens.
PS:
IaaS vs PaaS
Here is question for you:
Do you like to do more admin stuff for low cost hosting?
Or do you like to focus on coding and spent a bit more money and let cloud do most of admin work for you?
It's a your time vs money optimization.
Personally, for small (scale) project I'am running with IaaS - but I already have knowledge how to do it. For big ones - it's better to stick with PaaS - even very skilled DevOps can't single-handedly deal with big scale.
For you I would advise using PaaS since you don't have experience with neither PaaS nor IaaS. PaaS is a lot easier to learn and you can always migrate your code to IaaS as a Step 2 :)
Good luck and have fun.