Los primeros pasos de cualquier actividad suelen ser intimidantes, y si hablamos de cuestiones como la programación, el panorama se pone aún peor. Hay muchísima información, y esto que puede parecer beneficioso, termina resultando contraproducente ya que es muy fácil perderse o tomar caminos que no nos llevan a nada.
Tabla de Contenidos
- 1. Perder el miedo a equivocarse
- 2. ¿Cuál es el mejor lenguaje de programación?
- 3. Programar no es sólo escribir código
- 4. ¿Es difícil programar?
- 5. Desarrollar pensamiento lógico
Me interesa que te lleves este concepto, fué algo que me dijo la primer profesora que tuve, en un curso de Java, y hasta el día de hoy lo sigo aplicando.
A programar se aprende programando.
Esto, que puede parecer un simple juego de palabras, significa que está bien incorporar teoría, de hecho es un pilar fundamental, pero sin la práctica no tiene valor.
Está perfecto por ejemplo buscar en Google “cómo hago mi primera página web“, pero si lo único que genera eso es que copies y pegues código, el conocimiento que puedas sacar de ahí es prácticamente nulo.
1. Perder el miedo a equivocarse
De la idea anterior, se desprende algo fundamental, y es perder el miedo a equivocarse.
Los errores te van a permitir entender cómo se hacen las cosas, vas a aprender cómo solucionar los errores y te van a ir dando más herramientas para progresar.
Planteemos un caso hipotético, supongamos que estás siguiendo un curso o tutorial, terminás de verlo y lo único que hacés es copiar y pegar el código que hizo tu instructor. Lo probás, funciona y listo, todos felices!
Pasás al siguiente módulo, y hacés lo mismo, y así continuamente. ¿Creés que de verdad estás progresando o aprovechando esta etapa de aprendizaje? La respuesta es no!
1.1 El enfoque correcto para aprender
Ahora, volvamos al mismo caso hipotético, pero en lugar de hacerlo todo tal cual lo plantea el instructor, comenzás a experimentar y probás resolverlo de otra manera aplicando los conceptos explicados.
Seguramente tengas algún error, quizá las cosas no se ven bien, o ni siquiera funcionan. Genial! Tenés que investigar a qué se debe y cómo solucionarlo. De esta forma, incorporaste conocimiento mucho más valioso y sólo tuviste que cambiar tu postura frente al proyecto.
Esto va a forjar una actitud crítica sobre las cosas y vas a poder plantear varias soluciones a un mismo problema.
2. ¿Cuál es el mejor lenguaje de programación?
Esto es un concepto erróneo sin importar desde dónde se lo mire. En primer lugar, cada lenguaje tiene sus aplicaciones y es fuerte en determinada área, entonces es importante saber qué es lo que querés desarrollar o cuál es el ámbito profesional en el que te gustaría desenvolverte.
Por ejemplo podríamos hablar de desarrollar una app mobile Android, a día de hoy los principales lenguajes para esto son Java y Kotlin. El problema con esto es que son lenguajes un tanto pesados para aprenderlos rápido, e incluso pueden quedar grandes para aplicaciones sencillas.
Como alternativa podríamos utilizar Javascript + CSS + HTML que son lenguajes más amigables y requieren menos tiempo de desarrollo, luego empaquetar todo con un framework (como por ejemplo Córdova) y listo!
Y esto se potencia aún más en los tiempos que corren, donde se crean nuevos lenguajes y frameworks constantemente. Por eso es importante no intentar encontrar el mejor lenguaje, sino sentar buenas bases para resolución de problemas, luego el medio por el que lo hagamos resultará más sencillo de definir.
En esta entrada traté más en profundidad el tema para que puedas elegir tu lenguaje de programación ideal https://blog.cesarmansilla.com.ar/cuales-son-los-mejores-lenguajes-de-programacion-de-la-actualidad/
3. Programar no es sólo escribir código
Empecemos por la definición más difundida:
Programar es darle instrucciones a una máquina para resolver un problema.
Partiendo de esto, lo primero es detectar el problema, ya que si no sabemos qué tenemos que resolver, ¿cómo le vamos a encontrar solución?
Y puede tratarse de un error en algo ya desarrollado, o bien un nuevo requerimiento. Un problema no necesariamente es algo malo.
3.1 Simplificar los problemas
Una vez que detectamos el problema, debemos descomponerlo en pasos para llegar a su solución. Esto nos volverá a entregar más problemas, pero esta vez más pequeños, ¿te suena la frase «divide y vencerás«?
Todo este análisis previo es super importante y no requiere de escribir código. Se trata de analizar, organizar las tareas, leer documentación, se trata de detectar requerimientos que deben cumplir nuestros clientes. Por eso, antes de empezar a escribir código, asegurate de haberle dedicado un tiempo a esta etapa.
3.2 Pensar en datos
Si bien todo lo anterior es cierto y es lo que más repiten los instructores, a mi me resulta mejor hablar de datos a la hora de pensar la programación.
Ya sea una web, un juego, o el programa que se te ocurra, siempre utilizará datos. Si logramos hacer esta abstracción en nuestra cabeza, y entender que lo que debemos hacer es capturar y manipular datos, podremos acercarnos a la programación desde un enfoque menos técnico.
4. ¿Es difícil programar?
4.1 Conocimientos previos
Dependerá de nuestra formación, experiencia y conceptos o ideas que tengamos al respecto. Si estudiamos en un instituto técnico, es probable que resulte más sencillo entrar en este mundo.
Pero en el caso de que no sea así tampoco es una traba, en mi caso personal, mis estudios estaban orientados a arte, diseño y comunicación. Sabía que quería desarrollarme en el área informática, pero no tenía claro el camino y por eso fuí por el lado de usuario de software, hasta que me topé con el desarrollo web y allí comenzó mi carrera.
4.2 Paciencia
Principalmente el comienzo puede ser árduo, y más si no seguimos una guía o plan de estudios. Los temas por aprender y el amplio abanico de posibilidades pueden terminar por abrumarte.
Si cambias tu enfoque y lo planteas como una serie de pasos, y además sos consciente de que el camino el largo se te hará más llevadero.
4.3 Expectativas
¿Qué esperás de la programación? Dependerá de tus necesidades, si no tenés conocimientos y estás apurado por incorporarte a un empleo, quizá debas bajar un poco las expectativas, comenzar como trainee y luego ir escalando.
Si en cambio buscás especializarte en algo, podés subir la vara y que esto te aliente a mejorar, siendo consciente de que requerirás un poco más de tiempo.
4.4 Control de frustración
Los errores son parte del día a día y estarán presentes durante toda tu carrera. Obviamente, a medida que ganes experiencia, los errores deberían disminuir, pero por más que sean pocos o pequeños, allí estarán.
Trabarse en un problema y que te dé vueltas en la cabeza será algo común, pero si lográs calmarte, distender y volver a encararlo, pensarlo desde otra perspectiva o pedir ayuda, podrás minimizar la frustración y salir adelante.
5. Desarrollar pensamiento lógico
Lo principal no es el código ni en lenguaje, sino lograr desarrollar un pensamiento lógico, tener la capacidad de resolver problemas.
Divide y vencerás
Lograr resolver un problema descomponiéndolo en una serie de pasos es el centro de la programación. De esta tarea analítica luego se desprenderán conceptos como funciones, clases, parámetros, variables.
Estas serán nuestras herramientas, pero si no tenemos claro para que usarlas, sólo serán conceptos inconexos o sin demasiado sentido.
Para lograr esto de descomponer los problemas, es muy importante dedicar tiempo a analizar. No buscar escribir código lo antes posible y a medida que lo hacemos ir pensando cómo resolver lo que se presente.
Tampoco irse al otro extremo de caer en parálisis por análisis. Pensar tanto que incluso sumamos problemáticas dónde no las había o dónde nuestro sistema no tiene injerencia.
Hay que encontrar un punto intermedio. Acotar los problemas o requerimientos, luego plantear qué se necesita para resolverlos y recién ahí darle curso al desarrollo del proyecto.