Jobs outside of software development that require programming skills
Programming is no longer an exclusive domain of computer scientists. Its increasing popularity and power are sweeping into occupations that did not traditionally require coding. People are beginning to realise just how much more can be done using programming languages, which is spurring a growth in computer science education.
Graduates from business to natural science are taking up programming courses to increase their productivity. At the same time, computer science graduates are finding roles outside of pure software engineering. Here are four occupations, outside of software development, where programming skills can be applied:
While Microsoft Excel is still the standard-bearer of the industry, its popularity is being clawed away by Python, a programming language. Businesses today produce vast amounts of data that cannot be processed or analysed in Excel due to its limit of about one million rows. Python, using libraries such as Pandas, puts out no sweat in processing large datasets.
When asked about why he prefers Python to Excel, Md. Shafiqur Rahman Ridth, Assistant Manager of Reporting and Analysis at Nagad says, "We can work with Big Data, load larger sets of data compared to Excel".
Python can also be used for automation to remove repetitive tasks. When it comes to predictive analytics, Python offers a lot more control and customisation. "Python can be used to perform advanced statistics, visualisation and machine learning," said Shafiqur. Excel is limited in its ability to run machine learning algorithms.
When it comes to natural science research, programming has always been a staple due to the high amounts of data that need to be crunched. The most commonly used language in the scientific community is R. A programming language developed by statisticians for statistical computation and graphics, R's data analysis capability makes it an ideal choice for researchers. It is often used to summarise statistics for experiments.
Programming is also used to automate tasks such as creating a data pipeline in experiments. Researchers can input different variables and observe the results in a computational environment. Jahan Rahman, a research assistant at the New York Genome Center, used his programming knowledge to create open-source software that allows researchers to design customised RNAs. "Using programming, I can generate figures, parse data, and input standardised variables to get some standardized output that people can use," explained Jahan.
Operations is one of the major functions of an organisation and deals with a lot of data. Thus, being able to use SQL, a language used to handle data stored in a relational database management system, comes in very handy for members of an operations team.
Sabbir Ahmed, Manager of Digital Recharge (Market Operations Division) at Robi Axiata Limited felt knowing SQL allowed him to "reduce dependency in accessing customer data". He no longer had to bother another team to request data and that increased his work productivity. Data manipulation using SQL is also much easier compared to Excel. Sabbir also uses his knowledge of Python to build prediction models for
better customer targeting.
Normally, a new product has a response rate of about 0.01%. However, using a programming-based targeting system allowed him to get a response rate of 7 – 10%. This drastically reduced promotional costs.
Grasshopper 3D is a visual programming language used for architecture and structural engineering modelling. A visual programming language requires no scripting and is based entirely on drag and drop options to create algorithms. However, it has functionalities and follows the syntax of a typical programming language.
Just like most programming languages, Grasshopper allows its users to automate tasks. Instead of having to draw the same line or circle multiple times, an algorithm can be developed in Grasshopper to do it. "Algorithms in Grasshopper are fairly easy to make. The functions come in pre-made elements that you drag, drop and connect. It's
all very visually intuitive. It's a lot less time-intensive than manually altering the geometry," said Arnob Faraz, a North South University Architecture graduate, on the benefits of using Grasshopper. Blocks of Python code can also be added to Grasshopper.