Cosas que me hubiese gustado saber cuando empecé a programar, Parte 8

Sí, más Cosas que me hubiese gustado saber cuando empecé a programar, 8va edición.

Puedes encontrar el primer artículo de la serie aquí.

Y el artículo anterior aquí

Programar no se trata de memorizar, se trata de entender

Cuando empecé a programar me sentía muy frustrado cuando trataba de escribir cosas simples solo para descubrir que había olvidado algunos detalles de sintaxis. Constantemente sentía como si estuviera retrocediendo en mi aprendizaje porque sin importar qué tan duro tratara, seguía olvidando los nombres de los métodos de la biblioteca estándar o los argumentos que toman. También me sentía un poco avergonzado por necesitar tener varias páginas de documentación abiertas en mi navegador.

Hoy en día realmente no me importa, sé que programar no se trata de memorizar, se trata de entender. Nuestro cerebro tiene una capacidad limitada que es mejor usada en cosas distintas a la sintaxis obscura. Claro, después de algunos meses usando mucho un lenguaje de programación muchas cosas se volverán memoria muscular, pero no hay nada malo en consultar la documentación, está ahí para ayudarte después de todo. Al final del día, nos pagan por construir cosas que proporcionan valor, así que es más importante saber dónde encajan las cosas y cuándo usarlas. Si olvidas un nombre o lista de argumentos, ¡solo ve y lee la documentación!

Culpo parcialmente esta paranoia a los métodos de evaluación usados en nuestra educación. En muchos lugares, se te requiere memorizar vastas cantidades de información que está fácilmente disponible en todas partes. Si olvidas una ecuación no importa qué tan bien entiendas un concepto, estás perdido.

La vida real es diferente, nadie esconderá tus libros y cortará tu acceso a internet en el trabajo (a menos que la gerencia esté loca). Enfoca tu proceso de aprendizaje en entender los conceptos más importantes y cuándo usarlos. Si entiendes esto, entonces la sintaxis se vuelve algo secundario.

A veces, los lenguajes de programación usan nombres diferentes para el mismo concepto, pero un programador experimentado no tiene problema cambiando entre lenguajes. Esto es resultado de entender los conceptos subyacentes, y es la razón por la que los programadores experimentados pueden aprender nuevos lenguajes con muy poco esfuerzo.

Así que no te sientas frustrado si olvidas algunos detalles pequeños, todos lo hacemos. Aprende los conceptos, practica mucho y consulta toda la documentación/artículos/foros/respuestas que necesites, están ahí para ayudarte y todos los usan, incluso (especialmente) los expertos.

Sé parte de la comunidad

La comunidad de desarrollo de software es sorprendentemente útil y amigable. Entre más pronto formes parte de ella mejor, ya que pueden ayudarte si te atascas y guiar tu proceso de aprendizaje.

Hay muchas maneras de hacer esto, y no necesitas limitarte a una sola opción:

  • Participa en foros en línea u otras formas de comunidades virtuales. Reddit, StackOverflow, y Quora son opciones muy populares, pero hay infinitas otras comunidades en línea con mucha gente genial y útil.
  • Involúcrate con tu comunidad local de desarrolladores. Podría incluso haber un lugar en tu ciudad donde los programadores se reúnen y organizan eventos u otras actividades centradas en compartir nuevas ideas y proyectos geniales. A veces incluso organizan hackathons, que son grandes oportunidades para aprender cosas nuevas y probar tus habilidades.
  • Contribuye a un proyecto de código abierto. Esta es una manera realmente productiva de perfeccionar tus habilidades y aprender cómo es trabajar con otros desarrolladores en un proyecto. Ve a GitHub y encuentra las listas de proyectos que aceptan contribuciones de principiantes. Las personas de la comunidad del proyecto pueden ofrecerte guía y ayudarte a mejorar.

Si puedes trata de encontrar un mentor, ayuda mucho en guiar tu carrera y proporcionar consejos útiles. El lugar obvio es buscar en una de las reuniones de programadores en tu área, pero la mentoría en línea se está volviendo más y más popular. Solo necesitas encontrar una persona con el tiempo y la motivación para proporcionarte guía, lo cual no es algo raro en esta industria.

¡Diviértete mucho!

Desarrollar software es muy divertido, y es la razón principal por la que empecé a escribir código hace unos años.

Hay algo sobre crear una pieza de software funcional y bien escrita, algo que te hace regresar por más. La actividad de crear algo nuevo involucra mucha creatividad y resolución de problemas, tanto que en algunas situaciones se siente como resolver un rompecabezas. Es más, ver una pieza de código que escribiste en producción es una experiencia extremadamente gratificante.

Ser capaz de escribir código te permite hacer casi cualquier cosa dentro de una computadora. Las posibilidades creativas son infinitas, y las cosas que creas solo están limitadas por tus habilidades y conocimiento. Hacer estas pequeñas piezas de pensamiento materializado es algo que después de años continúa siendo una fuente enorme de disfrute para mí.

Y sí, es cierto, escribir software es difícil, y aprender cómo hacerlo bien es un proceso que toma años. Esto, por supuesto, será mucho más fácil si disfrutas programar. Acumularás cientos de horas de experiencia mientras te diviertes, lo cual eventualmente te llevará a convertirte en un programador de clase mundial. ¡Así que ve y elige un tema de interés y escribe algo divertido!

Bueno, eso es todo por ahora

Quería escribir esta serie para compartir algunas de las cosas más importantes que he aprendido sobre desarrollo de software en los últimos años. Quería poner especial énfasis en el lado de carrera/humano del desarrollo de software, y no enfocarme demasiado en los aspectos técnicos. Todas estas son lecciones que me hubiera gustado conocer desde el principio, así que espero que cometas muchos menos errores de los que yo cometí, y encuentres mucho más pronto lo que quieres de tu carrera en desarrollo de software.

Aprenderás todas las cosas técnicas con el tiempo, solo toma algo de esfuerzo y consistencia. Después de todo, el desarrollo de software no es magia, y creo que cualquiera con la motivación correcta y ética de trabajo puede convertirse en un desarrollador espléndido. Ah, y asegúrate de pasar tiempo perfeccionando tus habilidades blandas, te serán útiles más tarde.

Realmente espero que algunas de las cosas que compartí en la serie sean útiles en tu carrera. ¡Así que ve ahora y escribe algo de código, y diviértete mucho!

Qué hacer después:

  • Comparte este artículo con amigos y colegas. Gracias por ayudarme a llegar a personas que podrían encontrar útil esta información.
  • Envíame un email con preguntas, comentarios o sugerencias (está en la página Autor)

Juan Luis Orozco Villalobos

¡Hola! Soy Juan, ingeniero de software y consultor en Budapest. Me especializo en computación en la nube e IA, y me encanta ayudar a otros a aprender sobre tecnología e ingeniería