You're asking something that humans can't do well. Imagine for a moment that you decide to learn a new spoken language. Even with the utmost dedication and mentors, after six months, your knowledge will be very biased towards the fragments of communication and aspects of the language your mentors focused on during your initial learning phase.
Even if you already knew some words, and naturally also considering you already know a different language, and that these whole reading, writing, and talking things aren't new to you, it would still take you more than six months of exposure and practice to be considered the equivalent of a "professional" on that spoken language.
Natives would still hear some accent, and grammar wise, you'd still need to learn beyond textbook examples to scratch at the surface of how the actual humans communicate and use the language you're learning.
Now back to "professional programmers". The term is used differently depending who/where/when you ask, but if your intention is to be paid for it, my professional experience suggests that your just need to pick an area that interests you, find which technologies are often used in that area, and using online resources, communities, and above all, your free time, to get the basics. From there, what is going to help you is honesty. Don't try to be a senior in five years. First it's not worth skipping the fun parts. And second, people who have been "speaking" that language (or technology) for 20 years, can and will be able to tell the difference sooner or later.
If it's (mostly) about money, then pick any web tech (like react or similar) and you're going to find that the market is always looking for those with varying degrees of seniority.
If it's more about I really want to be a senior developer, then I'm afraid there's no shortcut for most people. The best your can find is motivated seniors willing to mentor you; and while that will still take time, it will definitely get you pointing in the right direction faster than a person who doesn't have access to such pool of people.
Good luck!
Also, apps on modern Android are mostly sandboxed so they wouldn't be able to "block" your phone on their own unfortunately. You could have one that You make/install that could do "things" but you'd be really limited without root access to your phone.
As for the phone locking when you plug it, you can make an app that detects when the phone is being charged. What I don't remember is if you can force-lock your phone from user space Android-provided APIs. Keeping it on while plugged is possible by checking the appropriate checkbox in the developer settings "keep screen on when plugged".