Legally speaking, you can not call yourself an engineer of any sort without belonging to an actual engineering license credential system (since there are things like civil engineers, computer engineers, mechanical engineers, etc, in the same way you can not call yourself Esquire unless you hold a lawyer license. You can not practice law without a license, but that doesn't stop you defending yourself in a court.
For all that matters, you can call yourself an engineer to other people if you are simply making stuff yourself and not marketing yourself as a licensed one. Nobody can stop you. But you are not getting hired to build/design anything by any company that will be liable for that product.
To circle back to the story itself, Yes C# will overtake Java because C# is primarily used in game development... and cheating tools for games. Java is used by exactly one game. Minecraft. No other game out there is built in Java that has survived the constant breaking of the Java API by Oracle. C# is equally as brittle, but unlike Java, you are not required to recode your game in a newer C# unless the underlying engine (eg Unity) does.
But people should still learn C before they ever learn any other software development language because every single language in use to day either follows C syntax (Javascript, PHP) or C++ object models (Java, Javascript, PHP, Python, etc) so if you learn at the minimum C, you can pick up all other programming languages quite easily. C is the Latin to C++'s Italian and Java's French.