Just to give some perspective, I'm in the last semester of my undergraduate degree in engineering. Very much worth it, definitely plenty of job opportunities... but don't be surprised when the course-load hits you like a ton of bricks, it's not an easy one to take. It might be a bit too much to assume, but one can easily claim that only medical programs are more difficult.
You'd have to look at wherever you'd acquire an education in engineering locally to determine the prerequisites, but generally it will come down to the following (as far as high school goes):
- Pure Math (applied math is a watered down course in my area, so pure is required)
- Calculus (separate from pure math, usually optional)
- Physics (the lifeblood of engineering)
- Chemistry (probably the least used for me, but a requirement just the same)
- English (because every university program requires it)
If you area requires additional testing or whatever, you'll have to look it up. The nature of it as well could very well vary by region; for me, it's an undergraduate degree you can get into straight out of high school. You can transfer into the program from another faculty (usually science), but there's a high standard as well.
---
Onto the actual engineering education itself, there is a lot of theory before you get into the meat of it -- design. A lot of the courses you take early on might not seem relevant... until the subject material shows up a year or two later in a course which actually uses them. The easiest example for me is linear algebra, which is a first year course; it wasn't used again until late third year, in numerical modelling and continuum mechanics. Before I get too far however, the first year in my area is a general program; you choose your specialization/discipline for the second year, and there are quite a few options there. Again, you'd have to check the specifics for where you are to see how it works; if you have to go straight into a particular discipline, research into which one you're interested in is a must.
I went into civil engineering myself, which is probably the broadest of the fields; it covers geotechnical, water resources, environmental (a sub-discipline of its own), transportation, construction, structural, and a few other things. My own preferrence for specialization is structural (with a side of water resources), which pretty much obliterates the rest in terms of difficulty (in an already challenging program). I've also gained a lot of interest in bridge design in particular, got a bit lucky and actually managed to cover it during my undergraduate degree.
One thing to keep in mind, and an incentive to keep your marks up, is that a few specializations have an unofficial requirement that you have a Master's Degree to get a job after you graduate; possibly because only some of the best students are willing to take them, and that there's no way to cover everything required (and their associated pre-reqs) in an undergraduate program. I found out only recently that structural was one of these (environmental is another), so I'll be looking at grad school before too long.
Don't get too intimidated by this, because it's less about raw talent as it is about work ethic. The principles of engineering aren't overly abstract, at least not past the few couple of years; once that foundation is there, you're working towards doing things well. As I said earlier, design is the meat of engineering; applying all the theory you've learned, and to do that you have to know that theory inside and out.
---
The other thing to keep in mind that you will not learn everything you need to know about engineerng in your undergraduate program. Life-long learning and keeping up to date are a must, and depending on your area liscensure may require this. For example, I'll have to go through four years of internship before being able to be liscenced.
It's a lot of work, but it's worth it.
Engineering is a very respectable for a reason.