• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

Absolute Novice

Hi sir... Uh... Wankalot?

From my own experience researching various mfe programs (and reading these forums for quite some time), the biggest hurdle for non-math majors is a lack of math courses. This includes calculus (at least up to multivariate calc) , ordinary and partial differential equations, probability theory, linear algebra, and usually some combination of stats/numerical analysis. There could be one I'm forgetting as well.

As far as books go, you should do fine with the complete guide to capital markets. Although its quantitatively oriented, not much math knowledge is needed to follow. Also, I feel like I should recommend "how I became a quant" by Lindsay and schnatter, it's a good introductory read that follows 25 quant-type people.

As far as programming goes, I'm really only experienced in c++ and R, so I can't tell you where to go next. It definitely helps though to have concrete evidence of your knowledge by acing a few c++ classes or getting a certificate like the one offered on QN.

Good luck! And if it seems like you have to take a lot of maths, well, you do, but I did almost an entire math degree in just over 2 years so it's by no means impossible. Feel free to PM me if you have any questions.
I agree with Andy_B that a lack of math is a major hurdle; this is evidenced by the mention of taking math in almost every education thread here.

Focus on learning 1 or 2 programming languages really well. C++ is probably what you should learn and if you know that then picking up another language later shouldn't be a problem.

Check out the recommended reading section of the forums and don't forget to check your university library for books and save yourself some money.

Get an internship in finance and/or one involving heavy programming.