So if you are here then you must be new to coding and must have interest to learn and begin with this beautiful affair of writing codes.
One thing I can tell you that "Codes are dumb." but you are not and you can make your code smart and effective.
When to start is quite simple, as you are reading this you must already be knowing the answer and there is not any particular time to start.
Where to start might be a bit confusing for beginners but I would suggest you to begin from books of the language you want to learn, but books might not be that intuitive for all, then I would say you could watch some youtube videos and there are a lots of them on a single topic.
And how to start is not quite simple as it sounds, first you need to know what you wanna learn code for, just for academics to get good marks, to make a career in coding or just for fun and to look cool. If just for academics and fun you can go on by learning languages like C, C++, Java, Python and it will be fine but if you want to make a career then you need to know which field to target and which language and technologies to learn to make an impact.
This is not a article about a particular language but you will need a code editor or IDE of your choice VS Code preferred but you can use any and you will also need to install the compilers of the language.
There are some great websites, books and courses for learning languages and I will link some free resources below.
These videos will get you started with basics of the language.
After you learn your desired language of choice you have to practice lots of questions and can also do competitive coding on websites like Hacker Rank or Code Forces. Geeks for Geeks is one of the best website to improve your skills for any language, do give it a shot.
This article was all about beginning with coding and you only have to choose your path next if you want to be web dev, app dev, data science or any other.
I will soon make one other on complete web dev roadmap as I am a web developer.