how would I go about getting a job as a game developer, what skills would I need and is it worth it? I have heard that getting a company job such as Valve is better than an indie job but I don't know much about it, which is better?
Game development is a challenging and competitive industry. More than most other software development fields, it pushes technology to its limits to get the best possible performance. Game developers need to be good programmers. Some impotent programming skills commonly used by game developers are:

 - **Low-level programming:** It is important to have a good understanding of how details of computers work, as you will often need to do calculations as efficiently as possible. Languages like C++ and C# that give better control over execution details are commonly used for games.

 - **Algorithm optimization:** A key factor in making code that runs efficiently is using proper algorithms. This takes an understanding of computational complexity and data structures.

 - **Graphics programming:** 3d graphics are a key part of most modern games, so developing them often requires understanding how graphics are rendered and the math behind it.

Building the skills to be a developer generally takes years. Most jobs will expect you to have a degree in computer science or a related field.

Game development jobs are often more demanding, less lucrative or harder to get than jobs requiring similar skills in other industries. On a purely financial basis, the job may not be the best choice, but if you want to work on games, it may be worth it for you. Also, if you decide to leave the industry, these skills will be transferable to other jobs.

As for getting a job with a large, established studio like Valve, compared to a small independent one, both have their advantages. Large companies tend to lead to more stable, better paying jobs. At a smaller studio, you are likely to have more creative freedom and influence on the games you work on. If the small studio is successful, you will be in a good position to grow with the company. If it is not then you could be out of a job. Which one is better depends on what you value most.