Picking a Programming Language

Mark
4 min readDec 13, 2018

“I am an investment professional (/analyst) & want to learn how to code. Which programming Ianguage should I choose?” I have been asked this question so many times by colleagues and others in the investment industry, who are looking to get into coding. This post aims to answer this question.

Two camps of people & who this article is for. There are generally two camps of people who ask this question.

Majority of people fall into the first camp. aka the ‘wanna-be New Rich’ camp. They are looking to “build an app” & become part of the uber-cool “New Rich” (NR) camp. The “NR” is a group of people who have become wildly successful in the era of the internet. Warning: If you are looking to “build an app” which will make you a ga-zillionaire (*), you are better off reading the 4-hour Workweek by Tim Ferris for a 10th time and any of the thousands of online articles on “How to build an app in 24 hours”. Point is, this article is not for you and you should not be wasting your time reading it.

(*) ga-zillionaire: a person who lives in a five-storey mansion, sprinkles their breakfast with locust dust & sports a mermaid in their fish tank

And then there are the select few who form the second camp. aka the boring camp. The geeks who are simply looking to increase their productivity at work. Yawn. Typically, these are technically strong individuals who love spreadsheets and data. Yaawwn. They have built in-house, proprietary financial models or automated business processes in Excel. Yaaaaawn.

If you read “Yeah”, instead of “Yawn” and your heart skipped a beat as you read “financial modelling”, then this post has been written just for you. Congratulations, you are a geek.

Excel — Awesome. Until it no longer is. Your world is Excel. I know. You love it so much, you probably have been thinking about naming your first child “Excel” or “VBA”. It’s a relationship that has been built over years and stood the test of time. But like any long-term relationship, some cracks are beginning to show. And this time, “it’s not you, it’s me” is appropriate.

The dark sides of Excel.
Have you ever tried creating Monte Carlo simulations in Excel? Or, merged together multiple data sources into a single file and ended up with a 50+ megabyte Excel file? Or, tried pulling financial data automatically from a website, transform it so it can be used by your “[put your awesome blackbox model here]”? Congratulations, you have ventured into Excel’s underbelly and it is not pretty.

Polygamy is the answer. I am not suggesting you ditch your relationship with Excel. Instead opt for an on-the-side, possibly even after-hours, relationship with coding. That is what I did & it changed my life. It will let you go places you have not been before. Best of all, it is fun.

The paradox of choice
You are super amped about learning to code, but here comes the first hurdle. You can choose from dozens upon dozens of programming languages. The list is endless. There is Java, C#, Perl, Python, Go, R, Ruby, C++, Kotlin, Javascript, Swift. It feels like the picking the right language is super important as this will lead to either success or failure. The reality is quite different.

It does not matter. The truth is…it simply does not matter. I know, that is a frustrating answer. But on your journey towards becoming a coding guru, picking Python over Java, or C# over Kotlin is irrelevant. All of these popular programming language will help you solve business problems. That is their raison d’existence. So stop researching, pick any of these & move on.

But here are some tips to pick your first language. The “it does not matter which language you pick” answer is as satisfying as vaping is for smokers. So here are some tips to choose your first language.

If your company has an in-house software team.
Ask them & choose the language they have opted for writing the business logic.

If your in-house software team sucks. Does not matter. Still pick the business language which is used. It will be easier to deploy your application into an environment, which has been optimized for your chosen language.

If you or company makes use of a lot of Microsoft office products.
Choose C# (this was my first language)

If you hate Microsoft.
Choose Java.

If you are looking for a language which has a lot of existing mathematical libraries
Choose Python.

None of the above appealing? Go with Google’s “first-class” language pick
Choose Kotlin.

Pick one. And then have some fun. I will be sharing some pet hobby finance projects (yaawwn) in future.

If you like this article, please give it a clap.

Thanks
Mark

--

--