Holii
Antes que nada, te dirijo calma y te recuerdo que no te olvides de disfrutar tu adolescencia. El tiempo no vuelve y ver tanto hacia adelante puede que te cueste perderte del presente.
Al margen de todo esto, está buenísima tu curiosidad y te paso a responder:
Entiendo que recién estás aprendiendo a programar y dando tus primeros pasos. Algo que te va a decir mucha gente y que vas a odiar, pero en un futuro vas a ser uno más que lo repita, porque es la verdad, es que te concentres en aprender mucho sobre la lógica detrás de las cosas que vayas construyendo. Diagramas de flujo y pseudocódigo son herramientas a veces pasadas por alto por la gente que recién empieza y son el famoso ABC. Luego, te aconsejaría que comiences aprendiendo un lenguaje de programación de nivel de abstracción medio, como "C", que te permita implementar código en programas básicos pero altamente funcionales. Una vez que tengas muy en claro el funcionamiento de la lógica en la programación, que no te va a llevar mucho tiempo aprenderlo, quizás entre 8 meses y 1 año, ahí podés empezar a dar tus primeros pasos en lenguajes orientados a objetos, como .NET, C# o Java. Vas a ver que de a poquito, algunas funciones y procedimientos que antes tenías que pensar para implementar, se van a convertir en simples llamados a funciones o procedimientos integrados en tu entorno de desarrollo. Lo que nosotros llamamos "Niveles de abstracción".
En este paso, que te puede llevar un añito más, es cuando además podés empezar a modelar otros complementos extra, simples, como tus primeras bases de datos o maquetados visuales para futuros desarrollos web. No te aconsejaría que ahondes mucho sobre esto en este paso todavía, porque son un mundo aparte y vas a ir viendo como de a poco en realidad se trataría de varios mundos diferentes que complicarían tu capacidad de especialización.
Por último, podrías dar un paso más y pasar a los lenguajes de mayor nivel de abstracción, como Python, donde ya podrías implementar complejos modelos con pocas líneas de código. Acá ya estaríamos hablando de un paso donde te podés poner a prueba especializándote en algo en particular, como las bases de datos propiamente dichas, siendo las de tipo estructuradas o no estructuradas, y ser un desarrollador backend puro y duro. O bien tocar un poco de oído estos temas y también tener una noción clara de diseño y maquetado web, convirtiéndote en un desarrollador fullstack.
En ambos casos, te podés quedar tranquilo que especializarte en algo en particular no te cierra las puertas a futuro, sino que únicamente indicará un poco lo que luego vas a ir llevando adelante durante tu futura experiencia laboral.
Lo más importante que tenés que entender a esta altura, y te repito, es que puedas formar bases sólidas que luego te permitan versatilidad y congruencia a la hora de desarrollar proyectos más complejos, donde vas a entender que todo está relacionado con todo y parte de un mismo lugar.
Sentite libre de seguir preguntando lo que necesites. Besis y éxitos