I started writing my own simple programs just 2 months after writing my first line of code. Not long after, I decided to post my progress on medium, open my own repository where I could publish my code, and start specializing in Machine Learning.
Learning how to code was probably the best decision I made in my life. Now that I got into the industry, all my current working life is based on my coding proficiency. The reason why coding is still essential for anyone who wishes to work in computer science is that there are no easier alternatives to it.
Will low-code/no-code interfaces replace coding?
If you place your hopes in future no-code development to avoid learning how to code, your optimism may be misplaced. No-code interfaces require much more time to create than coding solutions, they are usually under the control of some companies that may decide what and what not to implement.
Simply put, with code you can do everything because there isn’t a higher level of detail you can reach. Some solutions may require more time and can be a pain in the ass to make, however, coding allows you maximum flexibility. No-code interfaces, on the other hand, are limited to the implementations that are built on the platform: if the developers haven’t created a tool for something specific, YOU ARE STUCK. If you know how to code, in the worst-case scenario you can create a mini-solution yourself.
How long does it take to learn coding?
Many people think it requires more than one year to learn how to code. They could not be more wrong: it requires more than one year to be an expert at one computer language.
Short answer, about two months. Coding, like most things and processes, follows the Pareto distribution principle: with 20% of the syntax, you can do 80% of the stuff. Python, for example, has several features, even quite advanced, that let you manage your own object system and let you modularize all your code quite elegantly.
However, is unlikely that you are going to work on complex objects, including inheritance, during your first year. You can do a lot by simply learning the basic principles of the language, statements, functions, and simple objects.
Which computer language should I choose?
As you have already seen, there is a huge choice of computer languages you can choose from. Use this principle: a computer language gives you access to different technology.
Python and R, for example, allow you to work on statistics, Machine Learning (AI), and simulations. They also have visualization libraries but are mostly used for analytics and model creation. Python is one of the most popular languages.
Javascript, instead, it is mostly used to create front-end (website graphics), and is definitely not specialized for Machine Learning, as it does not provide any linear algebra library. This library, however, is so popular that can be used for many different purposes outside of website creation, including Blockchain.
Solidity is a language that allows you to create smart contracts on the Ethereum blockchain. To send them to the blockchain you will need to use Javascript.
Last, but not least, C++ is a very common language in videogame development. Most of the graphic engines (Ex. Unreal Engine 4, Unreal Engine 5), use their own version of the C++ language for hard programming.
How do I start?
Should you buy an expensive course? NO! I learned how to code for FREE, because all the knowledge is available online (in blogs like this one, for example) or on Youtube. If you are new, I can suggest you this Youtube channel to get your first coding basics.
A last suggestion: do not install Python on your PC. Nothing wrong with it, but in the beginning will just slow you down. Work on remote, you can use repl.it or Google Colab on your Google Drive, even better if you use a Python Notebook to start experimenting with your code (if is Python).
If you need any suggestions, or you need to talk, I am always online in my discord community! I will write more posts with some tips on how to land your first job as a Data Scientist.
Thank you to Apollo for the great suggestions on how to improve the article, he is running a blog as well!