Coding 'hype' isn’t going away
The Financial Times reports this week that JP Morgan is putting new analysts through coding courses (JP Morgan’s requirement for new staff: coding lessons). While no doubt a helpful positioning exercise in this incredibly competitive part of the hiring market, it speaks to the efforts of practically every bank to raise the base skill set across their organisations.
But what about those already well into their careers without any ability to code? How hard is it to learn? And in a non-technology/quant role is it really that necessary to understand code – either today or to maximise career potential?
Some views on this - in two parts.
On the question of ‘how hard’, having spent the past 6-months learning Python and R – with zero previous experience – I’d make the following observations.
Firstly, chances are, if you work in finance, you are familiar with code: you just may not view it that way. But anyone who has completed even a simple calculation in Excel; put in place an email filter; or retrieved information using commands from one of the many relational databases organisations maintain (normally in something like SQL), then congratulations, you’ve coded! Languages such as Python, Java and R just offer a greater degree of capability and flexibility than traditional data management tools.
Secondly, aversion to coding is often a function of not knowing which language to learn. Thankfully, this choice is getting easier, mainly because it’s increasingly being made for you. While every language has its uses - and vocal proponents - Python is rapidly becoming the go-to language for anyone wanting to roll coding capability into a non-code specific career. It’s also fast becoming the must-have language for anyone wanting to pursue any form of data science. In a recent article in The Economist (Python is becoming the world’s most popular coding language, July 26th, 2018), it notes that Americans googled Python more often than Kim Kardashian in the past 12 months. Next stop, reality coding….
Then comes the issue of navigating all the related set-up. Anyone new to coding will soon find themselves asking the question, ‘I’m here to learn Python, what’s this got to do with Anaconda, Jupyter Notebooks, Spyder, iPython and the like?’. And that’s before we even get into pandas, statsmodels, numpy, scikit-learn, matplotlib and so forth. It can be very confusing. For those used to working environments where a new software package gets pre-loaded and uniformly rolled out with minimal input from us, the world of open source, collaborative software development takes a bit of getting used to. In a very good way. In fact, this is one of the key benefits of learning to code, but more on that later.
But is it that difficult?
So, having become comfortable with the idea that coding is not that new; chosen a language; and downloaded all the related software, back to the original question: how hard is it to learn the basics of coding? The answer is….it’s actually not that hard.
Something to keep in mind is that thanks to the generosity of time and effort by the broader coding community, learning to code as a generalist is not so much about building code from the base up. Increasingly it’s a case of understanding which of the many open source packages – developed specifically for languages like Python – to use. And when to use them. For example, anyone with a semi-basic understanding of Python can now run complex machine learning algorithms via a library such as TensorFlow, but that doesn’t mean you should.
There are also a few important caveats (sorry).
- Like learning anything new, you need to throw yourself into it, which means later nights and a lot less spare time. That’s why courses and degrees work: they force a timeline, focus and structure that otherwise requires a large amount of self-discipline (keeping in mind that in this situation we are talking about non-technologists learning to code on top of full-time jobs, as well as maintaining time for families and friends).
- Just because you have developed a bit of coding capability doesn’t make you an expert at it. For me, it has brought even greater appreciation of the quality of skills of our technology and quant teams. Learning to code empowers your ability to collaborate; it doesn’t militate against it.
- The adage that you never stop learning is very apt when it comes to code. Especially given growing access to data, computing power and associated machine learning algorithms.
Finally, being able to code – even at a basic level - is one thing. Knowing which problems to solve; and being aware of the responsibilities that come with it (think data ethics) is another thing altogether. However, it has to be easier to progress the latter if you have the former. Which might be reason enough to pick up coding; it was certainly a strong motivating factor for me.
[I’ll follow up separately on the question of 'how necessary' i.e. how to judge whether the late nights and lost weekends are worth it.]
Associate Director, Quantitative Analysis at National Australia Bank
6 年A very nice article, thank you. I would add that it is very helpful when specifying things for your IT expert to code up to be able to express the logic of what you want in code of some sort. Helps communication and checking in a form you can both understand. This is not doing the IT person's job for them ... they will code more efficiently.
Credit Risk
6 年Great article..really helpful. Thanks
Curious learner, trusted strategy advisor & Business Development at LTIMindtree
6 年Tim, good on you to put this article together. I work for a technology organisation and it is my aspirationa to code. This helped a lot. Thank you.
Business & Technology Professional | Financial markets | Data strategy | Product development | Software development
6 年Thanks Tim, it is great to hear about your story. I will watch on with great interest. A few things from my experience, it is very hard to make up hypothetical problems to solve in code, I wish I was that creative! Using real world problems is very difficult too, if was that easy, surely someone else would have solved it by now? Hence structured learning (course/degree) is the easiest to measure and feel success. I really think there is an opportunity for the way people with ideas / problems work with developers can be disrupted.... I hope all the hard work and long hours pays high dividends!
Technology Project Manager at ANZ
6 年Thank you Tim never viewed coding this way before. Can’t wait for your next article.?