Mi ruta de aprendizaje, cómo y qué cosas aprendí para mi primer trabajo

En este mar de tecnologías que existe hoy en día, especialmente en JavaScript, es sumamente fácil perderse y empezar a aprender todo lo que aparezca frente a ti. El camino más fácil a seguir de lo que se debe aprender, en mi opinión, es ingresando a los portales de trabajo y elegir alguna tecnología o lenguaje principal, y con base en eso ver qué es lo que está pidiendo el mercado laboral en ese momento. Con eso te puedes hacer una idea de qué y cuántas cosas debes aprender.


Antes de continuar, puedes leer este post o ver y escuchar esta información en formato de video en nuestro canal de Youtube, te dejamos el link por si prefieres este formato. 😃 👍


Hola mundo, y bienvenidos a este post.

Convertirse en un desarrollador de software, a veces puede ser muy abrumador y tomar bastante tiempo, en el video pasado entrevisté a Andrés, un desarrollador de software de clase mundial completamente autodidacta que tuvo que pasar por muchas cosas para poder transformarse en lo que es hoy, dentro del stack que él maneja se encuentran tecnologías como NodeJS, ReactJS, mongoDB, Amazon webservices entre muchas otras tecnologías.

Logo de NodeJS
Logo de NodeJS
Logo de React
Logo de React JS
Logo de MongoDB
Logo de MongoDb
Logo de Amazon Web Services

Yo también tuve que aprender un set de tecnologías para poder ser productivo y también contratado. Este video no es para que lo sigas al pie de la letra, sino para que te hagas una idea de qué camino puedes abrirte cuando quieras aprender desarrollo de software. Las tecnologías que tuve que aprender para empezar a ser productivo y contratado no fueron muchas, aunque a mí me tomó bastante más tiempo que a Andrés empezar a cobrar como desarrollador de software.

Antes de entrar yo a la universidad nunca tuve un interés por desarrollar software, me gustaban muchos los computadores, pero no sabía qué podía hacer realmente con ellos además de desarrollar videojuegos.

Finalmente, cuando entré a la universidad, me di cuenta de que existían distintos clubes en los cuales podías participar, estaba el de robótica, tarreo y el club de GNU/Linux

GNU/Linux

Los primeros pasos que empezaron a acercarme al mundo del desarrollo de software fue con Linux, no porque empezara a desarrollar propiamente tal en él, sino porque aprendí a configurar servidores y montar distintos ambientes. Servidores de archivos, impresora, servidores web fueron alguna de las cosas que aprendí, además de administración de usuarios. Esto lo hice con la distribución de Linux Centos, aunque también aproveché de jugar con OpenSuse, ArchLinux, Gentoo, Ubuntu, Debian, Linux From Scratch, Slackware, entre algunas de las que recuerdo.

Logo de Linux
Logo de Linux

En mi opinión, si tuviese que volver a utilizar alguna distribución de Linux para mi uso personal, me iría por Debian o Ubuntu, y en el caso de tener que montar servidores utilizaría Centos o Ubuntu, y la razón es que no creo que utilizar Linux tenga que ser necesariamente tedioso para poder optimizar las máquinas lo máximo posible, es mucho más barato realizar escalamiento horizontal de servidores en lugar de contratar ingenieros que se encarguen de mantener la infraestructura, además que hay muchos servicios de infraestructura autogestionada, por lo que es más valioso conocer bien un servicio como AWS o Google cloud en lugar de solo quedarse con Linux, con esto no quiero decir que no sea importante aprender Linux, personalmente creo que debes aprenderlo, pero en el caso de servidores en la nube, al menos yo creo que es más valioso saber orquestar máquinas en lugar de optimizarlas. La optimización puede venir después, pero para escalar necesitas orquestación.

Logo de Ubuntu
Logo de Debian

Y si quiers mas razones para aprenderlo te dejamos nuestro post ¿Por qué Linux es mejor para programar?.

Ya les he contado un par de veces que solo he utilizado dos ramos de la universidad, donde me dieron una breve introducción a base de datos y programación, y lo segundo que yo aprendí, en conjunto a programación, fue base de datos.

Base de datos

En la universidad vi el gestor de base de datos SQL server, con el cual nos enseñaron la sintaxis de SQL, este lenguaje es portable en un 90%, correrá en casi todos los gestores sin muchas modificaciones, aunque luego de aprenderlo nunca he trabajado con SQL server, el gestor que más he utilizado hasta ahora ha sido MySQL en cuanto a bases de datos relacionales se refiere.

Las bases de datos son de suma importancia cuando estás aprendiendo a programar, ya que en esta guardarás los datos de los usuarios, no creo que debas volverte un experto en consultas, yo no lo soy, pero sí deberás saber crear bases de datos, tablas, modificarlas, consultar sus registros y hacer cruces con los join.

