Here is a list of the roles generally offered in proprietary trading companies. Note that The role of A trader could vary from company to company and the duties for one role could involve aspects from all the ones below.

Trader : Generally a trader would develop and execute proprietary trading strategies  using the firms capital . This term however is generally a bit too broad and needs a bit more specification.  Also a Trader may trade over different types of assets,commodities, options etc.

Quantitative Analyst/Research : These group of people tend to work closely with traders in order to explore trading ideas, build mathematical models and in generally find new methods to make trading more efficient.

Algorithmic Trader : This is a special class of traders that mainly focus on developing a set of rules and criteria under which strategies are developed. Trades are placed and executed based on the algorithms developed. These types of trading would usually involve mostly technical analysis (analysing chart patterns and price patterns) and in a smaller degree fundamental market analysis.

Risk Manager: Risk Managers are an essential part of any trading company as they  tend to find ways to help the company manage it’s exposure ,identify other potential risks that could could occur from various factors (eg abnormal market movements, economic news,inflation) and develop ways to protect the company from such incidents. They must set ways to measure such risks ,set some buffer levels and establish adequate risk management procedures that would be activated when crucial buffer levels are triggered. Risk managers also supervise the exposure of the company’s funds to various asset classes determine if there is a need to hedge and suggest accordingly.

Software Developer/ Automated Trading Programmer: Those are usually the group of people that will take the ideas and strategies generated by the 4 groups of roles mentioned above and automate them by generating in a software that  will follow the algorithms set by the algorithmic trader. It is clear that good programming skills are needed for this role (C++/C#, Java, Matlab, VBA, etc.)

High Frequency Trading (HFT):  This is a subclass of automated trading. High Frequency Traders develop trading algorithms and strategies that tend to detect price inefficiencies and determine what the price will be at the next second. They tend to write codes and develop software that would perform millions of trades per second. Highly expensive super fast computers are used for this purpose. High Frequency Trading is critised for market abuse as the enormous volume of trades it places can have the power to manipulate market direction.  So the main difference from they the other trading classes is the fact that your strategies aim to predict what will happen in the next few seconds rather than the longer or mid term