3 Factors that will help you decide whether you should pick up coding during COVID-19
Recently, some colleagues from work as well as friends reached out to me and asked me for advice on how they could learn to code and where to start. Especially, during COVID-19, many people want to take advantage of the lockdown time by picking up a new skill like coding. In this blog post series, I want to explore and give you insights from a business student’s perspective of my coding journey and recommendations if I would start all over again.
Should you learn to code?
In the end, this is a very personal question that you should answer for yourself and there is no straight yes or no to this question. I believe that motivation, resilience, and the value you get out of it are the three main factors that will help you to answer and explore this question by yourself and find out if learning to code is right for you.
1. Level of Motivation and Interest
To learn to code is most often a long and intense journey and it starts with some initial spark of interest in the topic. While I cannot guess or understand your initial spark of interest, let me share some of my motivations and interest that got me started and that you might share with me:
Curiosity in how technology works and evolves over time
Having assembled and disassembled computers by myself when I was young, I found it always interesting to learn and understand what RAM, a hard drive, or a processor do in a computer and how the internet works and why everyone is moving to the “cloud”. At the same time, I find it fascinating to read about SSD storage, 5G, Blockchain, or any other big buzzword that people throw around. Ultimately, when you start programming chances are you will explore some of those topics a bit more in-depth, such as…
- Scraping data from a web page on the internet
- Storing data in a database
- Deploying a web application in the cloud
The secret and mysterious superpower of Artificial Intelligence
You will never have seen this photo from the person above before since the face nor the person exists. An AI created this new face from scratch using a generative adversarial network.
With advances in AI, computers are getting better and better at beating humans in various things:
- Deep Blue beats the world chess champion (1996)
- Watson beats humans in Jeopardy! (2011)
- AlphaGo became the first computer Go program to beat a human professional Go player (2015)
- Facebook and CMU’s ‘superhuman’ poker AI beats human pros (2019)
- OpenAI’s Dota 2 AI steamrolls world champion e-sports team with back-to-back victories (2019)
In short, I wanted to learn and better understand how computers do this and also see if I could learn to build something less advanced yet powerful that is somehow a bit magic like the AI applications in various examples.
Entrepreneurship, Data and Big Tech
Studying business, I found it fascinating how companies leveraged technology and new business models to build immense value and disrupt many industries, such as Uber, combining Twilio (messaging), Google Maps (geolocation), and stripe (payment service) to disrupt the whole taxi industry. Wanting to start my start-up, I wanted to understand more how they use technology, code, and business models to build powerful platforms.
While motivation gets you started, your resilience will decide whether you stick and continuously build your programming skill or stop midway and decide that it is not for you. While I think it is hard to generalize for everyone, a developer journey let me share some of my key moments during the journey.
The honeymoon period
After the initial pain of setting yourself and your machine up, most often beginning to program is most often fun, easy, and enjoyable. The instructor or book lays out all the concepts, explains concepts and you just follow along with almost no pain.
The painful bigger projects with almost no guidelines and help
At some point in your journey, you will feel the first frustration when you go up a level and have to apply concepts yourself in a bigger project with little guidance and instructions. Having no idea where to start or being stuck on a problem for a very long time with little or no progress is a programmer’s everyday life. Here is the point where it is easiest to quit. Get used to StackOverflow and googling every small problem until you finally crack it.
Taking a vacation from coding
Chances are that at some point you will take a longer break from programming. While taking a few days off is not a problem, you will realize that already after a week you barely remember what you did in the previous week. Therefore, you must make programming a habit and try to write code at least a few times a week. Once you got a hang of it GitHub has a nice feature and shows you visually how active you are at pushing code to GitHub:
Going down a rabbit hole that never ends
Another recurring pattern I found was wanting to start with a new concept like web development and having to read and understand so many other concepts that in the end I was not even sure where I started:
- Initially, I started to understand the difference between the frontend and backend of a web application.
- This topic led me then to choose between many of the available web frameworks.
- From there I got drawn into the discussion of using microservices vs. monolith applications and
- How to deploy a web in a Docker container.
After some point, I barely remembered where I started and felt like I made little to no progress on actually creating a web app. This initial big learning curve of having to understand a lot of new concepts and ideas and how they are connected when starting with a different topic is also a key element of the coding journey.
Knowing how to code or having some basic knowledge in Python or SQL, I believe can help you to differentiate yourself from other business students with little or no technical skills.
If a typical person can do a mental task with less than one second of thought, we can probably automate it using AI either now or in the near future — Andrew Ng
Traditionally, most business degrees focus on a lot of soft skills and topics like the marketing mix with the 4ps or Porter’s Five Forces, having solid technical skills can make you stand out at your next internship or full-time job. I noticed that having good soft skills and knowledge of common business concepts was important, but that it was my technical capabilities and knowledge that helped me to stand out and differentiate myself from others during internships or at work.
I believe that business schools are also noticing this trend and start offering students more classes in which they can build more technical hard skills to prepare them better for future jobs. If you can combine your technical skills with your business knowledge you can deliver immense value to future companies such as being able to…
- Automate simple and manual office tasks (e.g. sending reports or emails, creating documents, or clicking through a process in a browser)
- Understand possibilities and use cases to generate new insights out of existing data with machine learning (e.g. customer sentiment, churn prediction, forecasting, etc.)
- Make informed decisions on what technology to implement or push in your company (e.g. RPA vs API solutions, cloud vs. on-premise or open-source BI tools like Metabase vs paid BI tools like Tableau)
- Being able to have technical conversations with developers and understand technical requirements and challenges
If you are motivated and interested in coding, believe that you are resilient enough to the many challenges along the coding journey, and believe that it can really bring value to your career and blend in nicely with your acquired skills from your business degree, you should learn to code as a business student!
To get started and learn the many ways on what language to learn and how to learn it check out my second blogpost: