Aprender a programar desde cero: De vigilador a programador web

A

Aprender a programar se está convirtiendo en algo clave. Hay mucha demanda de desarrolladores web y esto hace muy interesante la idea de aprender a programar desde cero por tu cuenta. ¿Sabías que puedes aprender a programar en casa?

Hugo te cuenta su historia con consejos sobre como convertirte en programador autodidacta:

  1. Inicios como programador autodidacta
  2. Organización del tiempo en el autoaprendizaje
  3. Primeros proyectos
  4. Continuo aprendizaje
  5. Nuevos retos y lenguajes de programación
  6. Recomendaciones para programadores autodidactas

1. Los inicios como programador autodidacta

¡Hola! Mi nombre es Hugo, y tal como el título sugiere cambié mi trabajo de vigilador a desarrollador web full-time.

Antes que nada me gustaría explicar algunos puntos sobre si esto es posible o no para alguien trabajando de manera full-time en puestos fuera del área de la programación.

¿Se necesita una carrera? ¿Necesitas ser un experto en matemáticas?

No me considero particularmente inteligente, tampoco tengo un título universitario en el área de IT (ni en ninguna otra por ahora), no fui a una secundaria técnica (de hecho fue artística) y no siento ninguna inclinación por las matemáticas.

Con lo que si cuento es con una gran determinación y un buen nivel de inglés.

Saber inglés no es imprescindible pero te abrirá muchas puertas en el día a día como programador y también será una herramienta valiosa a la hora de aprender.

Recomiendo mejorar el inglés (al menos comprensión) a la par de los lenguajes de programación que elijas.

Sin importar el país de origen, trabajos anteriores, situación económica o estudios, es completamente posible empezar a trabajar en ésta área mientras se tenga acceso a un mínimo de 20 minutos libres por dia, internet y/o libros.

Requisitos clave para empezar a programar por tu cuenta

  • Determinación y ganas de aprender
  • Buen nivel de inglés
  • 20 minutos libres al día
  • Conexión a internet o acceso a libros técnicos

¿Qué lenguaje de programación debo aprender?

Esta es otra de las preguntas estrella: ¿Cuál es el mejor lenguaje de programación?. El área de la tecnología es realmente amplia en cuanto a lenguajes de programación y frameworks disponibles.

Diría que la forma que me dio resultados a mi fue:

  • Mirar los lenguajes más usados actualmente
  • Averiguar los usos que se les da a cada uno
  • Intentar verme a mí mismo en el rol de cada uno.

Tener un periodo de “exploración” es de gran utilidad para encontrar un trabajo que nos guste.

Yo empecé con HTML5 y CSS3, seguido por JavaScript, con esas 3 herramientas pude armar una gran cantidad de cosas asi que es lo que personalmente recomendaría a alguien que quiere empezar.

Encuentra tu próximo proyecto de desarrollo, sin comisiones  
>> Consulta los últimos proyectos de desarrollo<<

¿YouTube, cursos online, clases particulares? El mejor método

Estudiar programación en línea es hoy en día muy sencillo. Hay muchos cursos de programación online gratis y de pago y a cada uno le funcionará mejor unos u otros.

Mis formas de aprender las áreas necesarias para ser un programador web fueron cambiando con el tiempo, pero los tutoriales en video fueron los más utilizados al principio. Tener a alguien con una voz amistosa que te recuerde que es posible lograr tu meta me resultó reconfortante y fácil de digerir.

En YouTube se encuentran grandes cantidades de tutoriales de todo tipo y de manera gratuita pero los videos de Udemy fueron los que más utilicé (en parte porque entregan un certificado al finalizarlos), y los precios iban de entre 10USD a 40USD (la mayoria es posible conseguirlos por 10USD).

Cuando necesitaba adentrarme más en algún tema optaba por libros. La mayoria gratis de libgen.io y algunos de bookdepository.com.

Los cursos en instituciones especializadas en IT (los de EducacionIT, por ejemplo) me resultaron demasiado introductorios como para aportar algo al comienzo, ya que la mayoría de las dudas que responden pueden ser googleadas fácilmente. Pero recomendaría los de nivel avanzado ya que ahí es donde resulta más beneficioso tener a un profesor disponible.

Prefiero no recomendar libros o cursos de programación en particular porque dependen de la forma de aprender de cada uno.

2. Organización del tiempo en el autoaprendizaje

Mi trabajo anterior me daba muchas horas libres para estudiar ya que tenía horario nocturno, pero no es el caso de todos.

Es una buena idea intentar ver en el día a día qué actividades son esenciales y cuáles pueden ser sustituidas por tiempo para estudiar. La hora y media de Netflix diaria no es útil para lograr lo que queremos. 

Consejo: Más que cantidad de horas invertidas, es importante crear el hábito del estudio.

Recomiendo empezar con 20 minutos diarios, tal vez durante el almuerzo o al despertarse, e ir aumentando la cantidad. Es el método que yo elegí ya que no estaba para nada acostumbrado a estudiar.

Cada semana sumá 10 minutos al tiempo total diario y dentro de poco te vas a encontrar avanzando rápidamente. Creo posible llegar a 3 horas de estudio diario después de unos 5 o 6 meses.

Si sentís en algún momento que el tiempo pasa muy lento al estudiar, y escuchar o leer al instructor es casi una tortura, sugiero cambiar de instructor.

Hay miles y miles de cursos en español y en inglés al igual que formas de enseñar, mis libros favoritos son los que logran explicar temas complejos con términos simples.

Lo importante es aprender, no cómo lo hagas.

3. Mis primeros proyectos como desarrollador autodidacta

Al principio me concentré en poder construir un sitio que me deje interactuar con su base de datos y que se vea medianamente moderno. Utilicé MongoDB, Express, NodeJS y Bootstrap en el front-end para lograrlo.

Elegí NodeJS por la cantidad de recomendaciones a su favor que vi en internet, y también porque noté varias empresas utilizándolo en Buenos Aires.

Mis últimos proyectos fueron creados con Django, ya que me enamoré de Python y la gran cantidad de herramientas disponibles dentro del framework.

Mirando hacia atrás hay realmente muchos detalles que me gustaría mejorar en mi portfolio, creo que es de mucha ayuda empezar de nuevo mientras se gana experiencia, para poder aplicarla y hacerla visible.
 

4. Continuo aprendizaje: Siguiendo con Web Scraping

Mientras estudiaba y me preparaba para eventuales entrevistas me pareció buena idea adentrarme en el mundo del freelancing en caso de que la búsqueda de trabajo durará más de lo que mis ahorros permitían.

Tomé un curso de web scraping y descargue un libro del tema, me sorprendió lo rápido que podían ser finalizados algunos trabajos. Después de un mes adentrándome en la materia decidí crearme una cuenta de freelancer en una conocida página y esperar la llegada de clientes.

Durante ésta época ya estaba enviando mis CVs a una gran cantidad de compañías mediante bolsas de trabajo, aunque con muy bajas respuestas ya que sospecho que filtran a sus candidatos por experiencia y estudios finalizados de los cuales carezco totalmente.

Me llamó la atención el hecho de que una de éstas páginas de búsqueda de trabajo publicara el email de la empresa en cada aviso y con la nueva habilidad de extraer datos de forma automática pude crear un plan:

  1. Extraer todos los emails de empresas disponibles mediante web scraping.
  2. Eliminar los duplicados.
  3. Enviar mails con mi CV y una presentación a cada email.

Utilicé Scrapy para crear una spider que recorriera el sitio y extrajera los mails, eliminé los duplicados con un simple script de Python y para los mails adapté un script que encontré en internet. Les dejo el link para que lo utilicen cuando lo necesiten aunque imagino que hay varios programas que hacen lo mismo y mejor. https://github.com/ulkish/

El resultado de todo esto fueron mails a 550+ compañías, de las cuales recibí alrededor de 40 respuestas y 15 entrevistas. No recomiendo contactar a tantas empresas en una semana, ya que tuve que faltar a varias entrevistas por falta de tiempo y se volvió difícil organizarlas. Después de 8 entrevistas entré a la empresa en la que actualmente trabajo.

5. Nuevos retos y seguir aprendiendo: WordPress

Para mi sorpresa, me contrataron para enfocarme en aprender algo totalmente nuevo para mi: WordPress.

Mis tareas ahora son crear, testear y modificar plugins y themes de la plataforma, mayoritariamentente para sitios ya existentes. Al principio me parecio extraño y algo dificil ya que no sabia PHP, pero con el tiempo y después de varios proyectos me parece excelente y me hubiera a gustado haberlo descubierto antes.

En este momento quiero aprender todo lo que hay que saber sobre WordPress y en un futuro convertirme en freelancer. Es algo que podria hacer hoy en día, pero valoro mucho tener a gente con una gran cantidad de experiencia guiando mi enfoque.

Para finalizar no creo que me hubiera sido imposible encontrar trabajo sin contactar tantas empresas, pero si hubiera tardado más tiempo.

No se desanimen si no los llaman a entrevistas, es solo cuestión de tiempo mientras van aprendiendo cosas nuevas y actualizando su portfolio. Sientanse libres de contactarme via mail si necesitan aliento, ayuda o por temas laborales.
 

Recomendaciones para programadores autodidactas

  • Empieza con 20 minutos de estudio al día
  • Sigue trabajando tu nivel de inglés
  • Lee y escribe mucho código. Cuanto más, mejor
  • Aprovecha los cursos online gratis / económicos
  • Participa en proyectos de código abierto
  • No tardes en crear tu cuenta en GitHub
  • Aprende sobre metodologías Agile
  • Participa en foros o discusiones (Stackoverflow)
  • Encuentra problemas y resuelve programando
  • No pierdas las ganas de aprender
  • Suscríbete a blogs y tutoriales para estar al día
  • Practica constantemente

¿Estás listo para empezar en el mundo de la programación? Esperamos que esta historia te haya inspirado.

Ofrece tus servicios a clientes internacionales. Conecta sin comisiones 🚀


Pic: © Portfolio Hugo Moran

Hugo Moran

Hugo Moran es un programador web basado en Buenos Aires. Disfruta utilizando su tiempo libre para aprender sobre Linux, automatización, web scraping e inglés. Actualmente está trabajando como desarrollador WordPress Junior en convistaalmar.com.ar/. Correo: dev.hugomoran@gmail.com

Por Hugo Moran

Entradas recientes