24 February 2020
Most of us, who do not belong to the field of computer sciences, are painstakingly unaware when it comes to the world of programming languages and are afraid to even try and attempt to understand it. There are alphabets, and numbers, and symbols, all working together to form a giant web of disarray (or an artistic masterpiece; depending on how you look at it). We might have had a brief encounter with them in our school life, but have since looked the other way whenever presented with an opportunity to learn more about them later on. However, in doing so, we forget that coders and programming languages have fundamentally changed the way of life.
Coding is making a shift from side-stream to mainstream. A recruiter might no longer judge an applicant by the degrees he/she holds, but the knowledge and experience in a particular programming language. A working understanding of a programming language takes a few years of practice before one can manage to comprehend a code, and therefore an individual with these skills at their disposal can have an upper hand amongst an increasingly competitive world.
As technology becomes more and more integrated into the core business of an organization, we are increasingly witnessing the rise of an in-house tech team to manage the day to day functioning of the code base, similar to that of an in-house finance team. Computer programming as skill is therefore evolving from a field that used to be open exclusively to engineers, to a one that is a prerequisite in any and every industrial spectrum. As automation tools, web designing, statistical modelling, AI and machine learning become integral to the functioning of organizations, the knowledge of a programming language is increasingly becoming a “must have” qualification for any new applicant.
It is difficult to think of a job role today, which cannot be automated by a piece of code in the future. From portfolio management and digital marketing to medical diagnosis and legal advisors, almost all job roles are ripe for disruption sometime in the future.
Recent advancements in technology and automation are disrupting some of the traditional roles in the finance industry. Stock picking which was ones a highly coveted skill, is now being pushed to the corner as pension funds, retirement plans, and even retail investors are moving towards passive funds that run on autopilot. Accounting is no exception. In recent years, we see the implementation of Artificial intelligence and Blockchain technology slowly taking over the accounting industry. It is only a matter of time before people with no knowledge on computer programs start struggling to get a job. Whether you are in banking, risk management, portfolio management, or any other field of finance, your role either already requires or will soon require you to be able to program in at least one programming language. As businesses become more and more automated and technology driven, finance professionals with programming skills are going to be in demand and can help you stay relevant in the job market.
Not only finance, but with the digitalisation of society, marketing too is experiencing a renaissance. Marketing jobs are increasingly dependent on the need to be able to create, modify and maintain websites. Everyone seems to be fighting for customer attention on every social media platform, which can then lead to revenue via advertisements. Therefore, Digital Marketing roles nowadays require you to possess programming skills, especially when it comes to Search Engine Optimization (SEO). SEO is the process of increasing the quality and quantity of website traffic by increasing the visibility of a website or a web page to existing and potential users.
For medical practitioner, the advantages that come with the ability to code are tremendous. New healthcare applications and platforms are arising faster than ever before, many of which, founded by Doctors and Nurses themselves. In an era of electronic medical records and telemedicine, it is handy to be technically proficient. Doctors could therefore leverage their combined knowledge of computer science and medicine to tackle the rising complexity in health care problems. Tech-savvy doctors at Stanford Children’s Hospital in the United States launched a mobile program in 2015 that allowed diabetic patients share their blood glucose levels with their providers and caregivers. In 2019, they designed a new mobile app to help patients quickly find a doctor, call for an appointment, access their medical records and navigate the hospital campus (Healthier.stanfordchildrens). All across the globe, hospitals have built apps to study asthma, Parkinson’s disease, autism, epilepsy, breast cancer and other ailments (Kqed.org).
The roles played out by an architect and a programmer are also quite similar. One designs the physical spaces around, while the latter designs virtual user interfaces. Coding could thereby help architects explore new architectural forms and investigate how architecture can evolve and adapt to the ever-changing. Usually, design tools use various complex automation routine algorithms, which many architects fail to understand, hence their usage of the tool is limited and their overall efficiency is reduced. However, if they know exactly what these algorithms represent and how they influence the outcome of a geometry, they can make much more conscious and efficient decisions in the design process.
Moreover, managers with a knowledge on programming would not only be able to have better discussion with developers, but will also be able to conveying instructions with clarity. It would also give them the knowledge to try to better the code as well as solve minor issues on their own without depending much on the developer.
At their most foundational level, programming languages all serve the same purpose, which is to turn human thoughts into binary code of 1’s and 0’s that a computer understands. However, on the surface, where humans interact with them, they vary a lot. With a strong need for unique and diverse programming languages, it is virtually impossible to create a single universal programming language that meets all needs. Moreover, programming languages are often revised and even combined with other languages over time, in order to meet the evolving technological needs. A programming language is therefore a tool for humans to express ideas to computers. A tractor-trailer, a bicycle, and a Tesla are all vehicles. They all have wheels and steering and will get you from point A to point B. However, we use them for different things. Programming languages are similar. Beyond mere utility, developers choose tools based on personal tastes. Because there are many choices for good programming languages, developers can select the one that works the best for them.
Most of the popular programming languages under discussion are “open source”, which means that no one owns them and no one profits out of their use. Open source software refers to the software, which uses the code freely available on the Internet. The code can be copied, modified or deleted by other users and organizations. It is developed by a combined effort, under which programmers from all over the world improve upon the code and share the changes with the public. As the software is open to the public and several people work on its improvement, the result is that it constantly updates, improves and expands.
Closed source software on the other hand means that the software is a proprietary and closely guarded code. Only the original authors of software can access, copy, and alter that software. In a case with closed source software, users do not purchase the software, but only pay to use it.
There are numerous general and all-purpose programming languages, each with their own specialties, advantages and disadvantages. However, while the democratisation of coding and assistance from vast code libraries has made it easier to become a coder, other developments have made life more challenging for professional coders. An ever-evolving technological environment means skills need to be updated frequently and client prefer coders with mastery of multiple languages, also called full-stack developers.
The Evolution of Programming Languages (% of programmers using the language)
Source: Stack overflow, Marmore Research
Python has seen maximum adoption in the finance industry because of its ease of use, and a large number of open source libraries available that you can use to incorporate into your programs. Some of the largest investment banks and hedge funds have used it to build their core trading and risk management systems. Python is also very suitable for data analytics, which is at the heart of finance.
There are also several specialized programming languages, used for their edge in specific tasks. These include programming languages such as Haskell, and statistical programming languages such as MATLAB and R programming. Haskell is a functional programming language with application in many industries and applied in many projects. For example, ABN AMRO used it in a project where they wanted to measure the counterparty risk on portfolios of financial derivatives for their investment banking activities. MATLAB and R-Programming are statistical languages and are a great add-on along with a general programming language such as Python. R has a great developer community around it and very interesting packages to help users perform a variety of analysis. R also has good support for big data analytics. We have also seen a rise in specialised programing languages that are built into a financial software. For example, TradingStation, a technical analysis software, has a trader’s programming language called EasyLanguage, which allows you to create and modify indicators and trading strategies.
Apart from programming languages, there is also a high demand for database management professionals. SQL, which is a language of working with databases, helps to effectively store, retrieve, and modify data from the databases.
For individuals willing to expand their knowledge base to best prepare for any future uncertainties, a useful strategy would therefore be to learn Python/Java Script (a general-purpose language), R-programming (for specialised statistical abilities) and SQL (the top database query language used in most organizations).
In summary, we have a variety of programming languages and this diversity makes interesting programs, interesting companies, and interesting careers possible. The world that we are currently living in, and the world that is slowly unravelling in front of our eyes, is and will increasingly be dominated by these pieces of codes. It is a language, which not only helps us interact with the physical world, but also with the digital world in our day-to-day lives. Technological revolution stops for no one and disruption in the core fundamentals of any industry is the major driving force in its evolution. This disruption gives birth to new job roles and individuals with dynamic abilities would be the ones to capitalize on them.
Top 20 Programming Languages in 2019 (% of programmers using the language):
Source: Stack overflow, Marmore Research
Never miss a patch or an update with Marmore's Newsletter. Subscribe now!
ESG and Sustainable Investing might seem to be related but both are distinct concepts. The GCC nations transition towards cleaner energy portrays a buoyant outlook for ESG and sustainable investing.Read More
The impact of the recently issued IFRS sustainability standards, once adopted, is likely to be high, as GCC companies scramble to allocate adequate resources for the adoption.Read More
The GCC countries have increasingly focused on privatization of state-owned enterprises to reduce dependency on oil and diversify their economies.Read More