← Back to my blog

Cómo volverse un excelente programador, cosas me hubiera gustado saber cuando empecé


Cover Image

Hace unas semanas sucedió algo especial: el 8 de octubre. Para todos los demás eso no significa nada, otro día normal. Para mí, por otro lado, fue mi cumpleaños de desarrollo de software.

A principios de 2014, mi mejor amigo me recomendó que comenzara a aprender programación porque vio que estaba triste y cansado de seguir una carrera que realmente no me gustaba. Comencé a aprender C por mi cuenta, experimente un poco con C++ y finalmente comencé a leer "C# In Depth" según la recomendación de mi amigo.


El 8 de octubre de 2014 me uní a un programa de capacitación en C# impartido por Accenture (lo llamaron su campo de entrenamiento), 1 mes después estaba trabajando como desarrollador de C# Junior y comenzó mi carrera en software. Mucho ha cambiado en los últimos 5 años, Microsoft se volvió de código abierto, JavaScript se convirtió en un lenguaje serio y no solo un juguete para sitios web, la programación funcional comenzó su regreso, toneladas de tecnologías han nacido y murieron ante nuestros ojos.

Muchas cosas también cambiaron en mi carrera: pasé de ser autodidacta a bootcamp, a cambiar de universidad para dedicarme a la ingeniería de software, abandonar y finalmente continuar la ruta autodidacta. Desde trabajar en contabilidad hasta convertirme en desarrollador de software, trabajar durante 3 años en mi país natal, Argentina, para buscar una vida mejor en un lugar del que no sabía nada, y mucho menos hablar el mismo idioma, la encantadora y lluviosa Bélgica.

Después de reflexionar sobre el camino que me trajo hasta aquí, no puedo evitar pensar en las buenas y malas decisiones que he tomado. Aquí hay algunas cosas que desearía haber sabido cuando comencé:

1. ¡Ve a meetups, conoce gente nueva, haz amigos!

Las personas subestiman la importancia de las relaciones personales y la comunicación en el desarrollo de software. Algunos creen en esta idea de un desarrollador genio 10X que codeara 24 horas sin dormir y creará magia. Este es un sueño imposible. Somos excelentes en lo que hacemos cuando colaboramos entre nosotros, cuando desarrollamos relaciones humanas que nos permiten crear grandes piezas de software. Estas relaciones nos ayudan a crecer, aprender cosas nuevas (no siempre relacionadas con el software, pero igual de valiosas) e incluso progresar en nuestras carreras. Si no fuera por un amigo mío, probablemente sería un contador muy triste.

2. Leer libros técnicos.

Siempre preferí los tutoriales y los cursos en línea, pero desafortunadamente no cubrirán el conocimiento fundamental que llevará sus habilidades de desarrollo a un nivel completamente nuevo. Durante los últimos 2 años he estado comiendo libros técnicos, "El programador pragmático", "Código completo", "Código limpio", "Refactorización", lo que sea, sólo desearía haber comenzado antes. Hay tanto conocimiento escrito por profesionales en la industria y es una pena no mirar un poco sus cerebros.

3. Centra tu aprendizaje en el conocimiento agnóstico del lenguaje o framework.

Este está relacionado con el anterior. Claro, hay un nuevo framework de JavaScript todos los días y la gente está luchando por ponerse al día. Bueno, no lo intentes. No es posible ni vale la pena. En lugar de enfocarse en los framework, enfócate en la arquitectura, el diseño de sistemas, incluso los paradigmas de software. Los lenguajes y los framework son solo herramientas que utilizamos para crear productos, cambian todo el tiempo, las técnicas que utilizamos para crear software evolucionan a un ritmo mucho más lento y pueden ayudarte a cambiar de un stack a otro con facilidad.

4. Siempre tenga un proyecto personal al lado.

No puedo enfatizar lo suficiente lo importante que es esto. Claro, codeas 8 horas al día en su trabajo diario y podrías estar pensando, "¿por qué necesito codear en mi tiempo libre?", Bueno, hay una serie de razones.

  • No siempre estará claro qué quieres hacer con tu carrera. Cuando comencé, pensé que quería ser un desarrollador móvile. Me llevó un proyecto personal creando una aplicación de reembolso de gastos en Xamarin se darme cuenta de que esto no era lo que más me interesaba.
  • Las habilidades técnicas se vuelven obsoletas rápidamente en esta industria, por lo que debes probar otras cosas y tener una buena idea de lo que hay fuera de tu zona de confort.
  • Puede ser una muy buena manera de crear un portfolio personal, mostrarle a un empleador potencial que eres un apasionado, un solucionador de problemas y tienes un buen conjunto de habilidades.
  • Si la comunidad nota los proyectos, puede ser una excelente manera de conocer a otros desarrolladores, hacer conexiones y amigos.

5. Aprende algo de Ciencias de la Computación.

Si eres un desarrollador autodidacta como yo, probablemente no quieras tener nada que ver con esto. Bueno, tendré que reventarte la burbuja. Aprender algunos conceptos clave hará que tu vida sea mucho más fácil para el aprendizaje futuro. No digo que los necesites para ser un desarrollador, pero después de conocerlos, se convertirán en los componentes básicos que utilizarás para aprender nuevas tecnologías y patrones. Pasé 2 años estudiando ciencias de la computación mientras trabajaba como desarrollador, no mucho, pero fue suficiente para ponerme en contacto con conceptos como álgebra booleana, grupos, grafos, árboles, algoritmos de clasificación, memoria dinámica y estática, punteros, teoría de autómatas; incluso diferentes paradigmas de programación, como orientado a objetos, lógico, funcional, y puedo recordar toneladas de momentos en los que pude asociar esos conceptos a cómo una nueva pieza de tecnología que estaba aprendiendo se encontraba implementada detrás de escena.

Si eres un desarrollador autodidacta, te recomendaría que leyeras The Imposter ‘s Handbook 1 & 2, cubren todo lo que puedas necesitar 😀


Después de escribir este artículo, me siento mucho mejor acerca de mi progreso, cometí algunos errores aquí y allá, tal vez no utilicé mi tiempo correctamente. Pero aprendí y continuaré aprendiendo sin importar qué, porque eso es lo más importante que quiero que recuerdes de esto, sigue aprendiendo y te prometo que todo estará bien.


Patricio Ferraggi Ares
Hola, soy Patricio Ferraggi Ares

Soy un developer autodidacta Argentino que actualmente vive y trabaja en España. Intento mejorar diariamente, mientras ayudo a otros a hacer lo mismo.


← Back to my blog