Programación: ¿en dónde me recomiendan estudiar?

Publicado en 'Estudiantes' por Timeafter, 11 Ago 2022.





  1. Timeafter

    Timeafter Miembro nuevo

    Registro:
    8 Ago 2022
    Mensajes:
    2
    Likes:
    0
    Temas:
    2




    Hola, amigos de ForosPerú. Tengo una duda en esta oportunidad, acerca de la programación. Me interesa mucho aprender, también he escuchado sobre Python (un lenguaje simple pero muy demandado).

    Tengo algunas dudas y un plan algo estructurado:

    Primero. Quisiera estudiar una carrera de programación. En un inicio, algo no tan complejo, pero que me permita trabajar y ganar ingresos cómodos -3 mil (?)- (todo en el plazo de un año). ¿Dónde podría estudiar? (no universidad).
    Segundo. Mi plan a largo plazo sí sería mucho más ambicioso y duraría más años. Estudiar más la programación. ¿Cuáles son las ramas con más futuro? ¿Qué especialidad paga más? ¿En dónde debería estudiarlo (quizá sí una universidad)?

    Otras cosas que quiero tener en cuenta: el inglés no lo domino a la perfección (sí sé algo). No cuento con demasiado dinero para cubrir gastos de estudio, pero sí pagaría por algo de calidad (dentro de mi presupuesto).

    Me gustaría leer sus opiniones y recomendaciones.
     


  2. elaviador

    elaviador Moderador

    Registro:
    4 Dic 2011
    Mensajes:
    7,192
    Likes:
    7,020
    Temas:
    33
    Inglés, si no dominas inglés estás condenado a la mediocridad. Lo siento mucho por quienes lo consideran alienación, pero English is the new Latin, y simplemente hay que aprenderlo para tener acceso no solamente al mejor material educativo, sino a las mejores oportunidades. Esto es especialmente cierto en nuestro campo, donde un equipo de desarrollo puede estar conformado por digital nomads alrededor del mundo, y entonces un peruano trabaja en el mismo equipo con un alemán, un indio, un japonés, y un ucraniano, ¿en qué idioma crees que van a crear y documentar su código? Entra a un tablero de trabajo, y vas a darte cuenta de la increíble cantidad de oportunidades que te demandan saber inglés.
    Así que, si no sabes inglés, vas a estar atado de manos y pies.
    Tu primera visión, aprender a programar, eso lo deberías hacer por internet y de forma autodidacta, desarrolla primero proyectos que te resuelvan un problema a ti, lánzate al mar, ahógate, y aprende a nadar. Por ejemplo, busca un problema en tu vida, ¿cómo llevar un control de lo que me descuentan en mi sueldo? Imagina una solución, haz tus propios esquemas mentales de cómo funcionaría, crea un prototipo (dibuja cómo más o menos se tendría que ver la pantalla), y luego busca tu lenguaje de programación favorito e intenta crearlo, si algo te falta por conocer, busca tutoriales, este trabajo trata más o menos de cómo armar un rompecabezas, donde la imagen a formar es el problema que quieres resolver, y las piezas a usar son las instrucciones disponibles en tu lenguaje de programación favorito.
    Una vez que hayas mejorado tu inglés, y hayas resuelto tus primeros problemas SOLO, entonces llega el momento de formalizar tu conocimiento, ya sea en un instituto o una universidad, eso dependerá de ti exclusivamente.
    En cuanto a tu plan a largo plazo, ¿en serio crees que es posible dejar de estudiar? El mundo cambia, y esto es cierto para cualquier carrera, no vivimos más en un mundo estático que se toma 50, 70 o 100 años en descubrir algo, hoy en día las TI se están cambiando constantemente, incluso las tecnologías informáticas se vuelven obsoletas a los 3 o 5 años. Yo aprendí mi cuarto lenguaje de programación (java) el año 2007, y hace 15 años Java 6 era completamente distinto al Java 18 que conozco hoy, apareció el operador diamante, se inventó el modulepath, se inventó JavaFX, le agregaron expresiones lambda, method references, mejoraron switch, agregaron un nuevo tipo de switch que retorna valor, implementaron pattern matching, mejoraron la API reflectiva, crearon la keyword var, pasamos de JavaEE a JakartaEE, se migró de java.util.Date a la nueva API java.time, se inventaron records y sealed classes; y no solamente Java cambió, los paradigmas también, y eso moldeó el ecosistema de Java, por ejemplo ahora que trabajamos mucho con programación reactiva ya existe ReactiveStreams, y sus implementaciones RxJava y Project Reactor, y alrededor de la programación reactiva también se han redefinido algunas API, y ahora java viene con un HttpClient que trabaja con Completable, haciendo que el programador que escribe código para múltiples hilos, se aleje cada vez más de manipular un Thread directamente, facilitándole la vida. Y eso solamente en Java, en los otros lenguajes también han habido muchas innovaciones en los últimos años, sin mencionar que se crearon varios dialectos nuevos como Node.js, incluso ahora javascript tiene un dialecto typescript que es compilado. Y para montarme a cada una de esas olas y caballos, he tenido que quemarme las pestañas, leyendo libros, manuales, etc y resolviendo proyectos personales para mantenerme al día. Y tendré que seguirlo haciendo para no quedarme obsoleto, es algo constante que todo programador necesitará hacer en su vida. De hecho, mientras estoy escribiendo esto, los muchachos de OpenJDK están trabajando en las nuevas características que Java19 estrenará para el 20/09, si me hubiera quedado con lo que aprendí a mis 11 años cuando programé por primera vez (en TurboBasic) estaría fuera de este mundo.
    Las ramas con más futuro, definitivamente tienen que ver con Bigdata, IoT y aplicaciones web, cada vez más se buscan aplicaciones web por encima de las aplicaciones de escritorio, incluso muchas apps del celular son simplemente páginas web embebidas en la aplicación, permitiendo que la interfaz sea igual ya sea que la visitas por tu laptop, o por la aplicación. Estamos en un mundo que camina hacia la inmediatez, ya nadie quiere instalar nada, simplemente abrir y usar, así que por ahí va la cuestión del futuro. Otras ramas que también tienen futuro es la IA (inteligencia artificial), que hoy en día se usa para muchas cosas que no sospechas, por ejemplo cuando te piden que valides tu DNI y te piden que le tomes una foto con la cámara del celular, eso va a un motor de inteligencia artificial que detecta las partes del DNI y las va descifrando; y la IA también está enlazada al machine learning, que permite predecir lo que necesitas antes de que lo pidas (así es, por ejemplo, como tu celular sabe que si vas por una zona comercial con muchas tiendas, es más de tu interés mostrarte una cafetería que una tienda de ropa), esa mezcla de IA y machine learning es muy interesante y también va para el futuro, especialmente ahora que tenemos los procesadores de red neural (gracias a los cuales obtuvimos una vacuna COVID en tiempo históricamente récord).
    Sin embargo, eso no se traduce necesariamente en un mejor pago. El mejor pago es más bien para los retro, por ejemplo, ya no hay programadores de COBOL disponibles en el mercado, pero los bancos y gobiernos que tienen sistemas escritos en COBOL tendrían que gastar muchos millones en migrar a un sistema moderno, por lo que prefieren contratar a un programador que maneje un lenguaje tan antiguo, y que por muy caro que vaya a cobrar jamás llegará a igualar el costo de reemplazar el sistema (este rubro de la tecnología heredada o legacy es muy interesante, y a mí me ha dado dolores de cabeza, pero una vez que resuelves el problema es muy gratificante). Y por experiencia propia, es definitivamente la rama mejor pagada hoy en día.
    Nuevamente, te reitero: INGLÉS, necesitas inglés fluido, sí o sí.
    Y finalmente, este manifiesto de la cultura Hacker, es algo que tienes que leer antes de empezar. Yo lo leí cuando ya tenía unos 18 años, y me hubiera gustado poder leerlo antes, por eso siempre lo pongo a disposición de cualquiera que quiera aprender a programar:
    https://sindominio.net/biblioweb/telematica/hacker-como.html

    Claro que, el artículo puede estar desactualizado, hay términos que se emplean en el artículo que hoy en día ya nadie conoce, pero su versión original sí está actualizada:
    http://www.catb.org/~esr/faqs/hacker-howto.html
    Por eso, es importante SABER INGLÉS.

    Pero no te preocupes, también te paso una versión más amena y moderna del manifiesto Hacker:
    https://es.wikihow.com/ser-un-hacker

    Cualquiera sea la versión que decidas leer, espero que te sirva.
    :hi: