How A Finance Major Picks Up Programming In Python

So I wanna learn programming as a business major, but I only want to learn things that [are/can be/might be] useful for my job. Where do I start?

Yes, it’s just like the English mania that stormed Asia in the 90s all over again. Since former U.S. President Barack Obama unveiled his Computer Science for All Initiative, people have been asking whether we REALLY need to learn programming. If you are looking for the answer to that question here in this post, you are free to go now, because you won’t find it.

For whatever reasons you (as a business major) believe that you need to or want to learn programming, this post offers a guide to learning just enough to help you work with better efficiency.


Having worked in 5 financial institutions as an analyst/intern of the lowest level, I am well aware that junior staffs working in the business sides of the business (Did I just say that?) are oftentimes tasked with lots of mundane and repetitive tasks, such as updating certain excel spreadsheets daily that involves following some intricate N-step process designed by the predecessor you never had the chance to meet, or downloading data from some ill-designed websites by clicking “next page” for 200 times.

I still remember that in 2014 when I was an intern in a US investment bank, I was asked to do exactly that: clicking next page for 200 times and copy data from the table to excel. If only I had Taiwan Structured Product Information Scraper, I wouldn’t have had to spend 6 hours on that.

Enough rambling. Let’s get to the point.

How to learn just enough programming to help my job as a business major?

Learn how to use Google.

If I ask you to download the eBook of Michael Lewis’s Liar’s Poker in .mobi format in 5 minutes. Can you do it? If not, you don’t really know how to use Google, so go ahead and learn it

(by the way, you shouldn’t download pirated books online, please respect others’ intellectual property rights)

Learn Basic Python

I recommend Introducing Python: Modern Computing in Simple Packages. Read Ch.1 - Ch.8. It’ll teach you the basics of the basics of Python, and no it won’t be interesting. The basics of everything is not fun. It merely prepares you for the fun parts that are to come, if you persevere.

Practice Python Basics with 2 Projects

Read Python Crash Course: A Hands-On, Project-Based Introduction to Programming.

Quickly finish Part 1: Basics. They should look very familiar because you have learned most of them from the previous book. Use this opportunity to review and reinforce the basics. Work on Project 1 and 2 from Part 2 of this book. You will be utilizing what you’ve learned on actual projects that are less-boring than just printing various numbers and text on the terminal!

Learn to Work with Data

Study Section 1 to 13 on Udemy’s Python for Data Science and Machine Learning. Before you pay whatever price is shown to you on Udemy’s website, please use your Googling skills and find coupon codes online. I paid USD$5 for the course, so you shouldn’t pay a lot more than $5.

Learning Numpy and Pandas is essential because a lot of junior analysts get tasks that involve working in spreadsheets with couple thousand rows. Sometimes it’s faster to just sort the data in Pandas, and sometimes it’s faster to just do it on Excel, depending on the circumstances. Feel free to skip the machine learning part of the course, it’s only teaching you how to use libraries without going deep into the theories and math of machine learning.

Learn HTML/CSS/JavaScript

If you want to learn how to scrape data from websites automatically, you should learn the basics of HTML, CSS, and JavaScript, the building blocks of any website.

Go read:

These two books serve as very decent introductory materials for the topics. Only after understanding how HTML/CSS/JS work together as a whole will you be able to scrape websites efficiently, with Python.


If you want to go further, google the topics below:

If you eventually want go all-in and learn computer science, this is an awesome repository that lists every single subject/topic that you need to become a software engineer.

Happy coding!