Cómo practicar la resolución de problemas para el desarrollo web sin escribir código

 

Si te estas tomando la decision de que tu próxima movida es cambiar de carrera a desarrollo web, probablemente haz realizado búsquedas sobre cuales son las habilidades personales que requieres. Haciendo una búsqueda rápida en Google sobre habilidades blandas para programar, encontrarás que resolicón de problemas es una de las mas listadas.

* Este fué el primer artículo que me salió al hacer la búsqueda “habilidades blandas para programar” el 22 de mayo de 2019. Este segundo artículo lo encontré muy bueno en cuanto a las habilidades blandas que puede tener un programador así que se lo recomiendo 😄.*

Si resolución de problemas te recuerda a los exámenes de estandarizados de la escuela superior. Si estas dudosa (o) de comenzar tu carrera programando la web porque no tuviste una buena calificación o porque tienes miedo de no tener la contestación correcta, debes de parar con esos pensamientos.

Es verdad que puedes encontrarte problemas de matemáticos cuando estas desarrollando un producto digital. Pero no es un problema que te encuentras a diario o en todo proyecto. De echo, muchos de los problemas que encontrarás, no requieren matemáticas.

También, puedes dejar el miedo en la gabeta en cuanto a no tener la contestación correcta. Una programadora no escribe código correcto. Un código correcto implica que, como la matemática, solamente de pude tener una sola contestación. Dado a que se puede resolver el mismo problema de múltiples formas, una programadora escribe el mejor código que pude escribir.

Los problemas que vas a encontrar en el mundo del desarrollo web require imaginación y mapas mentales porque los procesos computacionales son abstractos. Así que mientras mas practicas escribir programación, más te familiarizas con los procesos para que cuando llegue un problema, sea mas fácil de entender.

Pero no necesitas escribir código para empezar a agudizar tu habilidad de resolver de problemas para propósitos de desarrollo web. Dado a que la computadora sigue una lista de instrucciones, resolver problemas se mueve alrededor de entender los pasos de cada instrucción.

Vamos a tomar tres ejemplos que te ayudarán a tomar cualquier tarea del día a día, y subdividirla en diferentes pasos. Mantén esta metodología en mente cuando comiences a escribir código para que veas cuan mas fácil será detectar alguna falla y resolverla.

Paso: Muebles que construyes tu misma (o) y recetas de comida

Escribir, leer, y seguir instrucciones para montar un mueble, ó preparar una receta de comida, son buenos ejemplos para demostrar la importancia de ir paso a paso por los procesos para obtener los resultados deseados.

Estas actividades requieren que las instrucciones estén lo suficientemente detalladas como para que otra persona, o uno misma (o) pueda seguirlas en futuras ocasiones. Así que si eres la persona que lee o escribe las instrucciones es esencial entender el orden de ensamblar partes, o preparar la comida para entender problemas futuros.

Digamos que monté una silla, y esa silla tiene un sonido “squeaky”, ó cociné un mofongo relleno de pollo que no sabe a lo que esperaba. Si quisiera entender en donde fallé para que no vuelva a ocurrir, comenzaría por releer desde el principio las instrucciones para corroborar que hice en cada paso.

Lo mismo ocurre cuando estas programando. Aunque parezca que sea más largo el proceso, ir línea por línea del código que escribiste cuando buscas la causa del fallo te ayudará a resolver el problema mas rápidamente.

Una vez encuentras la causa del fallo, queda en la combinación de tu creatividad y entendimiento de esas instrucciones para lograr un resultado para que te ayude a crear multiples soluciones.

Segmentar: Orden de operaciones matemáticas

Vamos a recordar brevemente cual es el orden de operaciones matemáticas. Estos son un conjunto de reglas que deciden cuál método (suma, resta, etc) se resuelve primero al momento de evaluar una ecuación. Las ecuaciones se resuelven en el siguiente orden:

  1. Paréntesis
  2. Exponentes y raíces
  3. Multiplicación y división
  4. Suma y resta

Si tenemos una ecuación como la siguiente:

(3 * 4) + (2 * 6) 

Siguiendo el orden antes mencionado, resolver la ecuación seria así:

