Blog Post

Si quieres aprender Programación debes saber que...


Actualmente la tecnología es parte esencial de nuestra vida, prácticamente esta cambiando nuestra forma de comunicación, de pensar y de vivir. Por ello, ahora mas que nunca ha surgido esa oleada de startups y universidades que se empeñan por enseñar tecnologías de software.

Si estas leyendo esto, quizás estas pensando en incursionar en este mundo del desarrollo de software (ya sea web, escritorio, móviles, etc). Lo primero que debes tener en cuenta, es que la programación de software no solo se trata de aprender estructuras de datos, tipos y sintaxis, también incluye tener que aprender bases de datos, redes, sistemas operativos, seguridad informática, electrónica e incluso diseño.

¿Desanimado? No tienes porque...tampoco requieres ser un "todologo" y experto en todas esas áreas, debes especializarte en una de ellas, pero es imprescindible tenerlo presente al menos en un nivel Básico-Intermedio, de lo contrario seras tan mal programador como cuando iniciaste. Seguir el camino de la tecnología implica aprender de todo un poco, si no es que mucho...es como cualquier jugador de fútbol exitoso, tiene que manejar ambos pies, tratar de adaptarse a cualquier extremo de su posición natural, hacer trabajo defensivo y ofensivo, así como un entrenamiento constante.

Te confesaré que antes de entrar a la universidad, imagine que saldría programando varios lenguajes y preparado para resolver cualquier problemática que se presente dentro del contexto profesional, pero "Oh decepción". El primer error que uno comete al ingresar a cualquier universidad (NO importa que tan renombrada sea...es lo mismo) es pensar que los maestros te enseñaran las mejores practicas y secretos oscuros de la informática, sin embargo, te vas a encontrar con maestros buenos y malos, pero con el único objetivo de encausar tu entusiasmo, es decir, que de ellos no depende que tanto aprendas, si no mas bien, cuanto quieres aprender.

Entonces, ¿Vale la pena la universidad? la respuesta es sí; Estarás pensando que me contradigo, pero en realidad hay algo que nunca te va enseñar un libro y es...la ciencia. La universidad te va dotar de un análisis matemático frió y calculador, aunque tal vez en la practica de la programación a lo mucho veras sumas, restas y multiplicaciones, pero también podrás aprender metodologías de desarrollo de software, diseño de bases de datos, álgebra relacional y gestión de proyectos. Tampoco esto significa que no se pueda realizar ciencia fuera del ámbito académico, pero estaríamos hablando de casos muy aislados.

¿Sirven los videocursos online? Sí y No, la verdad no vas a encontrar un curso que te enseñe tan bien como un buen libro o documentación oficial, de hecho algunos videocursos populares no sirven de nada, solo te enganchan con publicidad engañosa y al comprarlos te llevas la decepción de que el material es pobre, contradictorio (si son impartidos por distintos instructores) y superficiales (aunque el curso diga "profesional" sigue siendo básico). Así que tienes que agarrar cariño por la lectura, si deseas aprender mucho...pero si aun deseas aprender mediante vídeos, solo fíjate que de verdad tenga el contenido que deseas, Udemy es buena opción porque tiene política de reembolso, en caso de que el contenido no supere tus expectativas. Pero recuerda que un solo curso "NO TE HARÁ PROFESIONAL", más aún si no sabes absolutamente nada, vas a terminar con las mismas dudas y tendrás que comprar mas cursos!

