Don't ignore software development practices, but IMO in the beginning:
1. Find a problem you want to solve. This could be an already solved problem, like a Todo app. It can be more motivating if you have a problem that doesn't have an existing solution though, but will require more creativity and design on your part.
2. Learn as little is possible to get things working, and keep on adding features. When you add features, you'll notice that some of your earlier decisions make new features harder or easier to implement. This is when it's a good time to research development patterns, because you have a very practical example of why the patterns are important.
3. Do not be afraid to re-write significant portions, or throw away code. Thinking of different ways to write you project and re-writing will give you a great intuition for evaluating frameworks (code libraries that define the architecture by which you write your code) and even writing your own.
4. In the beginning, prefer to use lower level tools (avoid to many frameworks or libraries). As you build bigger apps, you'll start to appreciate the value of the frameworks and understated where they're appropriate.
The only other thing I would say is to find a mentor. When run up against issues in your projects, it can be hard to discover the patterns you need to fix it, and a mentor can save you a ton of time.
The other is you work through a text or course before hacking stuff together. Most people don't have the will to do this, they lose interest after one or two chapters unless they are either paying for it (school) or they already have been hacking some program and want to know more, which keeps them interested in the book. There are endless book and course suggestions, pick something with a lot of exercises (most edx/moocs have too few) like PAPL https://papl.cs.brown.edu/2018/index.html only because programming is often learn by doing. No local installation is needed at first either https://code.pyret.org/
I would also recommend avoiding frameworks and libraries to begin with, until you have grasped the language. Start a project and learn while you build that project. My first project was a social network. It taught me pretty much everything I needed to know about frontend and backend development. I think the best place to get started is Udemy as they have some very detailed courses and almost always have discounts, so they do not normally cost too much.
Hope this helps and good luck.
Or learn a CMS software like wordpress, u can easily build a website using it. (but to customize it to meet your 100% satisfaction, you need to learn the above techs)
If you want to be full-stack web developer, u need to learn some web server knowledge, basics, etc. But its okay to not know it.
native app: (those APP in the ios store or Google Play)
you have to learn the native programming languages, in Android case, you need to learn Java/Kotlin, in IOS case, you need to learn Objective-C/Swift.
That's pretty much it.
Being able to sketch or wireframe initial design and step through the steps that users will do will help.
You can find excellent books on many different languages
I taught myself programming over the course of a couple of years, having started from pretty much zero. Now I am working part time as a developer for a startup, and run a business of my own - having built not just the website and app for my business, but also developed the hardware and firmware!
Below are the classes that I took to get started along with a bit of a storyline:
http://learnpythonthehardway.org/ - I started this a while ago and never finished because I got distracted. It's kind of bare bones, but will get your wheels spinning.
https://www.edx.org/course/introduction-computer-science-har... - I started and got all the way through the last problem set. This course is EXCELLENT: wonderful lectures, challenging assignments, expansive community (facebook group, reddit.com/r/cs50, stackoverflow, etc). If there was only one class to pick from this list, CS50 would be it.
After CS50, I wanted to get good at a specific language and decided to learn Python. It is a very flexible and powerful language. It's very clean syntactically making it easier to learn. You can use if for data science, for little scripts, for web development, for pretty much anything.
https://www.edx.org/course/introduction-computer-science-mit... - i started this late (not self paced like the CS50), and played catch-up a good amount of the time. A solid class, mostly did it because I wanted to get good at Python. I got most of the way though this course as well.
https://www.edx.org/course/introduction-computational-thinki... - I started this class next because I wanted to use Python to crunch numbers, and eventually get into machine learning. I made it just a few weeks into this course before getting distracted with my own projects.
It's not just about learning a programming language, but learning to program. With two hours a day, you can churn through the CS50 course in a couple of months, during which you'll build a website & webapp. It'll definitely be a challenge (it took me a couple of tries to make it all the way through), but it's an amazing course - make sure to take advantage of the huge community.
It's a nice tutorial, gradually increasing in pace. I'd recommend you beeline towards getting the certifications, and then do the exercises that lead you towards that.