Las 2 opciones que comentas son buenas; pero no dejes de ir a la Universidad porque tengas "miedo" del nivel que puedas tener en matemáticas, fisíca etc. ¿Quieres sacarte la carrera? Te costará más o menos, pero si de verdad te gusta y quieres la podrás sacarla. (Eso si, requiere esfuerzo personal y al principio tal vez tengas que estudiar asignaturas que crees que no sirven para mucho ).
Te recomendaría también tener un buen nivel de inglés, si puedes conseguir alguna titulación que lo acredite mejor que mejor. (Nunca se sabe dónde pueden salir las oportunidades de trabajo).
Por último, también puedes escoger algún campo/rama y especializarte. (No digo saber un poco, sino especializarte; ser un experto en ese tema o por lo menos controlar bastante del tema).
¿Te has planteado buscar después ofertas en el extranjero? (No son pocas las ofertas que hay para temas muy concretos).
Ahora te toca investigar dónde quieres profundizar, pero te quedarías asombrado de los "cracks" que hay en sus campos y no han pisado la Universidad (no quiero decir que no sirva para nada; soy de los que la defiende, pero no me vale de excusa el "cómo no tengo carrera de informático no puedo trabajar de tal" toca remangarse y trabajar duro).
¿Si te gusta programar has pensado en tener un portfolio/gitub con tus desarrollos para que realmente sepan que eres bueno? ¿Has pensado en leer código de proyectos abiertos y/o participar en ellos?
Un saludo,