Before IWC2006 and Scrobal kills each other. Let me chime in a little. I think this thread started with a very confusing, limited definition of IT for "high-end" "low-end". Please remember, the word IT cannot adequately describe what you are doing in your job. IT is very diverse with various areas, skills required. I think a more proper way of classifying the different IT jobs is by the skills, experience that is required. I'll try and generalized these below, please add more or correct any mistake I've made.
Nasa,aerospace, Defence, skills needed to participate in this is very high, you also have to worry about security clearance in order to be a in this IT sector. On top of your usual skills in software development skills, you also need to have knowledge on how other components works. EMP, in case of a nuclear strike. Aerodynamics of an airplane. Heavy encryption, protocol to avoid revealing information to the enemy etc. What scrobal means in this case is that skills needed for development in this area is very niche. How many software developer out there has a Phd in nuclear physics, aerodynamics to start developing a software to be used in a nuclear powered submarine, plane, vehicle? That is why there is a premium in hiring people like these.
Easier to define this as 'niche' or 'non-commerce' software. Again, this is not restricted to high tech science & engineering, even those CGI / robotics technology you seen in Hollywood movies are considered very niche skills. I'm sure there's a number of Smart Australian developers are working in this space
Banking/Financial sector. From a software perspective, its all about transactions. Think about how many transactions you can push over the server, DB etc. What is interesting here is that, you also have to have some knowledge, experiences in banking/finance in calculating, crunching these transactions. Think of the Stock exchange, how many brokers are there in it that has to key in buy/sells on multiple companies with different options/derivative/stocks/short/long. The skills needed here, on top of your usual software skills, is understanding how the bank/finance works. I think what IWC2006 is trying to say is that this can be as complex as a Nasa, defence development, its just different knowledge, skills that are needed.
Actually is more then number crunching, you have to understand how business data can be structured in a database for commercial use down to the business unit level. There's cases where different clients want different things. In certain cases, the algorithm of translating securities data for certain financial instruments, such as derivatives - can be highly complex and require a lot of analysis and logic programming. One of my architect spent months just to develop a algorithm just to help the business automate the report generation process for a big client. The source code are thousand of lines and don't know how many brain cells have been killed (he's half bald already). Thus, u can never call IT development in the financial industry as 'low-end' as we are dealing with billion of dollars exchanges and settlement every day across borders. Seriously one need not be in the high-tech industry to consider as 'high end' or niche because by itself banking & finance has so many complex ever changing products thus only those work in this industry understand the complexity. Thus, when it comes to recruitment and selection, those with the financial industry often viewed highly and they can branch into any industry but those who don't will experience difficulties competing with those already in this industry.
I have a couple of others "Areas" in mind. But I think I'll leave it for others here to fill them in.
Application development, user space software like Office.
Embedded development, kernel space software that works on dedicated boxes devices. Think, your home router, television, fridge, printers.
Web development, website development that uses Java, .net, AJax, Php, Perl etc? This the latest trend of cloud computing, server, client interactions. It also muddles the water a little now with application development. Think of google office, google chat, google wave.
Helpdesk, user support, IT support for user, only skills here seem to be a willingness to tell users to push the reset button.
Note: each "areas" has its own high-end, low-end stuff that you can do in it. At the end of the day, if you can solve a company problem while others can't you will be paid big bucks for your effort. My uni professor once said, employers hire you not because you have a degree, but that you can show problem solving skill. This is more important then a degree from NUS.
One more thing, the question on contractor. I think being a contractor or perm is really a very personal choice. Employers would hire a contractor for various reasons. Some contractors are in the market just because they think they can earn more $$ out of it. They don't have any real skills to speak of. Some are actually very good and are hired because of their reputation for helping companies solve their problem. That is why they can survive even if every job is short-term. If you are really good at what you are doing, and has the right network, connections, being a contractor definitely pays more in the long run. If you just want to relax, not bothered earning every single cent out there, need more quality of life with family, then being a perm is a better choice. Personally, I'm aiming for a family, there is just too much in life to just work. I'm not getting younger anymore.