Python journey

I started reading this python crash course book because programming is something I have always wanted to do. So much so that I am applying to an MBA this Fall and want to take some programming course so that I can get a more tech-focused role while still maintaining finance in my title. It's been really cool so far and actually not at all that difficult. Is there anything anybody recommends I do to keep practicing? I would love to get to MBA in a year from now with a solid base of knowledge.

Trynna reach out to the maybe not so present SWE on WSO

 

If it isn't difficult then you're not really challenging yourself.

I got done with a intro to programming in Python course not too long ago and here are some of the things we did.

1. Scrape text data from a bunch of different wiki pages and then use that to create a k-nearest neighbors model to compare articles against one another by their content. Once you have the data the only modules used were numpy to build the matrix.

2. You can find data on how wiki articles are linked to one another. After parsing this data into a graph you can create depth first and breadth first search algorithms that you can use to find different paths from any article to another.

3. Recreated a very basic version of Page Rank utilizing recursion.

If you want to go into finance then most likely what you'll end up doing has to do with data. Given that, you should really practice working with different data structures. Can you build nested dictionaries and then iterate through the different levels of them to perform various calculations?

 

These are some great examples. The best way is to start by doing real projects and just googling your way through how to do this or how to do that. IMO the leet code type algorithm practice isn’t super applicable for the type of analysis done in most of finance. For more quant type roles it can be useful, but not always.

 

Really interesting. And good point. My book seems to focus on very literally practicing only what I just learned within that specific chapter. So like create a list of favorite cars and writing a message to loop through the entire list is one example. Lol very nooby stuff I know. Not really applying it to anything worth showing off unlike you. This is the book I have --> http://bedford-computing.co.uk/learning/wp-content/uploads/2015/10/No.S…

Can you get a little more specific with what's your role and how programming applies to your daily work routine? 

 

Seems like a good book except I would skip the last section on web apps (for obvious reasons). I don't have personal experience with this book below but looking through the table of contents it looks like a good one for data analysis. The key is finding one that focuses on data structures and the algorithms used to explore those structures.

https://www.oreilly.com/library/view/data-structures-and/9781118290279/

My work right now isn't actually very programming intensive. Just some models built in Jupyter notebooks along with stuff in excel I am now working on redoing/improving in Python. I am getting my masters in data science to learn and hopefully end up learning some skills that allow me to build out the data analytics group at my company so we can leverage more real time data pipelines. Right now I mainly build and trade simple supply and demand based trading models in the commodity space.

 

You want to do your masters and stay within your current role? Or slowly take on more programming responsibilities that might not have to do with trading? Because I was hoping for something that could focus more on financial services with a side of programming to perhaps help with the huge amounts of data. So, maybe not a complete data scientist role like you seem to going after. 

 

Leetcode is the best way to build programming intuition, become faster in implementing ideas, learning and applying fundamental data structures, practice recursion etc. There is nothing that completing basic projects gives you that Leetcode doesn't. You get immediate feedback and there is a plethora of code and discussion around every problem, from which you can build your repertoire of logical structures and paradigms

 
Most Helpful

First off, congrats on learning python. It puts you on the right track for a lot of business situations in the future. 

I have been programming for the greater part of my life (started as a child with BASIC, went to a technical high school where I took formal classes, have written a million programs as a professional, etc), so I will give you my view from that perspective. You are getting some good advice above (stack overflow, leetcode, code your own project, etc) but I'm going to get a little more "meta" on you.

One of the greatest things an instructor taught me is that programming is not about a language, it's about a thought process. It's about knowing what you want to write and the components (not code) that you need. So it all comes down to having a very, very solid understanding of your control processes (like IF statements) your continuous processing (like loop statements) and the like. Don't think in code, just think about the flow and the ifs and loops you need for that. If you can think of your projects in this way, then you can come up with a plan for what a program should look like before you write it.

Here's the mind-bender: If you can see a program in that way, then does the language really matter? Virtually all languages out there have control and loop statements, right? So if you're really building skills at programming then you should be able to write in any language relatively quickly. You should just be able to google how to write these statements in X language and create the same program in multiple languages very quickly. 

So, that's my advice to you, pick another language and learn that too. Take a project that you have in Python and start to write it in another language. When you can do that in a very quick way then you have really mastered programming and it will help you in all the languages you know. It's one of the first steps in creating "the world as an abstraction" and gives you the confidence to code just about anything you want in the future. 

Good luck!

 

Yeah, I picked up Python because I also realized how businesses are going to have to leverage more of it down the line. I have to say I totally agree with what your professor taught you. The book I've been reading (link is the in the second comment) places importance on just thinking ahead and writing down comments on your code explaining your thought process so you can kinda guide yourself to the end goal, which is the same across multiple languages. Stop worrying about making the code look pretty or making sure the code is "right" and just worry about getting to the finish line.  

Thanks for your advice

 

What are you going to use it for? There's a huge difference between casually using a language like Python for writing small scripts and ad-hoc solutions for problems at hand, and writing (software) industry standard software. The former merely requires you to take a programming and python 101 class, and getting to know the various libraries. The latter requires deep and intimate knowledge with the actual language, firm grasp on fundamental CS theory, and then obviously more Software Engineering related topics. 