¿Que necesito para ser programador? Si llegaste hasta aquí, es porque tienes entusiasmo, pero debes cumplir con las siguientes características, según mi opinión basada en la experiencia:

  • Capacidad de análisis e inferencia extremo: Todo buen programador va mas allá del razonamiento común, no solo piensa en lo obvio, si no que también lo absurdo, porque debes saber que "El sentido común, a veces no es tan común". Supongamos el siguiente ejemplo: Si yo te pido que me digas como cocinas un huevo, seguramente me dirás, lo obvio...sacar los huevos del refrigerador, prender la sartén, poner aceite y esperar a que se caliente para echar el huevo, sazonar al gusto y servir . Es un procedimiento valido sin lugar a dudas, pero cuando programas software necesitas razonar mas...¿Que pasa si abro el refrigerador y no hay huevos?, ¿Que pasa si no hay aceite? ¿Que pasa si no hay gas o luz?, ¿Que pasa si se me cae el huevo al suelo?, en fin...podría parecer paranoico, pero la programación requiere pensar así, porque de lo contrario tus programas van a tener tantos bugs que desearías no haberlo hecho!
  • Paciente y perseverante: Debes tener estas dos virtudes bien presentes, ya que pasaras horas resolviendo algún problema en tu código y al final te darás cuenta que solo te faltaba un punto y coma . También la perseverancia aplica para tu aprendizaje, quizás al principio no entiendas nada y pienses que "NO ES LO TUYO" pero ahí es donde debes preguntarte ¿Me estoy esforzado lo suficiente para aprender?.
  • Ordenado: Quizás aprendiste rápido las estructuras y ya desarrollaste tus primeros programas, pero muchos de ellos seguramente están desordenados en cuanto a distribución de archivos y código, tienes que aprender a escribir código como gente decente (respetando los espacios, nomenclaturas, tabulaciones) y ordenar tus ideas para que tu programa no recolecte 100 archivos fuente y se convierta en spaguetti, cuando en realidad tu programa se reduce a 10 archivos.
  • Autodidacta: En realidad esta es la clave, seras tan bueno como quieras ser, si te gusta investigar y aprender. Yo he aprendido bastante la red social de programadores Github y del software libre en general, porque leer código de otras personas te ayuda a incrementar tu nivel de conocimiento, ya que la programación tiene distintas formas de solucionar un problema (quizás alguien lo hizo mejor que tú).
  • Conocimiento del idioma ingles: Aprenderlo hoy en día es prácticamente una necesidad, aunque para comprender algún libro es necesario llegar a un nivel técnico.
  • Adaptación al cambio: La tecnología cambia constantemente, hoy aprendes un lenguaje y te vuelves experto, al día siguiente sale una versión nueva donde hay clases y funciones que ya no existen o fueron cambiadas, por lo tanto debes volver a aprender y adaptarte al cambio (por lo regular los cambios son para beneficio nuestro).
  • Practicar mucho: No vas a llegar muy lejos si no practicas, la programación es "celosa" y si no le das la atención necesaria, no vas a lograr dominarla. Esto aplicaría casi para cualquier oficio o profesión, yo en particular aprendí leyendo y ejecutando, ademas de exponer mis creaciones al publico o amigos, aunque estas no fueran del todo impresionantes. Puedes empezar por realizar un software que solucione una necesidad particular para ti, por ejemplo...el mio fue un programa para apagar mi PC enviando un correo electrónico :D

Quizás existan mas características que hagan un buen programador, yo no soy un gran referente de la programación, pero según mi experiencia puedo hablar y si eres principiante toma estos consejos muy en cuenta, porque tarde o temprano me darás la razón :)

Que tan bueno seas depende de que tanto te esfuerces por serlo, puedes no ir a la universidad y ser el mejor programador, puedes ir a la mejor universidad y ser el mejor, en este ámbito vale mas la experiencia a veces que demasiados títulos y certificados (aun así siguen siendo buenos).

Si tu meta es ser Profesional, tomar cursos y leer libros no son suficientes, tienes que empezar a crear software y practicar horas y horas (seria buena idea que apoyes el software libre).

Así que reflexiona si estas listo para aprender o estudiar programación, si eres emprendedor, plantea los pros y contras, quizás sea mejor contratar a alguien que lo haga por ti .

Mi intención no es desanimarte, si no mas bien guiarte y darte algunos tips.

Comparte en:    
Aarón Díaz R Software Developer

Soy desarrollador de software con experiencia en bases de datos y lenguajes de programación como Python, Java SE, Javascript, C y PHP.

  Comentarios



"El ser de las cosas, no su verdad, es la causa de la verdad en el entendimiento."

- Santo Tomás de Aquino