Most of the answers to these questions really depend on the nature of the shop you'll be coding for. These are commodities shops so they'll probably have a focus or main line of business their activity revolves around. Questions that come to mind are:
- Are they actively trading on the fuels, the power side, or both?
- Do they own any generation? If so are they big into renewables?
- To what extent to they outsource their IT? Are they big on using consultants from companies like Accenture?
- What is their trade reconcilliation system? (e.g OpenLink's Endur)
- Who are IT's customers in this shop (e.g. Asset Mangement, Prop-trading, Portfolio Management, Operations)
- Perhaps this isn't even a merchant setup? Maybe a utility? (emphasis will be on customer management) Or perhaps an ISO? (more analytics) The mindset and the apps will be very different depending on the role of IT in each.
If you zero in on those then you'll have a better shot at getting answers to your questions. In the meantime I can tell you about my own experiences in a merchant setup with generation and trading activity mostly on the power side.
- What kind of applications do programmers develop?
Our IT doesn't really have programmers developing apps. We've mostly relied on 3rd party apps. Development usually revolves around pushing and pulling data from the databases (Oracle, SQL Server). The closest thing we have to developers are the guys at the Quant Desk who work on valuation, power/fuel analytics, and transmission analysis.
- What are the hard problems you will need to solve?
On the power side: Where will congestion in the network occur and how can I give the traders a fundamental view on it using the market data from sources like ICE, the ISOs, Ventyx's Energy Velocity, and the daily marks recorded by people on the trade floor. Lots of work associated with data mining due the large amount of price data associated with the nodal markets there too. Traders in power tend to be close to the data so apps they'd be looking for help them understand congestion and put on intra-day positions.
On the fuels side: Developing a workflow that deals with supply demand balances, fuel burns, and agent based models of market participants. Less data heavy stuff and more about building a view on commodities and supporting the activities of fuel analysts. Keep in mind that pricing on stuff like coal just doesn't really feel like commodity pricing. You can go for a few days w/o PRB moving at all. :) OTOH, oil prices are truly acting like a commodity and prices are moving around pretty fast. It's very dependent on the fuel you're talking about.
For the generation:
Interactions with the ISO need to happen and that's part of Ops. Usually something like Pi. Submitting bids, creating bids, collecting heat rates and other plant specific parameters. Emissions and REC pricing..
For the portfolio:
How to calculate a gross margin, how to manage a correlation matrix, the volatilities, cash flow work are all standard fare but the liquidity usually isn't there so you gotta deal with a lot of regressions to fill in the blanks with pretty shoddy data. That's all gotta be managed and dealt with as part of your end of day process. IT's usually heavily involved there.. Often there is a highly customized portfolio management tool that's been developed in-house. If not then using a product from a company like Ventyx is used.
- What are the main languages\OS?
We use Python mostly. VB in Excel and Access are for the non-coders on the floor. TSQL and Oracle are where the IT guys get involved.
- What business knowledge are you expected to have?
You should know the basics like what is an ISO? How units are scheduled. What an LMP is. Know the basic contracts and hubs. How the various parts of the business fit together to participate in the markets.
- Are you expected to have previous experience from working at another energy company or are you just measured on your programming skills?
Generally yes.. It makes selling yourself easier for sure. For example if your working with a group that deals with FTRs then you'll DEFINITELY get props for knowing about and dealing with shadow prices, LMPs, etc..
- Any books which are recommended for programmers to learn the business side?
I'd go with 'Energy Trading & Investing' by Edwards: http://www.amazon.com/Energy-Trading-Investing-Management-Structuring/dp/0071629068 It's not too deep into the analysis and lets you know how the different parts of the industry all fit together. If you went though it you'd be a leg up on pretty much everyone else in IT and be able to talk sensibly with the guys on the trade floor or the analysts or whatever. Basically that'd make you a rock star in my book. :)
HTH and good luck!