Regularmente me confundo con las cosas más básicas y simples de la vida. Les daré un ejemplo: la forma en que organizo mi ropa. Cuando la guardo, pienso: bueno, tengo tres espacios para ello. Una barra para colgar los pantalones, un cajón para las medias, y al fondo un espacio para las camisetas. ¿Un vestido? ¿Un vestido va colgado en el espacio en el que pongo los pantalones? No lo sé… Por mucho tiempo me he dado una respuesta diferente cada vez. Ordenar la ropa es un ejemplo simple de un algoritmo, un conjunto de instrucciones que se ordenan de manera lógica para resolver un problema. No hay algoritmos buenos o malos, solo son unos más eficientes que otros.
![](https://www.enter.co/wp-content/uploads/2020/10/Helena-Corte%CC%81s-Go%CC%81mez-1-300x199.jpg)
Desde que programo, hace muy poco tiempo, he estado explorando estas acciones en el día a día que, si se aplican diferente, llevarán a resultados diferentes. Decidir entre uno u otro camino es lo que hacen los informáticos con frecuencia, así que sus herramientas podrían ser de interés para cualquier persona. “Por más insignificante que sea una tarea, siempre hay una mejor manera de hacer las cosas”, me decía un compañero con el que estudio C. Y para ahorrar tiempo o espacio en el clóset, serviría pensar una lista propia de pasos ordenados de forma lógica.
También te puede interesar: Científicos de datos, una carrera de moda.
Por eso, la metodología de Holberton propone a sus estudiantes enfrentar problemas todos los días. Porque para un programador es clave desarrollar estas habilidades antes que aprender cualquier lenguaje de programación específico. Cursos sobre C o Python abundan en Internet, pero la habilidad de resolver problemas se debe ejercitar como un músculo y eso puede acelerarse al confrontarlos con frecuencia.
Incluso estas habilidades podrían ser de interés para cualquier persona con el fin de tomar mejores decisiones en el día a día. Al preocuparse por la eficiencia, pensar en términos de algoritmos es útil en algunas aristas de la vida; aunque hay casos en los que no es necesario ahorrar tiempo o recursos, por ejemplo, en el aprendizaje o el amor.
Algoritmos en la vida cotidiana
Todos los días se usan algoritmos para realizar tareas cotidianas, pero no somos conscientes de que los estamos usando porque los tenemos aprendidos e integrados a la vida diaria. Además, es posible descubrir otros que ayuden a resolver problemas complejos o nuevos. Esto es en lo que estamos trabajando en Holberton School: sabemos que es necesario analizar el problema, determinar los elementos que se tienen y los resultados a los que se quiere llegar, pasando por los posibles estados no previstos, en donde se debe tomar una u otra decisión de acuerdo a la situación que se presente.
Pero ¿cómo aplicar esto en la vida cotidiana? Por ejemplo: ¿Cómo recorrer rápidamente el supermercado?, ¿por qué no le gusta a nadie un estado de Facebook o Instagram que publicó?, ¿cómo ordenar alfabéticamente los libros de forma rápida?
También te puede interesar: Ya puedes inscribirte al Bootcamp de Laboratoria
Ali Almossawi responde estas preguntas en las que profundiza más en uno de sus libros “Malas decisiones” (2017). Este exalumno del MIT y del Carnegie Mellon que dirige un equipo de ingeniería y diseño en Apple, sugiere en su libro que “un algoritmo es un proceso con pasos inequívocos que tiene un principio y un final, y hace algo útil”. Él asegura que los algoritmos te permiten vivir de una manera más feliz y a pensar mejor. Y esto es muy útil hasta para los programadores experimentados.
La clave acá me ha empezado a mostrar Holberton, es optimizar para la eficiencia: preocuparse por el tiempo o el espacio. De este modo, si vas al supermercado y solo tienes 15 minutos, Almossawi te sugiere saber cómo es la tienda de antemano. Si sabes cómo es, eso debería determinar tu lista de compra.Ordena los artículos de manera que no tengas que caminar dos veces por el mismo pasillo.
Lo intrigante, dice Almosawi, es que una tienda se podría comparar con un gráfico (una abstracción de la informática y las matemáticas que define cómo están conectadas las cosas), y que navegar por los pasillos de una tienda podría ser análoga a recorrer un gráfico.
Para las preguntas de cómo ordenar tu armario o cómo conseguir más seguidores en tus redes sociales también se puede apelar a los algoritmos. En el caso de conseguir seguidores el programador de Apple habla del concepto de enlaces y redes: “Es mucho más fácil llegar a la gente que podría interesarte y que podría estar interesada en ti si puedes empezar dentro de la bola de enlaces que conecta a esas personas, en lugar de empezar en un punto al azar”.
En términos que son relevantes para los algoritmos, se podría decir que el desafío de hacer que algo se vuelva viral es realmente conseguir esa primera chispa. Y para ello, una persona que esté conectada con el mayor número de personas que probablemente se comprometan con esa publicación, necesita compartirlo.
En cualquier caso, desde asuntos simples hasta otros más retadores como la creación de un videojuego, listar una serie de pasos antes de lanzarse al ruedo, seguro permitirá ahorrar recursos o tiempo, la nueva moneda de oro de esta sociedad.
Enter.co/dev es una colaboración con Coderise.org y Holberton School Colombia para promover la comunidad de programación en Colombia.
Imagen: Vía Pexels.