Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I currently work as a programmer for an investment bank. This means being able to write multithreaded code to handle huge realtime streams of data and displaying them using minimal screen real estate. UI:s are often flexible and driven by xml configs which determine what to display and how controls interacts. For example, selecting something in a combobox will enable/show and populate a bunch of other controls. Time to market is fast, from idea to in production often is a matter of days. If you don't have experience from another financial institution it is hard to land a job, managers are skeptical of programmers outside the industry. Most server code is written in C++ and client code in C#, most moving to WPF.

I am interested in switching to gas, oil, energy sector instead. What kind of applications do programmers develop? What are the hard problems you will need to solve? What are the main languages\OS? What business knowledge are you expected to have? Are you expected to have previous experience from working at another energy company or are you just measured on your programming skills? Any books which are recommended for programmers to learn the business side?

share|improve this question

closed as too broad by Martijn Pieters, MichaelT, Jim G., GlenH7, Josh Kelley Jul 15 at 19:34

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

6  
I'm curious why you're considering a switch, especially to a specific industry such as oil and gas. Are you just looking for a change? If so, how did you pick oil and gas? –  FrustratedWithFormsDesigner May 24 '11 at 21:35
1  
"I am interested in switching to gas, oil, energy sector instead". Do you have a specific company in mind? Did you ask them? They would know a lot about their current requirements. –  S.Lott May 24 '11 at 21:39
    
I picked O & G because of location and it's an industry making loads of money which usually is a good thing for employees. I am still early in the process and have no immediate plans to switch. –  Wallstreet Programmer May 24 '11 at 22:08
11  
I've heard of "programming for the love of it", and people who say that they "will program for food". But programming for gas and oil is a new one on me :-) –  Stephen C May 24 '11 at 22:14
1  
Want to programm for gas? Ok. The most I can offer you is 15 gallons per hour, which about what a MRAP consumes. –  Job Jun 9 '11 at 4:54

2 Answers 2

From Wall Street to the Gulf, eh? Well, oil and gas means a lot of different things to different people.

It's a big industry and there's a lot of people just doing ERPs and such. Also there's some embedded development for things like "smart drills" and so on.

The heart of the industry actually lies on geology: seismics, statigraphy, reservoir engineering and simulation.

For a start, you might want to take a look at the Ocean Store, from Schlumberger. On the Ocean Store one can buy plugins for Petrel, one of the most famous software package in the industry. You can also sell plugins there. All development is done on .NET.

Other well know software stack is Landmark, from Halliburton. If I recall correctly Landmark used to run Unix workstations but I think it's also .NET based now.

There'a a lot of solutions from smaller companies and proprietary solutions around. I've met a fair share of software running on Linux and Solaris. IBM also keeps a research line for oil companies.

I'd say if you're interested in the business you ought to know more about specialized knowledge. Pick up a book called Nontechnical Guide to Petroleum Geology, Exploration, Drilling and Production. It should get you started on how this sucking oil through a straw thing works.

Good luck, mate!

share|improve this answer

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!

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.