E igualmente si quieres aprender cómo usar las bases de datos, te recomendamos nuestro curso SQL: Sin Fronteras para dominar este lenguaje de consultas.

Logo de MySQL

Quiero mencionar que yo no vi en mis trabajos bases de datos no relacionales hasta ya tener al menos un par de años de experiencia, si no me equivoco creo que a los 3 años de estar trabajando.

Mientras aún me encontraba en la universidad, me enseñaron pocos lenguajes de programación, vi Visual Basic, C y java. Este fue el primer lenguaje que pude entender en su totalidad porque tenía un excelente profesor de programación, aunque el primer lenguaje que pude utilizar en un trabajo más adelante fue PHP.

PHP

Este lenguaje yo lo aprendí gracias a que un compañero y amigo de la universidad nos dio clases en una ayudantía, en ese entonces recuerdo que PHP era un gran lenguaje y muchas empresas lo estaban utilizando en ese entonces, además de muchas startups estaban empezando a utilizarlo también para sus emprendimientos.

Logo de PHP

En esa época, yo no sabía JavaScript, en aquel entonces con otros colegas decíamos que programábamos en jQuery, ya que ni el hoisting o los closures de JavaScript los entendíamos del todo. Pero si le sacabamos partido al framework que estaba utilizando, Symfony 2

Symfony 2

Este es un framework de request response, es bastante completo y fácil de seguir, siempre que ya tengas los conocimientos de programación y entiendas cómo funciona ese flujo de trabajo. Yo aún recuerdo cuando en mi práctica profesional quise utilizar este framework, estuve casi todo un mes solo leyendo documentación y tratando de aprender a utilizar este framework, se me hizo un dolor de cabeza y me costó muchísimo, hubiese deseado en ese entonces no ser tacaño y haber pagado por algún curso online o libro para que pudiesen explicarte la lógica de cómo debía funcionar este framework. Me hubiese ahorrado mucho tiempo.

Logo de Symfony
Logo de Symfony

jQuery

Los más viejos conocerán esta librería, estaba enfocada en hacer lo mismo que JavaScript, pero escribiendo menos, su lema era escribe menos y haz más. Nunca pude manejar esta librería en su 100% y hace un par de años recién descubrí que tiene métodos para ser utilizada en programación funcional.

Logo de jQuery

Y ya está, eso fue todo lo que necesité saber para poder conseguir mi primer trabajo como desarrollador. Utilicé este stack tecnológico durante alrededor de 3 años, con esto empezaron a salir tecnologías nuevas como AngularJS, NodeJS, ReactJS, empecé a leer de testing automático, lo que era una API rest, pero nada de eso fue utilizado en mis primeros trabajos, era un desarrollador que a duras penas sabía MySQL, PHP era algo aún desconocido, pero pude construir un blog y Symfony 2 nunca pude utilizar todas las hermosas funcionalidades que tenía en ese momento este framework. Y no hablemos de jQuery, mi código si lo vieran hoy en día les daría vergüenza.

Si tomamos en cuenta todas estas tecnologías nos dará un total de 5, donde no era senior ni experto en ninguna de estas, a duras penas conocía la introducción a estas herramientas, pero aun así logré conseguir un trabajo como desarrollador. Y con esto ya te puedes hacer una idea de qué cosas aprender:

  • Base de datos,
  • Programación en algún lenguaje que te guste,
  • Un framework que te interese para dicho lenguaje,
  • Defenderte un poco con javascript, del cual, tenemos también el curso Aprende Javascript, HTML5, CSS3 y NodeJS desde cero para dominar este lenguaje de programación que puede darte un montón de alternativas en el campo laboral, y
  • Una introducción a administración de servidores te sumaría

Y creo que esto lo puedes aplicar para inteligencia artificial, desarrollo web, desarrollo móvil o también desarrollo de videojuegos. El siguiente nivel lo desbloqueas aprendiendo más cosas… pero con dinero y un trabajo como desarrollador de software, la vida se vuelve un poco menos cuesta arriba.


Y esto ha sido todo de este post, si te ha encantado, ¡golpea al botón de me gusta!, dejanos un comentario, y visita nuestra Academia Hola Mundo, donde encontrarás todos los cursos para formarte como un desarrollador o desarrolladora.

Y para no perderte nada, no olvides suscribirte a este blog, seguirnos en todas las redes como Youtube, Twitter e Instagram, y por último, te invitamos a escuchar nuestra música «Hola Beats«, diseñada para ayudarte a concentrarte y acompañarte en tu aprendizaje o trabajo, la puedes encontrar en Spotify y en Apple Music

¡Hasta la próxima!, y chao mundo

Deja un comentario

Press ESC to close

Descubre más desde Hola Mundo

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo