In General
C++ is a common denominator, and you can get insight into what companies want by going to https://gamedevmap.com/, checking the sites of a few companies that seem interesting to you, and seeing their recruitment pages.
Game engines require experience to develop, but if you get into an R&D role (where your main task would be to work on the game engine) then you are likely to make more money, have more relaxed schedules, and job security. These positions are harder to fill so they will keep you around, and for that same reason it is fairly easy to get a new job should you ever need one. Writing your own engine is a good way to learn how games work, and it doesn't prevent you from working on other projects at the same time. Just don't take it too seriously at the start. Your first engine is guaranteed to be crap, so don't treat as anything more than an experiment and learning experience.
Overall it is harder to stand out in larger companies and they consider it easier to fire junior programmers, but that is not universal. Indies are very unstable and risky. You might prefer the middle ground: Small studios. You may have more freedom to do more types of tasks in a small studio, from programming to art and music, possibly even design. It is also easier to rise in the ranks.
In general you are largely in charge of your destiny. Even in large companies you may be given some freedom if you express a desire and have a portfolio. You are also free to move to the type of programming you prefer if you want to focus on AI or graphics for example. You can seek a more relaxed schedule etc. You always have the option of finding employment elsewhere if you find a company does not work for you. The only people who stay in hellish environments are those who for some reason think it's the same in every company, and that is extremely naive thinking.
Specifics
Should I start learning c++? Yes. Most low-level code in games is C++. As companies tend to want their code bases to work across many platforms, C++ will be the common denominator regardless of the platform (Windows, iOS, consoles, etc.) . In any case, it never hurts to start learning.
If so, should I create my very own game engine? It is a great way to learn about what goes into games. Just because you are working on an engine doesn't mean you have to only work on an engine. I tend to keep 3 personal projects in parallel (one of which is an engine). There is no reason not to code anything that you want to code, unless we are talking about a mega virus to destroy bunnies.
Should I just get into one or a few engines, written in c++, and start creating a portfolio of simple games? A portfolio is always good to have and will likely be the main reason you get or do not get a job. With many jobs now asking for experience with Unreal Engine 4 and Unity, this will open doors for you. Check https://gamedevmap.com/ to find interesting companies and then check their recruitment pages to see what they want. You may not be writing C++ if you work with these engines, so be sure to consider spending time on C# or Blueprints Visual Scripting.
Or, should I get experience in more modern lenguages? Get experience in everything you can, but C++, C#, and Blueprints Visual Scripting are higher priorities.
Are there good jobs, with a competitive salary and a stable career, working with C# or python, for example? C# is useful for working in Unity, but the stability of that job depends on how long they use Unity. C# and Python are commonly used on the tool side (mesh exporter, texture tools, converters, etc.) You may prefer to work on the game rather than on tools, and with many companies relying on the tools provided by Unity and Unreal Engine there may not be as many tool jobs available. For stability you will want to have C++ under your belt, and for a competitive salary you will want to work on the harder things, such as the engine itself (also in C++).
Am I more likely to get a job as a complete junior developer? The less you ask of a potential employer the higher your chances of being employed. Ask for too high of a position or for too much money and you are less likely to get the job. You need to decide what you are willing to accept and sacrifice for the sake of getting into the industry. But once you are in the industry it seems to be fairly easy to stay in the industry, so it might be worth making a small sacrifice at the start. With no experience, you are likely to have to start off as a junior, but show them your skills and you can move up.
Are salaries and work hours getting better? Since the open letter to Electronic Arts many companies have been trying to improve, but your situation may be highly random. Someone started on the same day as myself and in the same department, but different projects. He ended up having to hard crunch for 3 months straight with no weekends and ended up leaving the company after a year while I had a very relaxed schedule. Crunching near the end of a project is normal for most teams. If you want a more relaxed schedule, go into R&D (write the game engine itself). This takes more experience so it is not option early in your career, but it requires C++, offers a higher salary, and the schedules tend to be more relaxed because you aren't trying to meet a deadline specific to the game.
Is c++ a must for a AAA company? It is the most useful, but as above you may use C# in Unity or for tools, Blueprint Visual Scripting in Unreal Engine 4 (fairly common), for Python for toolchain work. Many AAA companies are using Unreal Engine 4, which will have you using C++ and Blueprint Visual Scripting. Check https://gamedevmap.com/ to see what companies are asking of new hires.
Do indie companies treat their employees better? I tend to think of larger companies treating their employers like numbers and smaller companies more as a family. This is not universally true, but in general a junior employee at a major company is easy to fire, whereas your work on a smaller team contributes to a larger percentage of the end product, making you more valuable to the team and perhaps giving you a larger sense of pride in your work. But then you will likely be coding a game that not many people end up playing (this is a lottery shoot) which may decrease your pride in the product. you have to weigh this yourself, but since you can always move on to larger companies later and that will be easier once you have some experience, you may consider starting in a smaller studio. It's also easier to move up in the ranks at smaller studios.
Is game development just codding? Depends on you and the company. If your only skill is in coding then you will only write code, and as the company gets larger, each person's role becomes more specific. Smaller studios need more people who wear multiple hats, and it would be easier for you to ask if you could do some art or music. But they also tend to take contracts from larger companies and do not have input into the game design etc. But often enough smaller studios aim to make their own IP and grow within the industry, so if you are patient you may get a chance to design. Indie studios try to focus on their own IP from the start, which is risky, and it may be hit-or-miss whether or not they allow you to design, but they are more open to outside (outside of the design team) input than AAA studios.
But I would say the largest factor is you. When I joined Square Enix I already had a lot of acting experience so I sent a demo to one of the producers and was then allowed to do a bunch of motion captures for Final Fantasy XV, and at my next company I got to do some for Homefront: The Revolution and an unannounced game. You are largely in charge of your destiny as long as you take the steps needed to gain a skill, create a portfolio, and show others you are interested. That's how you get into programming or any other field.
L. Spiro