It is absolutely possible to write the shittiest and slowest code imaginable, if your data and scope is small. Once you start building stuff others might use, or even you will use as a regular tool - writing robust code becomes more important. 

Either way, good luck - I love using Python for everything from smaller and quick/dirty problems, to medium sized projects. Used it for around 10 years now, and development is rapid. Use it daily for lots of data analytics work. 

 

Maybe more so on an ad-hoc basis than anything for now since I'm going to be practicing it on my own for the next year (until I would eventually start classes), but then maybe geet good enough that I can actually share my work with others. Would love to use it to make my work faster especially when working with data for example so kinda like you. 

Could you mention what you do and how you use python in the work place? 

 

I'm a CPA who taught himself some Python and am now working in a more data-oriented role. The best way to learn, as others have already alluded to, is to tackle real problems you encounter in your workflow and write a script to solve your problem. This usually means breaking your problem down into smaller steps and then figuring out what functions or which package within Python can execute that step for you.

For example, in accounting/corp fin work, a lot of the work is centered around aggregating a bunch of canned reports from different systems, cleaning the data, and then performing some calculations to create a consolidated report or some sort of analysis around the data. The problem with this is that it's time-consuming to do this every month and it's not necessarily an easily scalable process, depending on how large the org is, because Excel doesn't handle spreadsheets with 500K+ rows very well. The way that I therefore taught myself was by breaking down my month-end process into smaller steps, google/youtube/stackoverflowing how to solve each substep, and then pressure testing my script against previous months (to which I already had an answer for) to see how well it worked.

Note also that while the above is perhaps the best way to learn independently, there's a huge difference between using code for situations like that and formal software development. I'm sure there's all sorts of code I write that's extremely slow to process and/or wouldn't scale well with much bigger datasets or in a production environment where speed and efficiency are vital. Nobody cares in finance/accounting if my script takes 1.5 hours to run because it's still faster and more accurate than doing this manually for 4 hours, but that's not necessarily true for folks designing applications, for example. 

 

Et voluptas repellat animi suscipit debitis. Explicabo tempore quo sunt ut odit reprehenderit.

Quis modi odio vero quo dignissimos. Dolor culpa sequi aliquam mollitia omnis ipsa impedit. Odit deleniti nulla distinctio nemo inventore.

 

Tenetur magni maxime aut dolores laborum harum qui. Aspernatur fugit dolor optio porro qui officia et. Dolores sit quasi tenetur enim voluptatem natus.

In nulla sapiente laboriosam distinctio sed. Quibusdam sit placeat consequatur eum iste a.

Porro sint molestiae facere accusamus provident blanditiis dolores. Ut ullam ea perferendis ut et sed labore praesentium. Quia officia quia at corrupti consequuntur. Dignissimos autem praesentium incidunt sequi laboriosam architecto. Eligendi quis similique et cum voluptatem ullam aut. Fuga inventore modi sed aperiam iste nisi repellendus.

Career Advancement Opportunities

April 2024 Investment Banking

  • Jefferies & Company 02 99.4%
  • Goldman Sachs 19 98.8%
  • Harris Williams & Co. New 98.3%
  • Lazard Freres 02 97.7%
  • JPMorgan Chase 03 97.1%

Overall Employee Satisfaction

April 2024 Investment Banking

  • Harris Williams & Co. 18 99.4%
  • JPMorgan Chase 10 98.8%
  • Lazard Freres 05 98.3%
  • Morgan Stanley 07 97.7%
  • William Blair 03 97.1%

Professional Growth Opportunities

April 2024 Investment Banking

  • Lazard Freres 01 99.4%
  • Jefferies & Company 02 98.8%
  • Goldman Sachs 17 98.3%
  • Moelis & Company 07 97.7%
  • JPMorgan Chase 05 97.1%

Total Avg Compensation

April 2024 Investment Banking

  • Director/MD (5) $648
  • Vice President (19) $385
  • Associates (86) $261
  • 3rd+ Year Analyst (14) $181
  • Intern/Summer Associate (33) $170
  • 2nd Year Analyst (66) $168
  • 1st Year Analyst (205) $159
  • Intern/Summer Analyst (145) $101
notes
16 IB Interviews Notes

“... there’s no excuse to not take advantage of the resources out there available to you. Best value for your $ are the...”

Leaderboard

1
redever's picture
redever
99.2
2
Betsy Massar's picture
Betsy Massar
99.0
3
BankonBanking's picture
BankonBanking
99.0
4
Secyh62's picture
Secyh62
99.0
5
dosk17's picture
dosk17
98.9
6
CompBanker's picture
CompBanker
98.9
7
GameTheory's picture
GameTheory
98.9
8
kanon's picture
kanon
98.9
9
Jamoldo's picture
Jamoldo
98.8
10
numi's picture
numi
98.8
success
From 10 rejections to 1 dream investment banking internship

“... I believe it was the single biggest reason why I ended up with an offer...”