(3 * 4) = 12 // Primer paso - Resolver primer paréntesis
(2 * 6) = 12 // Segundo paso - Resolver segundo paréntesis
12 + 12 = 24 // Tercer paso - Sumar resultados de los primeros 2 
             //  pasos

Observa como este método de resolver el problema, require de desestructurar la ecuación (3 * 4) + (2 * 6) . Aisla cada segmento en (3 * 4), (2 * 6) y (12 + 12). Luego resuelve cada segmento entre paréntesis, y finalmente resolver la operación entre segmentos.

No sólo los lenguajes de programación siguen el orden de operación matemáticas, sino que casi todos los problemas que tienen que ver con código se puede segmentar o aislar en problemas mas pequeños.

Cada vez que me recuerdo a mi misma que debo de tratar de segmentar aun más el problema que trato de resolver mientras escribo código, siento que llego más rápido a ese momento de ahá.

Un inicio de sesión de usuario típico

Vamos a lo que vinimos,
¡Ir a través de un problema de desarrollo web sin tener que codificar!

En el artículo El pedestal de programación, describí de una manera generalizada el proceso de crear una cuenta de usuario.

Por cuestiones de seguir el próximo ejemplo, vamos a asumir que sabes crear una cuenta de usuario en línea, y ahora quieres acceder a tu cuenta. Pero, ¡oh, oh! No puedes acceder y no hay un mensaje que refleje el error.

Podemos utilizar las técnicas de ir paso a paso y segmentar como describí anteriormente para investigar cuál puede ser el problema, además de crear posibles soluciones.

¿Cuáles son los pasos que usualmente sigues para acceder a tu cuenta?

  1. Localizar la sección de inicio de sesión.
  2. Escriba nombre de usuario y contraseña.
  3. Haz click en el botón de Enviar.
  4. Esperar a que la página web muestre el perfil de la cuenta.

De esos pasos, ¿hay alguno que pueda segmentarse aún más?

Definitivamente puedes segmentar el segundo paso en dos pasos individuales:

  1. Escriba nombre de usuario.
  2. Escriba contraseña.

También puedes segmentar el tercer paso en:

  1. Haz click en el botón de Enviar.
  2. Botón de Enviar llama función.
  3. La función valida la data.
  4. La función envia data a la base de datos.

Así que comencemos nuevamente a ir paso por paso por el proceso de iniciar una sesión:

  1. Localizar la sección de inicio de sesión.
  2. Escriba nombre de usuario.
  3. Escriba contraseña.
  4. Haz click en el botón de Enviar.
  5. Botón de Enviar llama función.
  6. Función valida la data.
  7. La función envia data a la base de datos.
  8. Esperar a que la página web muestre el perfil de la cuenta.

¡Bien! Ahora el proceso parece como si fuera a tomar mas tiempo. Pero recuerda que mientras mas detallado estén los pasos, con más facilidad podrás hallar posibles errores.

Ahora, supongamos que esta página web en particular tiene unos requerimientos de caracteres para el nombre de usuario. También supongamos que luego de leer los requerimientos de caracteres, recordaste que la contraseña que enviaste anteriormente era una incorrecta. Luego de corregir la contraseña, la función valida la información y obtienes acceso a tu cuenta de usuario.

Reconozco que el ejemplo tiene muchas suposiciones. El punto es cuando llegue un problema, siempre verifica los pasos que llevaste a cabo, y luego trata de segmentar aún mas alguno de esos pasos.

Practica estas técnicas con tus actividades diarias. Así, cuando empieces a escribir código, escribir programas y depurar vendrá fácilmente porque entrenaste a tu cerebro a ir paso a paso y segmentar.

Punto aparte

Este post lo escribí mientras escuchaba el nuevo album de Chemical Brothers No Geography. He escuchado este album tantas veces desde que salió que puedo escribir sobre mis pensamientos mientras lo escucho. De lo contrario, se me haría difícil de ignorar la música y estaría haciendo videos musicales mentales.

¿Qué opinas de estas técnicas? Sabes de otras técnicas que puedas aplicar para resolver problemas de desarrollo web siun tener que escribir código? ¡Comenta!

Leave a Reply

Your email address will not be published. Required fields are marked *